Odoo8.0根据资料的条件来控制画面上的修改、删除按钮显示
2016-03-31 10:42
295 查看
今天有网友在问,当达到某个条件的时候,资料的所有字段都变为只读,传统的方法是在view或model中,逐一对每个字段进行属性设置,这样比较麻烦。后来我在考虑,如果是把所有字段都变为只读,是不是只要屏蔽form界面上的修改按钮就可以了呢?只要用户不能点修改按钮,那相当于就是所有字段为只读了。
经过测试和阅读源码,我们通过如下方法来实现。
在自己的model中,重载框架函数fields_view_get,实例如下:
[python]
view plain
copy
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
if context is None:context = {}
res = super(rhwl_gene, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
if res['type']=="form":
id = res['id']
//根据id去取得资料,并进行判断
if 条件成立:
doc = etree.XML(res['arch'])
doc.xpath("//form")[0].set("edit","false")
res['arch']=etree.tostring(doc)
return res
set中的edit表示修改按钮,如果要控制其它按钮,可以用其它值,create表示新增,delete表示删除。
助顶:http://blog.csdn.net/vnsoft/article/details/47133847
经过测试和阅读源码,我们通过如下方法来实现。
在自己的model中,重载框架函数fields_view_get,实例如下:
[python]
view plain
copy
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
if context is None:context = {}
res = super(rhwl_gene, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
if res['type']=="form":
id = res['id']
//根据id去取得资料,并进行判断
if 条件成立:
doc = etree.XML(res['arch'])
doc.xpath("//form")[0].set("edit","false")
res['arch']=etree.tostring(doc)
return res
set中的edit表示修改按钮,如果要控制其它按钮,可以用其它值,create表示新增,delete表示删除。
助顶:http://blog.csdn.net/vnsoft/article/details/47133847
相关文章推荐
- odoo 中多币种处理(外币处理)
- odoo采购业务流程要点
- 销售提成的模块
- odoo凭证自动生成问题和如何查明细账?
- OpenERP7.0社区维护的产品相关的增强模块
- OpenERP中多币种处理(外币处理)
- 禁止显示“OpenERP Apps Unreachable”警告信息
- oe7.解决自定义附件字段下载时无文件名
- odoo 财务会计相关介绍
- odoo退货流程
- odoo base模块听课笔记
- odoo预付款处理流程
- openerp财务报表说明
- RML报表的网格内容自动换行
- openerp7 增加出货检查库位
- odoo开发之坑
- odoo开发之坑
- OpenERP Web Client设置闲置有效时间
- odoo 选择客户时解决同时出现公司和联系人的问题
- 上海寰享十二月培训信息