2016-03-26 2 views
0

В odoo 9, я добавил правило записи на модель mrp.production как:не может подтвердить продажи заказов после применения правила записи

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

Это покажет пользователям только Мос, что принадлежит им. Теперь, когда я пытаюсь подтвердить заказ продажи, который будет создавать МО для линий в этой продаже заказе я получаю сообщение об ошибке доступа, как:

The requested operation cannot be completed due to security restrictions. Please contact your system administrator. 

(Document type: mrp.production, Operation: read) 

Диагностирования больше я обнаружил, что она вызывает в связи с missing_ids , Взгляните на this.

До этого я использовал одно и то же решение в openerp 7, и он все еще работает без ошибок доступа при подтверждении SO.

ответ

0

Наконец-то я нашел причину этой проблемы.

В opernep/аддонов/MRP/procurement.py есть линия

production_obj.create(cr, SUPERUSER_ID, vals, context=dict(context, force_company=procurement.company_id.id)) 

, который использует SUPERUSER_ID создать производственный заказ от закупок.

Я не знаю, почему они изменили его, чтобы использовать SUPERUSER_ID. Может быть, чтобы пользователи mrp или внешние пользователи могли создавать заказы mrp, даже если у них нет прав. BTW У меня нет такого требования, и я решил свою проблему, заменив этот SUPERUSER_ID на uid.

0

С какого пользователя вы пытаетесь? Я думаю, что вы пытаетесь войти в админ, и вы пишете правило безопасности, доступ к которому может получить только пользователь этой записи. Я думаю, что это проблема.

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