Based on user particular Field readonly applied using field_view_get method
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): res = super(class_name,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu) if 'filed_name' in res['fields'] and uid!=1: res['fields']['filed_name']['readonly'] = True return res
The code worked in version 6.0.4 but in the latest version 7 not working. How to make works?...
Hi, This is solution for that.
from openerp.osv.orm import setup_modifiers def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): res = super(uma_stock_picking_in, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu) if view_type == 'form': doc = etree.XML(res['arch']) for node in doc.xpath("//field[@name='min_date']"): node.set('readonly', "0") setup_modifiers(node, res['fields']['min_date']) res['arch'] = etree.tostring(doc) return res
You should notice function setup_modifiers if you want to set option in ['invisible', 'readonly'] because in version 7 when you set readonly or invisible it will generate the modifiers attribute to take care this.
Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!
About This Community
|Asked: 8/31/13, 10:06 AM|
|Seen: 5698 times|
|Last updated: 2/9/16, 6:20 AM|