百木园-与人分享,
就是让自己快乐。

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

一个新应用

房地产广告模块

假设需要开发一个房地产模块,该模块覆盖未包含在标准模块集中特定业务领域。

以下为包含一些广告的主列表视图

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群  
odoo 开发入门教程系列-一个新应用
      odoo 开发入门教程系列-一个新应用
       odoo 开发入门教程系列-一个新应用


来源:https://www.cnblogs.com/shouke/p/17253296.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » odoo 开发入门教程系列-一个新应用

相关推荐

  • 暂无文章