翼度科技»论坛 编程开发 python 查看内容

odoo 开发入门教程系列-一个新应用

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
一个新应用

房地产广告模块

假设需要开发一个房地产模块,该模块覆盖未包含在标准模块集中特定业务领域。
以下为包含一些广告的主列表视图

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。如下:
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. {
  4.     'name': 'estate',
  5.     'depends': ['base']
  6. }
复制代码
添加 custom 目录路径到 addons-path,重启Odoo服务:
  1. python odoo-bin --addons-path=custom,odoo/addons -r myodoo -w test123 -d odoo
复制代码
验证

浏览器页面中访问Apps, 点击搜索estate

CRM file
  1. # -*- coding: utf-8 -*-
  2. # Part of Odoo. See LICENSE file for full copyright and licensing details.
  3. {
  4.     'name': 'CRM',
  5.     'version': '1.2',
  6.     'category': 'Sales/CRM',
  7.     'sequence': 15,
  8.     'summary': 'Track leads and close opportunities',
  9.     'description': "",
  10.     'website': 'https://www.odoo.com/page/crm',
  11.     'depends': [
  12.         'base_setup',
  13.         'sales_team',
  14.         'mail',
  15.         'calendar',
  16.         'resource',
  17.         'fetchmail',
  18.         'utm',
  19.         'web_tour',
  20.         'contacts',
  21.         'digest',
  22.         'phone_validation',
  23.     ],
  24.     'data': [
  25.         'security/crm_security.xml',
  26.         'security/ir.model.access.csv',
  27.         'data/crm_lead_prediction_data.xml',
  28.         'data/crm_lost_reason_data.xml',
  29.         'data/crm_stage_data.xml',
  30.         'data/crm_team_data.xml',
  31.         'data/digest_data.xml',
  32.         'data/mail_data.xml',
  33.         'data/crm_recurring_plan_data.xml',
  34.         'wizard/crm_lead_lost_views.xml',
  35.         'wizard/crm_lead_to_opportunity_views.xml',
  36.         'wizard/crm_lead_to_opportunity_mass_views.xml',
  37.         'wizard/crm_merge_opportunities_views.xml',
  38.         'views/assets.xml',
  39.         'views/calendar_views.xml',
  40.         'views/crm_recurring_plan_views.xml',
  41.         'views/crm_menu_views.xml',
  42.         'views/crm_lost_reason_views.xml',
  43.         'views/crm_stage_views.xml',
  44.         'views/crm_lead_views.xml',
  45.         'views/digest_views.xml',
  46.         'views/mail_activity_views.xml',
  47.         'views/res_config_settings_views.xml',
  48.         'views/res_partner_views.xml',
  49.         'views/utm_campaign_views.xml',
  50.         'report/crm_activity_report_views.xml',
  51.         'report/crm_opportunity_report_views.xml',
  52.         'views/crm_team_views.xml',
  53.     ],
  54.     'demo': [
  55.         'data/crm_team_demo.xml',
  56.         'data/mail_activity_demo.xml',
  57.         'data/crm_lead_demo.xml',
  58.     ],
  59.     'css': ['static/src/css/crm.css'],
  60.     'installable': True,
  61.     'application': True,
  62.     'auto_install': False
  63. }
复制代码
来源:https://www.cnblogs.com/shouke/p/17253296.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具