如何在openerp中隐藏创建按钮动态树视图?

时间:2014-01-28 12:07:56

标签: python openerp

我已使用以下视图隐藏了创建按钮

<tree create="false" edit="false" >

它工作正常,但我需要像这样隐藏创建按钮动态方式,

<tree attrs="{'create':[("uid",'=',1)]}" edit="false" >

但它没有用。

4 个答案:

答案 0 :(得分:3)

为了使创建按钮仅对uid = 1不可见,最好编写访问记录规则。

如果要使特定组的创建按钮不可见,则继承原始视图并为继承的视图指定组,然后为树视图指定create =“false”属性。点击this获取示例。

答案 1 :(得分:0)

你的想法很好,但遗憾的是'创造'并没有在attrs-attribute中实现。

一些解决方法将是你的第一个选择+你自己实现的新创建按钮,但我认为这有点棘手,我不能说这是否100%可能。

答案 2 :(得分:0)

你不能在树视图中使用attrs创建选项

为什么不在此使用对象访问权限。创建,删除,读取,取消链接,仅为有权创建

的用户授予创建权限

请参阅此答案:OpenERP 7 Access Rights for User Roles

此致

答案 3 :(得分:0)

您可以使用此方法并替换类名...

def unlink(self, cr, uid, ids, context=None):
    if context is None:
        context = {}
    for rec in self.browse(cr, uid, ids, context=context):
        if rec.state not in ['draft', False]:
            raise osv.except_osv(_('Invalid Action!'), _('Cannot delete a record which is in state \'%s\'.') %(rec.state,))
    return super(purchase_order, self).unlink(cr, uid, ids, context=context)