odoo開發筆記 -- 如何隱藏視圖界面的創建、導入、導出、復制、刪除


場景描述:

     odoo開發過程中,有時會遇到客戶有這樣的需求: 需要將相應界面的odoo自帶的按鈕or服務器動作隱藏掉,

     常見的需求就是隱藏界面的:“創建”、“導入”、“導出”、“復制”、“刪除”。。。

     如何實現呢?其實odoo封裝了特定的寫法,如果客戶需求是靜態將上述功能按鈕隱藏掉,不用修改前端代碼,

     加上指定的參數就可以;如果客戶需求是要根據單據的某個狀態,動態隱藏/顯示上述按鈕,則需要修改odoo前端代碼。

     根據字段狀態,動態隱藏創建&編輯按鈕,參考:https://www.cnblogs.com/hellojesson/p/9035739.html

     這里我們介紹下,靜態需求的實現方式。

實現方式:

    開始之前,我們先簡單說明下odoo視圖幾個功能按鈕的位置。

    odoo最主要的兩個視圖,Tree列表視圖和Form表單視圖,

  (1)Tree列表視圖,默認顯示的功能按鈕:"創建" “導入”  ,勾選相應單據記錄后,服務器動作顯示:“導出”,“刪除”。

         列表視圖隱藏這些按鈕,只需在列表視圖代碼中增加相應參數即可:

<tree create="false" import="false" export="false" delete="false">

 補充:隱藏導入按鈕第三方模塊 https://apps.odoo.com/apps/modules/10.0/display_import_button/

  (2)Form表單視圖,默認顯示功能按鈕:“編輯”,“創建”,服務器動作顯示:“刪除”,“復制”

          隱藏上述相應的按鈕,在Form views相應位置添加如下參數:

          edit="false" --禁止編輯  create="false" ----禁止創建  duplicate="false" --禁止復制  delete="false" --禁止刪除

<record id="test_view_form" model="ir.ui.view">
            <field name="name">test.view_form</field>
            <field name="model">test.test</field>
            <field name="type"> </field>
            <field name="arch" type="xml">
                <form string="測試" edit="false" create="false" duplicate="false" delete="false">
                    <sheet>
                        <group>
                             <field name="user_name"/>
                            <field name="create_date"/>
                        </group>
                    </sheet>
                </form>
            </field>

 


免責聲明!

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



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