首页 > 其他分享 >odoo 开发入门教程系列-一个新应用

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

时间:2023-03-24 20:57:16浏览次数:47  
标签:xml __ 系列 views 入门教程 模块 odoo data crm

一个新应用

房地产广告模块

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

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

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
}

标签:xml,__,系列,views,入门教程,模块,odoo,data,crm
From: https://www.cnblogs.com/shouke/p/17253296.html

相关文章

  • 一系列的链式处理中保留源
    发现个比较奇葩的,定义了触发条件,但是在后续的一系列处理过程中,触发事件的信息记录会不断在方法传递中丢弃,最终关键的一些数据也不保存进入db,导致我某个业务需要该值的时候,......
  • golang pprof 监控系列(1) —— go trace 统计原理与使用
    golangpprof监控系列(1)——gotrace统计原理与使用服务监控系列文章服务监控系列视频关于gotooltrace的使用,网上有相当多的资料,但拿我之前初学golang的经验来......
  • WebService入门教程_HTTP协议学习
    实现HTTP简介WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。HTTP是hypertexttransferprotocol(超文本传输协议)的简写,它是TCP/......
  • Webservice入门教程_用Eclipse的TCP_IP工具监听请求实现端口转接
    实现在上面实现JDK开发webservice的基础上。配置TCP_IP工具Eclipse-Windows-preferences-TCP/IPMonitor-AddLocalmonitoringport是转接前的端口Hostname是address中......
  • Webservice入门教程_用JDK开发Webservice
    实现搭建服务端打开Eclipse新建Javaproject,在src下新建包com.badao.ws包下新建接口HellloWS.javapackagecom.badao.ws;importjavax.jws.WebMethod;importjavax.jws.......
  • javascript 高级编程系列 - Set集合与Map集合
    ES6中新增的Set集合类型是一种有序列表,其中含有一些相互独立的非重复值,通过Set集合可以快速访问其中的数据,更有效地追踪各种离散值。1.创建Set集合并添加元素调用newS......
  • c# redis系列二
    HashHash:key--Dictionary,1节约空间(zipmap的紧密摆放的存储模式)2更新/访问方便(hashid+key)Hash数据很像关系型数据库的表的一行数据,但是字段是可以随意定制的,没有......
  • c# redis系列一
    NoSqlNotOnlySql非关系型数据库由于关系型数据库中数据的关系复杂,再就是数据读取和写入压力,硬盘的速度满足不了,尤其是一些大数据量所以产生了NoSql了,比如Redis。Red......
  • 自己动手从零写桌面操作系统GrapeOS系列教程——22.文件系统与FAT16
    学习操作系统原理最好的方法是自己写一个简单的操作系统。新买的硬盘和优盘在第一次使用时需要格式化,有时候还需要分区。这是为什么呢?分区和格式化到底是干啥呢?本讲将......
  • 数据库系列:postgresql中boolean字段与smallint字段的自动转换
    1、使用postgre账号进入到相应的模式下执行:CREATEORREPLACEFUNCTIONboolean_to_smallint(bboolean)RETURNSsmallintAS$$BEGINRETURN(b::bool......