目前驾照类型全国统一,所以我们也是只需要载入默认数据,并且让使用者只能看。驾照类型名 | 备注 |
A1 | 大型客车和A3、B1、B2 |
A2 | 牵引车和B1、B2、M |
A3 | 城市公交车和C1 |
B1 | 中型客车和C1、M |
B2 | 大型货车和C1、M |
新增数据模型
models目录新建driving_licence_type.py数据模型文件,代码如下:# -*- coding: utf-8 -*-from odoo import fields, modelsclass NebulaDrivingLicenceType(models.Model): _name = "nebula.driving.licence.type" _description = "驾照类型" _order = 'name' name = fields.Char('驾照编码', size=2, required=True, index=True) name_type = fields.Char('类型名称') active = fields.Boolean(default=True, string='是否启用') note = fields.Text('备注') _sql_constraints = [ ('check_unique_name', 'unique(name)', '不允许同名驾照编码')]
将该文件名(driving_licence_type)添加到models目录下__init__.py的auto_type后面,前面以逗号分割,如下所示。from . import car_type, auto_type, metier_type, driving_licence_type
设置访问权限
在security目录下的ir.model.access.csv新增一行权限记录。access_nebula_driving_licence_type,nebula.driving.licence.type,model_nebula_driving_licence_type,group_peijia_manager,1,0,0,0
创建视图层
在views目录新增driving_licence_type_views.xml文件,因无特殊要求,所以用默认方式展示即可,内容如下:<?xml version="1.0" encoding="utf-8"?><odoo> <act_windowid="peijia.action_driving_licence_type_views"name="驾照类型" res_model="nebula.driving.licence.type" view_mode="tree,form" /></odoo>
修改peijia目录下__manifest__.py文件中data段,在views/car_type_views.xml前新增views/driving_licence_type_views.xml文件名。在views目录下car_views.xml文件,前添加菜单指向驾照类型子模块,代码:<menuitem id="menu_driving_licence_type_views" name="驾照类型" parent="menu_peijia_base_data" sequence="110" action="peijia.action_driving_licence_type_views"/>
创建默认数据
在data目录新增driving_licence_type_data.xml文件,用来存放职业类默认数据。部分参考代码如下:<recordid="nebula_driving_licence_type_c1"model="nebula.driving.licence.type"> <fieldname="name">C1</field> <fieldname="name_type">小型汽车和C2、C3</field> <fieldname="active">TRUE</field></record><recordid="nebula_driving_licence_type_c2"model="nebula.driving.licence.type"> <fieldname="name">C2</field> <fieldname="name_type">小型自动挡汽车</field> <fieldname="active">TRUE</field></record><recordid="nebula_driving_licence_type_c3"model="nebula.driving.licence.type"> <fieldname="name">C3</field> <fieldname="name_type">低速载货汽车和C4</field> <fieldname="active">TRUE</field></record><recordid="nebula_driving_licence_type_c4"model="nebula.driving.licence.type"> <fieldname="name">C4</field> <fieldname="name_type">三轮汽车</field> <fieldname="active">TRUE</field></record>
我们在__manifest__.py文件中data段最后添加该文件位置,以方便调用。格式如下:data/driving_licence_type_data.xml界面展示