Биллинговая система Nodeny

Главная категория => Изменяем NoDeny+ => Тема начата: Efendy от 21 Января 2015, 12:45:09



Название: Добавляем привилегию на изменение услуг клиента
Отправлено: Efendy от 21 Января 2015, 12:45:09
Описание привилегий находится в файле /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#modify
http://app.nodeny-plus.com.ua/docs/develop/patching.html


Название: Re: Добавляем привилегию на изменение услуг клиента
Отправлено: SeMant от 25 Июня 2015, 08:42:35
 А как быть, если мне нужно для разных групп разные привелегии ? К примеру есть сотрудник, у которого должен быть очень ограниченый доступ для группы Клиенты, но полный для группы Свичи. Или только создавать две учётки админа с разными привилегиями и доступом к соответствующей группе?


Название: Re: Добавляем привилегию на изменение услуг клиента
Отправлено: cojiict от 25 Июня 2015, 15:02:01
А как быть, если мне нужно для разных групп разные привелегии ? К примеру есть сотрудник, у которого должен быть очень ограниченый доступ для группы Клиенты, но полный для группы Свичи. Или только создавать две учётки админа с разными привилегиями и доступом к соответствующей группе?
що означеє " очень ограниченый доступ для группы Клиенты"?
конктретизуйте!


Название: Re: Добавляем привилегию на изменение услуг клиента
Отправлено: SeMant от 25 Июня 2015, 16:39:58
що означеє " очень ограниченый доступ для группы Клиенты"?
конктретизуйте!
В одной группе только просмотр, а в другой возможность создания и редактирования учётных данных.


Название: Re: Добавляем привилегию на изменение услуг клиента
Отправлено: Valygar от 07 Сентября 2016, 11:24:55

 Для этого создаем патч /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


Создал даный файл, установил
Код:
Файл patch.ajUserSrvChange.pl
  { file=>'web/ajUserSrvChange.pl',replace=>'' }
Но всеравно получаю
Код:
1539 calls.pm::chk_privil_or_die
У текущего администратора нет привилегии `SuperAdmin`


Название: Re: Добавляем привилегию на изменение услуг клиента
Отправлено: Valygar от 07 Сентября 2016, 12:09:19

 Для этого создаем патч /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


Создал даный файл, установил
Код:
Файл patch.ajUserSrvChange.pl
  { file=>'web/ajUserSrvChange.pl',replace=>'' }
Но всеравно получаю
Код:
1539 calls.pm::chk_privil_or_die
У текущего администратора нет привилегии `SuperAdmin`
Нужно патчить файл ajUserSrvForm.pl


Название: Re: Добавляем привилегию на изменение услуг клиента
Отправлено: cojiict от 07 Сентября 2016, 14:15:28
chk_privil_or_die - перевіряє привілеї адміна.
'SuperAdmin'  - доступна тільки для суперадміна.