odoo開發筆記--自定義server action頁面跳轉注意


場景描述:

在添加自定義服務器動作 “復制全部”后發現直接創建了新的記錄,並且直接進入到form保存完的狀態。

如何解決:

        if yourself_obj_copy:
            return {
                'type': 'ir.actions.act_window',
                'view_type': 'form',
                'view_mode': 'form',
                'res_model': '你的模塊名.模型名',
                'res_id': yourself_obj_copy.id,
                'context': self.env.context,
                'flags': {'initial_mode': 'edit'},
            }

加上上方紅色部分,就可以默認進入form視圖的編輯狀態。

這里需要注意一下:odoo自帶的服務器動作 -- 復制  其實也不是復制,而是創建了一份新的直接保存了,

即使你點擊復制進入新的編輯界面,這時不點“保存”,直接“丟棄”,其實是沒有效果的,這條記錄已經在點擊“復制”的時候創建了。

 

頁面跳轉可以參考如下文章:

在odoo視圖中有時點擊按鈕需要跳轉到另一個視圖,此時有如下參數需要注意

系統的默認值:
_defaults = {
        'type': 'ir.actions.act_window',
        'view_type': 'form',
        'view_mode': 'tree,form',
        'context': '{}',
        'limit': 80,
        'target': 'current',
        'auto_refresh': 0,
        'auto_search':True,
        'multi': False,
    }
# type: 動作類型,默認為ir.actions.act_window
# view_type: 跳轉時打開的視圖類型
# view_mode: 列出允許使用的視圖模式
# context: 給目標視圖傳參數,如默認搜索之類的,如{‘search_default_group_assign’:1}
# limit: 列表視圖一頁的記錄數
# target: 打開新視圖的方式,current是在本視圖打開,new是彈出一個窗口打開
# auto_refresh:為1時在視圖中添加一個刷新功能
# auto_search:加載默認視圖后,自動搜索
# multi:視圖中有個更多按鈕,若multi設為True, 更多按鈕顯示在tree視圖,否則顯示在form視圖
 

以下內容是一些需特別注意的參數

# res_model:想打開視圖的對應模塊
# res_id: 參數為id,加載指定id的視圖,但只在view_type為form時生效,若沒有這個參數則會新建一條記錄
# view_id: 參數是id,若一個模塊有多於>1個視圖時需要指定視圖id,可根據視圖名稱去ir.ui.view模塊搜索
# views:是(view_id,view_type) 元組對列表,第一組是動作默認打開的視圖
# flags: 對視圖面板進行一些設置,如{‘form’: {‘action_buttons’: True, ‘options’: {‘mode’: ‘edit’}}}即對form視圖進行一些設置,action_buttons為True時調出編輯保存按鈕,options’: {‘mode’: ‘edit’}時則打開時對默認狀態為編輯狀態
 
http://www.binqsoft.com/blog/2017/07/29/odoo%E8%AF%95%E5%9B%BE/
https://www.cnblogs.com/ygj0930/p/7150860.html


免責聲明!

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



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