Биллинговая система Nodeny
29 Марта 2024, 06:46:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Добавляем привилегию на изменение услуг клиента  (Прочитано 10631 раз)
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4794



Просмотр профиля
« : 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
Записан
SeMant
NoDeny
Старожил
*

Карма: 4
Offline Offline

Сообщений: 266



Просмотр профиля Email
« Ответ #1 : 25 Июня 2015, 08:42:35 »

 А как быть, если мне нужно для разных групп разные привелегии ? К примеру есть сотрудник, у которого должен быть очень ограниченый доступ для группы Клиенты, но полный для группы Свичи. Или только создавать две учётки админа с разными привилегиями и доступом к соответствующей группе?
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #2 : 25 Июня 2015, 15:02:01 »

А как быть, если мне нужно для разных групп разные привелегии ? К примеру есть сотрудник, у которого должен быть очень ограниченый доступ для группы Клиенты, но полный для группы Свичи. Или только создавать две учётки админа с разными привилегиями и доступом к соответствующей группе?
що означеє " очень ограниченый доступ для группы Клиенты"?
конктретизуйте!
Записан
SeMant
NoDeny
Старожил
*

Карма: 4
Offline Offline

Сообщений: 266



Просмотр профиля Email
« Ответ #3 : 25 Июня 2015, 16:39:58 »

що означеє " очень ограниченый доступ для группы Клиенты"?
конктретизуйте!
В одной группе только просмотр, а в другой возможность создания и редактирования учётных данных.
Записан
Valygar
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 9


Просмотр профиля
« Ответ #4 : 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`
Записан
Valygar
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 9


Просмотр профиля
« Ответ #5 : 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
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #6 : 07 Сентября 2016, 14:15:28 »

chk_privil_or_die - перевіряє привілеї адміна.
'SuperAdmin'  - доступна тільки для суперадміна.
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!