Разделение прав на создание тикетов в бэкэнде
Здравствуйте. Сталкивался ли кто-нибудь с разделением прав контент-менеджеров/копирайтеров? Проблема в том что контент создается в бэкэнде в виде тикетов в нескольких разделах. Каждый копирайтер может писать статьи (тикеты) в любые разделы. Таких контент-менеджеров много, и очень бы не хотелось, чтобы один менеджер мог править/удалять ресурсы другого (уже были случаи). Поэтому хочется чтобы каждый копирайтер мог работать только с тем что сам создал. Прошу поделиться решением, мне, дизайнеру, это не накодить, в общих чертах я понимаю, но API мне понять сложно.
Мне сказали, что вроде нельзя так сделать встроенными средствами и разделением прав, нужен плагин.
В ходе активного поиска я что-тонашел, но не очень понимаю что нужно править (автор Николай Ланец)
Мне сказали, что вроде нельзя так сделать встроенными средствами и разделением прав, нужен плагин.
В ходе активного поиска я что-то
<?php
switch($modx->event->name){
case 'OnManagerPageBeforeRender':
switch($scriptProperties['controller']->config['controller']){
/*
Проверяем права на редактирование документов
*/
case 'resource/update':
// Проверяем наличие настройки allow_to_update (задается в настройках пользователя)
// В ней мы перечисляем, какие документы пользователю можно редактировать
// Если настройка задана, но id документа отсутствует в перечисленных разрешенных,
// То возвращаем ошибку доступа
if($allow_to_update = $modx->getOption('allow_to_update')){
if(!is_array($allow_to_update)){
$allow_to_update = explode(",", $allow_to_update);
$allow_to_update = array_map('trim', $allow_to_update);
}
//
if(!in_array($scriptProperties['controller']->scriptProperties['id'], $allow_to_update)){
$scriptProperties['controller']->failure('Доступ запрещен');
return;
}
}
break;
}
//print_r($scriptProperties['controller']->config);
//print_r($scriptProperties['controller']->scriptProperties);
break;
}