【问题标题】:Openerp product and supplier access rights issuesOpenerp 产品和供应商访问权限问题
【发布时间】:2014-06-01 16:55:34
【问题描述】:

我是 Openerp 的新手。我正在根据要求对其进行自定义。我有以下问题:

  • 问题 1: 我介绍了产品的新状态。 “待定”、“已确认”、“已取消”。现在的问题是,只有“采购经理”才能编辑已确认的产品。普通用户只能编辑“待定产品”。

  • 问题 2: 管理员用户只能确认产品。我已经实现了这一点。但我需要做一些验证。在确认产品之前,“供应商”和“单价”是必填项。如果没有添加,则需要显示警告信息。

我正在尝试通过自定义(访问权限等)来实现这些。但没有运气。

编辑1:

from osv import fields, osv
class purchase_order(osv.osv):
    _inherit = 'product.product'

    _columns =  {
        'stage': fields.selection([
            ('pending', 'Pending'),
            ('confirmed', 'Confirmed'),
            ('cancel', 'Cancelled'),
        ], 'Status', select=True, track_visibility='onchange', help='Product Workflow Stages')
    }

    _defaults = {
        'type' : 'consu',
        'stage': 'pending',
    }

    purchase_order()

通过 UI 进行自定义:

任何帮助都可以节省我的工作时间。

【问题讨论】:

    标签: product openerp-7


    【解决方案1】:

    问题 1:

    我假设现在每个人都可以在任何状态下编辑产品。要缩小普通用户的权限,请尝试记录规则:设置 -> 安全 -> 记录规则。添加一个规则,例如:['state','=','pending'],对象产品,选中“申请写入”。然后进入设置->组,进入普通用户组,在“规则”选项卡中添加这条记录规则。也许这会奏效。

    问题2:

    据我了解,您希望在创建产品时将“供应商”和“单价”字段设为必填项。为此,在您的 XML 中,您必须在这些字段中添加如下内容:

    ... attrs="{'required':True}"
    

    【讨论】:

    • 发布您的代码将有助于解决您遇到的问题
    • 非常感谢。但我的大部分工作都是通过定制完成的。我现在将尝试您的上述解决方案,明天我一上班就会发布我的代码。
    • 嗨,我尝试了 问题 1 的解决方案: 我尝试将 [('stage','=', 'confirmed')] 放入规则的域过滤器中,并且我只选择了“申请阅读”。但它没有用。同样对于问题 2,我想在管理员仅确认时将这些字段设为必填。在创建产品时,这些不是强制性的。如果我遗漏了什么,请告诉我。再次感谢您的帮助。
    • 你能发布你正在修改product.product的代码吗?这会有很大帮助。问题 2:好吧,我误解了,你想让这些字段从必填项变为必填项,对吗?为了做到这一点,在您的视图(继承产品视图)中,您必须在这些字段中添加类似的内容:`attrs = '{'required': [('stage','not in',在这里你放一个应该是强制性的阶段列表}'
    • 关于问题1:如果这个带有记录规则的东西不起作用,请再尝试一件小事-进入设置->组并打开普通用户组。现在在“访问权限”选项卡中找到对象“产品”并在“写入访问”字段中取消选中它。现在在此记录规则仍然有效的情况下对其进行测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多