ограничить доступ задач только назначенным пользователям в odoo 12 - PullRequest
1 голос
/ 03 апреля 2020

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

<record id="group_project_user_developer" model="res.groups">
            <field name="name">Developer</field>
            <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
            <field name="category_id" ref="base.module_category_project_management"/>
        </record>

        <record id="project.group_project_user" model="res.groups">
            <field name="name">User</field>
            <field name="implied_ids" eval="[(4, ref('project_custom.group_project_user_developer'))]"/>
            <field name="category_id" ref="base.module_category_project_management"/>
        </record>

        <record model="ir.rule" id="own_task_view_rule">
            <field name="name">See own tasks only</field>
            <field name="model_id" ref="project.model_project_task"/>
            <field name="groups" eval="[(4, ref('project_custom.group_project_user_developer'))]" />
            <field name="domain_force">[('user_id','=',user.id)]</field>
        </record>

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

Ответы [ 3 ]

0 голосов
/ 04 апреля 2020

Вы можете сделать это с действием domain:

<record id="project.act_project_project_2_project_task_all" model="ir.actions.act_window">
    <field name="domain">[('user_id', '=', uid)]</field>
</record>
0 голосов
/ 05 апреля 2020

<delete model="ir.rule" id="project.task_visibility_rule"/> в Odoo 13 может иметь один и тот же идентификатор в Odoo 12. Это правило позволяет показывать пользователю все задачи проектов независимо от вашего правила, поэтому, чтобы ваше правило работало, вы должны удалить это Delete or inactive this rule Удалите следующее правило или неактивируйте его, чтобы проверить, работает ли ваш код, затем добавьте его через XML, чтобы удалить с помощью кода, также разрешен менеджер, поэтому ваши права будут работать только в том случае, если вы установили задачу проекта и fsm задача = пользователь в правах доступа Если у вас возникли проблемы с поиском этого правила, просто поищите его в кодах XML в файлах, чтобы найти это правило

следуйте инструкциям, необходимым только для подписчиков.

Это правило разрешает менеджеру видеть все задачи enter image description here В общем, должно быть другое правило, разрешающее вещи, которые вы, возможно, не разрешаете, так что имейте это в виду, когда ваше правило не работает

0 голосов
/ 03 апреля 2020

Это связано с вашим правилом записи принудительного применения,

<field name="domain_force">[('user_id','=',user.id)]</field>

На модели ['project.task'], вошедшей в систему, пользователь будет иметь доступ только к его / ее назначить задание.

Спасибо

...