如果用户无权访问父任务,则 Odoo 11 对子任务操作的读取权限错误

问题描述

我编写了一个模块来添加里程碑类型。里程碑基于 Many2one 字段并存储在辅助表中。 一切似乎都很好,但现在我遇到了一个问题。如果用户想要编辑子任务(例如,在阶段之间移动),并且该用户对相应的父任务甚至父任务的父任务没有读取权限,我就会收到访问错误。

由于安全限制,无法完成请求的操作。请联系您的系统管理员。

(文档类型:将里程碑指示器添加到项目看板视图并允许任务中的各种里程碑类型,操作:读取)-(记录:[39],用户:5)

我不确定为什么子任务需要来自父任务的查询值。

我还是不太了解Odoo中的权限层,感谢所有指点。

    # -*- coding: utf-8 -*-

from odoo import models,fields,api

class project_show_milestone(models.Model):
    _inherit = 'project.task'
    _description = 'Adds milestone indicator to project kanban view and allows for various milestone type in task'

    milestonetype_id = fields.Many2one('project.task.milestonetype',string="Meilensteinklasse")

    ms_color = fields.Char(related="milestonetype_id.ms_color")

    ms_icon = fields.Html(related="milestonetype_id.ms_icon")

    date_deadline = fields.Date(string='Deadline',index=True,copy=False,track_visibility="onchange")


    @api.onchange('date_deadline')
    def _set_msdate(self):
        if self.milestonetype_id:
            self.date_start = str(self.date_deadline) + ' 18:00:00'
            self.date_end = str(self.date_deadline) + ' 18:00:00'

            self.message_post(body="Frist wurde verändert",subject="Terminanpassung",sub_type="mt_note")

    @api.onchange('milestonetype_id')
    def _set_milestone(self):
        if self.milestonetype_id:
            self.is_milestone = True
        else:
            self.is_milestone = False

class project_task_milestonetypes(models.Model):
    _name = 'project.task.milestonetype'

    name = fields.Char(string="Bezeichnung")

    description = fields.Char(string="Beschreibung")

    ms_color = fields.Char(string="Kanbanfarbe")

    ms_icon = fields.Html(string="MS",compute = '_create_icon',store = True)

    @api.depends('ms_color')
    def _create_icon(self):
        for rec in self:
            self.ms_icon = '<div id="mssymb" style="transform: rotate(45deg); width:12px; height:12px;background:' + str(rec.ms_color) + ';"></div>'

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...