2016-02-06 3 views
1

Я пытаюсь изменить список контроля доступа для Оставших запросов для одобрения в модуле «Оставшие менеджеры».Список контроля доступа «Редактирование правил безопасности Odoo»

Мне нужно сделать запрос на отпуск, чтобы одобрить меню, доступ к которому можно получить только у каждого сотрудника.

ea. если у компании 10 сотрудников по продажам/маркетингу и 5 сотрудников в ИТ-отделе. Мне нужен менеджер по продажам, чтобы получить доступ только к его просьбам о вакансиях 10 сотрудников и не иметь доступа к остальным сотрудникам компании, которые не находятся под его руководством. Чтобы сделать это, я изменил определение домена правила ведения журнала Leaves officer от [(1,'=',1)] до [('employee_id.parent_id,'=',user.id)] , но это не сработало. Как это исправить?

ответ

1

В вашем случае, в основном, вы полностью передаете неправильный домен для правил записи.

Вы ранее используя домен, как

[(1, '=', 1)] => Получите доступ к все модели записи для этой модели

[('employee_id.parent_id , '=', user.id)] => Доступ к менеджеру parent_id только в качестве текущего сотрудника-пользователя

Но у вас есть доступ только к пользователю-диспетчеру, чтобы он не получал доступ к соответствующему пользователю.

так что вы должны добавить ниже домена в правилах записи:

[ '|', ('employee_id.user_id', '=', user.id), ('employee_id.parent_id .user_id ',' = ', user.id)]

В основном менеджер сам по себе является сотрудником компании и сотрудника, который должен подключиться к соответствующему пользователю.

первых нужно понять следующее соотношение:

1. employee_id:

который указать должен каждый отпуск связаны с одним работником.

2. parent_id:

который указывает на каждого сотрудника, связанную с одним менеджером по hr.holidays модели W [('employee_id.parent_id,' =», user.id)] частности model.hich называется запросом отпуска

3. user_id:

Если вы хотите получить доступ логина к конкретному сотруднику, то и тогда вы должны установить соответствующий пользователя для каждого сотрудника form.which помечены как Связанный пользователь.

4. Пользователь:

Который указывает на глобальное имя пользователя означает текущего пользователя, который вы вошли в систему.

5.id:

означает уникальный идентификатор для каждой записи

В вашем случае, как домен будет работать?

сначала он будет проверять текущий зарегистрированный пользователь в качестве прикрепленного текущего пользователя, связанного с сотрудником, или нет. , а затем найдите идентификаторы пользователей, которые имеют с одним и тем же сотрудником с теми же менеджерами.

Это означает, что он выполнит операцию SQL для SQL-запроса для обоих доменов.

Надеюсь, мой ответ может пригодиться вам :)

Смежные вопросы