Описание привилегий находится в файле /usr/local/nodeny/web/lang/RU_admin.pl и /usr/local/nodeny/web/lang/UA_admin.pl:
{ priv => номер привилегии, title => 'описание привилегии' },
Например:
{ priv => 55, title => 'Отправка сообщения' },
Если вы хотите создать новую привилегию, то необходимо создать патчи для этих файлов, создаем файл
/usr/local/nodeny/modules/MyNetwork/patch.RU_admin.pl
#<ACTION> file=>'web/lang/RU_admin.pl',hook=>'priv_descr'
{ title => 'Новые привилегии' },
{ priv => 400, title => 'Изменение данных подключенной услуги' },
#<ACTION> file=>'web/lang/UA_admin.pl',hook=>'priv_descr'
{ title => 'Новые привилегии' },
{ priv => 400, title => 'Изменение данных подключенной услуги' },
Здесь я не стал переводить на украинский - сделаете сами. Номер привилегии берите больше 400, чтобы не занять номера для привилегий, которые я создам в будущем. 'Новые привилегии' можете, есстественно, заменить на любой другой заголовок.
/usr/local/nodeny/web/ajUserSrvChange.pl - файл, который меняет данные услуги. В нем нам необходимо заменить строку
Adm->chk_privil_or_die('SuperAdmin');
на
Adm->chk_privil_or_die(400);
Для этого создаем патч /usr/local/nodeny/modules/MyNetwork/patch.ajUserSrvChange.pl:
#<ACTION> file=>'web/ajUserSrvChange.pl',replace=>''
Adm->chk_privil_or_die('SuperAdmin');
#<REPLACE>
Adm->chk_privil_or_die(400);
sudo perl install.pl -x
Теперь можете попробовать изменить у клиента данные его услуги - не получится, если не выдадите себе нужную привилегию.
Но мы забыли, что для юзабилити неплохо бы скрывать кнопку "Изменить" при просмотре данных услуги когда нет привилегии 400. Создаем патч /usr/local/nodeny/modules/MyNetwork/patch.ajUserSrvInfo.pl:
#<ACTION> file=>'web/ajUserSrvInfo.pl',replace=>''
if( Adm->chk_privil('SuperAdmin') )
#<REPLACE>
if( Adm->chk_privil(400) )
Дополнительная информация по теме:
http://app.nodeny-plus.com.ua/docs/faq.html#modifyhttp://app.nodeny-plus.com.ua/docs/develop/patching.html