一個新應用
房地產廣告模塊
假設需要開發一個房地產模塊,該模塊覆寫未包含在標準模塊集中特定業務領域,
以下為包含一些廣告的主串列視圖

form視圖頂層區域概括了房產的重要資訊,比如name,Property Type, Postcode等等,
串列記錄詳情頁中,第一個tab包含了房產的描述資訊,比如:bedrooms, Living area, Garage,Garden

第二個tab頁,列出了房產的報價,我們可以在這里看到,潛在買家可以提供高于或低于預期售價的報價,取決于賣方是否接受報價,

準備插件目錄
參考: 和該主題相關的檔案可參考 manifest.
Goal: 該小節的目標是讓odoo識別我們的新模塊,一個空殼,它將顯示在Apps中
創建模塊的第一步:新建一個目錄,為了讓開發更輕松,建議首先創建目錄 /home/$USER/src/custom,然后在該目錄中添加待創建的新模塊對應的目錄(本例為 estate),
一個模塊至少包含兩個檔案: 一個__manifest__.py 檔案和一個 __init__.py 檔案,__init__.py 目前可以保持為空,下一章我們在回過頭理它,而 __manifest__.py 檔案必須描述模塊,且不能保持為空,其必不可少的欄位為 name, 但通常會包含更多資訊,
以CRM file(如果打不開,可參見下文)為例,為了提供模塊描述資訊 (name, category, summary, website…), 它列出了它的依賴(depends),odoo框架會確保depends中配置的依賴模塊在我們的模塊被安裝之前安裝, 而且,如果這些模塊中的某個依賴被卸載,我們的模塊及其它任何依賴它的模塊都會被卸載, Odoo采用和Linux發行包管理一樣的作業方式,
創建以下目錄及檔案
odoo14/custom/estate/__init__.py(官方推薦路徑:/home/$USER/src/custom/estate/__init__.py,注意這里的包名estate即為模塊的Technical Name)odoo14/custom/estate/__manifest__.py(官方推薦路徑:/home/$USER/src/custom/estate/__manifest__.py)
__manifest__.py 檔案只定義name和模塊依賴,目前唯一必要的框架模塊為 base,如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
{
'name': 'estate',
'depends': ['base']
}
添加 custom 目錄路徑到 addons-path,重啟Odoo服務:
python odoo-bin --addons-path=custom,odoo/addons -r myodoo -w test123 -d odoo
驗證
瀏覽器頁面中訪問Apps, 點擊搜索estate

CRM file
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
'name': 'CRM',
'version': '1.2',
'category': 'Sales/CRM',
'sequence': 15,
'summary': 'Track leads and close opportunities',
'description': "",
'website': 'https://www.odoo.com/page/crm',
'depends': [
'base_setup',
'sales_team',
'mail',
'calendar',
'resource',
'fetchmail',
'utm',
'web_tour',
'contacts',
'digest',
'phone_validation',
],
'data': [
'security/crm_security.xml',
'security/ir.model.access.csv',
'data/crm_lead_prediction_data.xml',
'data/crm_lost_reason_data.xml',
'data/crm_stage_data.xml',
'data/crm_team_data.xml',
'data/digest_data.xml',
'data/mail_data.xml',
'data/crm_recurring_plan_data.xml',
'wizard/crm_lead_lost_views.xml',
'wizard/crm_lead_to_opportunity_views.xml',
'wizard/crm_lead_to_opportunity_mass_views.xml',
'wizard/crm_merge_opportunities_views.xml',
'views/assets.xml',
'views/calendar_views.xml',
'views/crm_recurring_plan_views.xml',
'views/crm_menu_views.xml',
'views/crm_lost_reason_views.xml',
'views/crm_stage_views.xml',
'views/crm_lead_views.xml',
'views/digest_views.xml',
'views/mail_activity_views.xml',
'views/res_config_settings_views.xml',
'views/res_partner_views.xml',
'views/utm_campaign_views.xml',
'report/crm_activity_report_views.xml',
'report/crm_opportunity_report_views.xml',
'views/crm_team_views.xml',
],
'demo': [
'data/crm_team_demo.xml',
'data/mail_activity_demo.xml',
'data/crm_lead_demo.xml',
],
'css': ['static/src/css/crm.css'],
'installable': True,
'application': True,
'auto_install': False
}
作者:授客
微信/QQ:1033553122
全國軟體測驗QQ交流群:7156436
Git地址:https://gitee.com/ishouke
友情提示:限于時間倉促,文中可能存在錯誤,歡迎指正、評論!
作者五行缺錢,如果覺得文章對您有幫助,請掃描下邊的二維碼打賞作者,金額隨意,您的支持將是我繼續創作的源動力,打賞后如有任何疑問,請聯系我!!!
微信打賞
支付寶打賞 全國軟體測驗交流QQ群
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/548003.html
標籤:Python
