odoo10學習筆記十:Actions

 

轉載請註明原文地址:http://www.javashuo.com/article/p-qxuxeysy-md.html html

 

actions定義了系統對於用戶的操做的響應:登陸、按鈕、選擇項目等。python

一:窗口action(ir.actions.act_window )web

最經常使用的action類型,用於將model的數據展現出來。數據庫

複製代碼
複製代碼
字段列表:
1.res_model -- 須要在view裏顯示數據的model
2.views -- 一個(view_id, view_type) 列表,view_type表明視圖類型如:form,tree,gragh...,view_id是可選的數據庫id或False,若是沒有指定id,客戶端會自動用fields_view_get()獲取相應類型的默認視圖,type參數列表的第一個會被默認用來展現
3.res_id (可選) -- 當默認的視圖類型是form時,可用於指定加載的數據
4.search_view_id (可選) -- (id, name),id是儲存在數據庫的搜索視圖,默認會讀取model的默認搜索視圖
5.target (可選) -- 定義視圖是 在當前視圖上打開(current)、使用全屏模式(fullscreen)、使用彈出框(new)、可以使用main代替current來清除麪包屑導航
6.context (可選) -- 額外的須要傳給視圖的環境數據
7.domain (可選) -- 自動添加到視圖搜索中的查詢
8.limit (可選) -- 在客戶端顯示的數據量,默認80
9.auto_search(可選) -- 搜索是否在加載默認視圖後當即執行,默認True
複製代碼
複製代碼
    • view_mode -- 以逗號分隔的視圖類型列表,全部類型的視圖會被展現出來
    • view_ids -- 視圖對象的一系列的字段,用於定義視圖的默認內容
    • view_id -- 將指定的view加入到視圖中,以防不被view_ids所包含
      上述參數通常在使用數據文件定義action的時候使用:

 

二:連接Action(ir.actions.act_url)express

能夠經過odoo的連接打開一個網站頁面,可經過兩個字段來自定義:服務器

  • url -- 當激活action時所打開的連接
  • target -- new:在新窗口打開,self:替換當前頁面內容,默認new

 

三:服務器Action (ir.actions.server)dom

能夠經過action定位來觸發複雜的服務端代碼:學習

    • id -- 服務端action在數據庫存儲的id
    • context (可選) -- 執行服務端action的上下文環境
      儲存在數據庫中的action能夠基於state執行一些特別的動做,部分字段在state之間是相互共享的網站

    • model_id -- 與action相關聯的model,在 evaluation contexts中可用lua

    • condition (可選) -- 使用服務端的 evaluation contexts 來執行python代碼,若是是False則阻止action執行,默認值是True

                 code -- 當調用action時執行的python代碼

    • object_create -- 使用鉤子建立一條新記錄(經過create或copy方法)

      • use_create
        1.new - 基於指定的 model_id建立一條記錄
        2.new_other - 基於指定的crud_model_id建立一條記錄
        3.copy_current - 複製action所引用的記錄
        4.copy_other - 複製一個經過ref_object得到的記錄

      • fields_lines --當建立或複製記錄時須要修改的字段,One2many 會有如下字段:
        1.col1 -- 在use_create裏所包含的須要被重賦值的ir.model.fields
        2.value -- 字段對應的值,基於type進行解析
        3.type -- 取值value:就是value字段的值,取值equation:value字段會當成python來解析

      • crud_model_id -- 當use_create爲new_other時,表示用於建立新記錄的model id
      • ref_object -- 當use_create爲copy_other時用於指定建立記錄時引用的記錄
      • link_new_record -- 是否用用link_field_id將新記錄和當前記錄進行many2one關聯,默認False
      • link_field_id -- 指定當前記錄與新記錄進行many2one關聯的字段
    • object_write -- 與object_create類似,只是只修改當前記錄而不建立新記錄

      • use_create
        1.current - 修改更新到當前記錄
        2.other - 修改更新到經過crud_model_id 或 ref_object指定的新記錄
        3.expression - 修改更新到經過crud_model_id 以及 write_expression篩選事後的記錄
      • write_expression - 返回一條記錄或對象id的python表達式
      • fields_lines,crud_model_id,ref_object與object_create一致
    • multi
      將經過child_ids many2many關係定義的action一個個執行,若是有action本身返回action,最後一個action被返回給客戶端做爲將前multi action的下一個action

    • trigger 發送一個信號給工做流

      • wkf_transition_id - 用於觸發的與workflow.transition有Many2one關係的id
      • use_relational_model - 若是是base(默認),則觸發當前記錄的維護信號;若是是relational,則觸發經過wkf_model_id 和 wkf_field_id篩選出來的當前記錄的字段
    • client_action -- 返回經過action_id定義的action

 

四:報表Action (ir.actions.report.xml)

此action爲打印報表的觸發器:

  • name(必選) -- 在一個列表裏進行查找時使用
  • model (必選) -- 報表所反映的數據來源model
  • report_type (必選) -- qweb-pdf | qweb-html
  • report_name -- 報表命名,用於輸出的pdf文件名
  • groups_id -- 能夠讀取或使用當前報表的用戶組,Many2many字段
  • paperformat_id -- 報表所使用的紙張格式,默認使用公司的格式,Many2one字段
  • attachment_use -- 當取值true的時候只在第一次請求時生成報表,以後直接從保存的報表打印,可用於生成後不會有改變的報表
  • attachment -- 使用python表達式來定義報表名字,該記錄可用變量object訪問

 

五:客戶端Actions (ir.actions.client)

觸發一個徹底在客戶端實現的action:

      • tag -- action在客戶端的標識符,通常是一個專用的字符串
      • params (可選) -- 用來傳給客戶端的python數據字典格式數據
      • target (可選) -- current:當前內容區打開action,fullscreen:以全屏模式打開,new:以彈出框打開
相關文章
相關標籤/搜索