Odoo8.0根據資料的條件來控制畫面上的修改按鈕顯示
阿新 • • 發佈:2019-02-18
今天有網友在問,當達到某個條件的時候,資料的所有欄位都變為只讀,傳統的方法是在view或model中,逐一對每個欄位進行屬性設定,這樣比較麻煩。後來我在考慮,如果是把所有欄位都變為只讀,是不是隻要遮蔽form介面上的修改按鈕就可以了呢?只要使用者不能點修改按鈕,那相當於就是所有欄位為只讀了。
經過測試和閱讀原始碼,我們通過如下方法來實現。
然後在增加的視窗動作位置加一個上下文引數,如下例項所示。
<record id="action_easy_genes" model="ir.actions.act_window"> <field name="name">Information</field> <field name="res_model">model_name</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> <field name="context">{'form_no_edit':[('state','=','draft'),('sex','=','F')]}</field> <field name="help" type="html"> <p class="oe_view_nocontent_create"> </p> <p> Click to start creating a new </p> </field> </record>
上下文中form_no_edit是固定的,後面加一個條件,條件的設定規範符合通用的domain規範即可。在瀏覽記錄時,符合該條件的form檢視將不顯示“編輯”按鈕。