odoo開發筆記 -- odoo10 視圖界面根據字段狀態,動態隱藏創建&編輯按鈕


場景描述:

 

解決方式:

網絡搜索,vnsoft_form_hide_edit 找到了這個odoo8的模塊,

odoo10語法和視圖界面有新的變化,所以需要修改一些地方,感興趣的小伙伴可以對比下兩個代碼的不同。

 

odoo10:

注意:該js代碼是全局生效的。

odoo.define('vnsoft_form_hide_edit', function (require) {
    "use strict";
    var FormView = require('web.FormView');

    FormView.include({do_push_state: function (state) {
                // alert("hahahahahaha");
                try {
                    var self = this;
                    this._super.apply(this, arguments);
                    var no_edit = this.options.action.context.form_no_edit
                    // console.log("%o",no_edit);
                    if(no_edit!=undefined){
                        var result = this.compute_domain(no_edit);
                        // console.log("%o",result);
                        if(result==true){
                            this.$buttons.find(".o_form_buttons_view").hide();
                            this.$buttons.find(".o_dropdown_toggler_btn").hide()
                        }else{
                            if(this.get("actual_mode")=="view") {
                                this.$buttons.find(".o_form_buttons_view").show()
                            }
                        }
                    }
                  } catch (e) {
                    { /* empty */ }
                  }
            }
        }
    );
});

關鍵部分:視圖里邊添加限制條件,來根據定義的條件,動態顯示編輯按鈕--顯示or隱藏

        <record id="your_test_action" model="ir.actions.act_window">
            <field name="name">測試視圖</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">teset.test_dec</field>
            <field name="view_mode">tree,form</field>
 <field name="context">{ 'form_no_edit':['|',('state','in',['submitted','approved']), ('city', 'in', ['beijing','shanghai'])],} </field>
            <field name="view_id" ref="customs_declaration_tree"/>
        </record>

當form視圖的相關字段: 字段(state狀態)的值在“提交”或者“批准”時,

或者 字段(city城市)的值在“北京”或者”上海“的條件下,當前界面左上角的”編輯“按鈕就會隱藏。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM