Merge branch 'feature/新增采购权限组' into develop

This commit is contained in:
jinling.yang
2023-12-07 10:58:04 +08:00
14 changed files with 284 additions and 69 deletions

View File

@@ -7,10 +7,15 @@
<field name="model">quality.point</field>
<field name="arch" type="xml">
<form>
<header>
</header>
<sheet>
<div class="oe_button_box" name="button_box"/>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
<h2><field name="name" readonly="1"/></h2>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"/>
<h2>
<field name="name" readonly="1"/>
</h2>
<group>
<group>
<field name="active" invisible="1"/>
@@ -33,13 +38,14 @@
<field name="note" placeholder="Describe the quality check to do..."/>
</page>
<page string="Notes" name="Notes">
<field name="reason" string="Note" placeholder="Describe why you need to perform this quality check..."/>
<field name="reason" string="Note"
placeholder="Describe why you need to perform this quality check..."/>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="message_ids"/>
<field name="message_follower_ids"/>
<field name="message_ids"/>
</div>
</form>
</field>
@@ -85,17 +91,18 @@
<filter name="filter_date_close" date="date_close"/>
<separator/>
<filter string="Late Activities" name="activities_overdue"
domain="[('my_activity_date_deadline', '&lt;', context_today().strftime('%Y-%m-%d'))]"
help="Show all records which has next action date is before today"/>
domain="[('my_activity_date_deadline', '&lt;', context_today().strftime('%Y-%m-%d'))]"
help="Show all records which has next action date is before today"/>
<filter string="Today Activities" name="activities_today"
domain="[('my_activity_date_deadline', '=', context_today().strftime('%Y-%m-%d'))]"/>
domain="[('my_activity_date_deadline', '=', context_today().strftime('%Y-%m-%d'))]"/>
<filter string="Future Activities" name="activities_upcoming_all"
domain="[('my_activity_date_deadline', '&gt;', context_today().strftime('%Y-%m-%d'))]"/>
domain="[('my_activity_date_deadline', '&gt;', context_today().strftime('%Y-%m-%d'))]"/>
<group expand="0" string="Group By">
<filter string="Stage" name="groupby_stage" domain="[]" context="{'group_by': 'stage_id'}"/>
<filter string="Responsible" name="groupby_user" domain="[]" context="{'group_by': 'user_id'}"/>
<filter string="Root Cause" name="groupby_reason" domain="[]" context="{'group_by': 'reason_id'}"/>
<filter string="Creation Date" name="groupby_createmonth" domain="[]" context="{'group_by': 'create_date'}"/>
<filter string="Creation Date" name="groupby_createmonth" domain="[]"
context="{'group_by': 'create_date'}"/>
<filter string="Quality Team" name="groupby_team_id" domain="[]" context="{'group_by': 'team_id'}"/>
</group>
</search>
@@ -122,4 +129,4 @@
</record>
<!-- js stuff -->
</odoo>
</odoo>

View File

@@ -602,6 +602,7 @@
<field name="model">quality.alert.team</field>
<field name="arch" type="xml">
<form>
<header></header>
<sheet>
<div class="oe_title">
<label for="name" string="Team Name"/>

View File

@@ -1,19 +1,29 @@
<odoo>
<data>
<record id="group_quality" model="res.groups">
<field name="name">质检岗</field>
<field name="category_id" ref="base.module_category_manufacturing_quality"/>
</record>
<record id="group_quality_director" model="res.groups">
<field name="name">质量总监</field>
<field name="category_id" ref="base.module_category_manufacturing_quality"/>
</record>
<record id="group_sf_mrp_user" model="res.groups">
<field name="name">制造普通用户</field>
<field name="category_id" ref="base.module_category_manufacturing_manufacturing"/>
<field name="implied_ids" eval="[(4, ref('mrp.group_mrp_user'))]"/>
</record>
<!-- <record id="group_sf_mrp_manager" model="res.groups">-->
<!-- <field name="name">制造管理用户</field>-->
<!-- <field name="implied_ids" eval="[(4, ref('group_sf_mrp_user'))]"/>-->
<!-- <record id="group_sf_mrp_manager" model="res.groups">-->
<!-- <field name="name">制造管理用户</field>-->
<!-- <field name="implied_ids" eval="[(4, ref('group_sf_mrp_user'))]"/>-->
<!-- </record>-->
<!-- <record id="group_sf_mrp_manager" model="res.groups">-->
<!-- <field name="name">制造管理用户</field>-->
<!-- <field name="implied_ids" eval="[(4, ref('group_sf_mrp_user'))]"/>-->
<!-- <field name="category_id" ref="base.module_category_manufacturing_manufacturing"/>-->
<!-- </record>-->
<!-- </record>-->
<!-- <record id="group_sf_mrp_manager" model="res.groups">-->
<!-- <field name="name">制造管理用户</field>-->
<!-- <field name="implied_ids" eval="[(4, ref('group_sf_mrp_user'))]"/>-->
<!-- <field name="category_id" ref="base.module_category_manufacturing_manufacturing"/>-->
<!-- </record>-->
<record id="group_sf_equipment_user" model="res.groups">
<field name="name">机床操作岗</field>
<field name="implied_ids" eval="[(4, ref('group_sf_mrp_user'))]"/>
@@ -64,5 +74,17 @@
<field name="category_id" ref="module_category_plan"/>
<field name="implied_ids" eval="[(4, ref('sf_base.group_plan_dispatch'))]"/>
</record>
<record id="group_purchase" model="res.groups">
<field name="name">采购岗</field>
<field name="category_id" ref="base.module_category_inventory_purchase"/>
</record>
<record id="group_purchase_director" model="res.groups">
<field name="name">采购总监</field>
<field name="category_id" ref="base.module_category_inventory_purchase"/>
</record>
</data>
</odoo>

View File

@@ -30,6 +30,11 @@ access_sf_tool_materials_basic_parameters,sf_tool_materials_basic_parameters,mod
access_sf_cutting_speed,sf_cutting_speed,model_sf_cutting_speed,base.group_user,1,1,1,1
access_sf_feed_per_tooth,sf_feed_per_tooth,model_sf_feed_per_tooth,base.group_user,1,1,1,1
access_maintenance_equipment_image,maintenance_equipment_image,model_maintenance_equipment_image,base.group_user,1,1,1,1
access_purchase_order_group_purchase,access_purchase_order_group_purchase,purchase.model_purchase_order,sf_base.group_purchase,1,1,1,0
access_purchase_order_group_purchase_director,access_purchase_order_group_purchase_director,purchase.model_purchase_order,sf_base.group_purchase_director,1,1,1,0
access_purchase_order_line_group_purchase,access_purchase_order_line_group_purchase,purchase.model_purchase_order_line,sf_base.group_purchase,1,1,1,0
access_purchase_order_line_group_purchase_director,access_purchase_order_line_group_purchase_director,purchase.model_purchase_order_line,sf_base.group_purchase_director,1,1,1,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
30 access_sf_cutting_speed sf_cutting_speed model_sf_cutting_speed base.group_user 1 1 1 1
31 access_sf_feed_per_tooth sf_feed_per_tooth model_sf_feed_per_tooth base.group_user 1 1 1 1
32 access_maintenance_equipment_image maintenance_equipment_image model_maintenance_equipment_image base.group_user 1 1 1 1
33 access_purchase_order_group_purchase access_purchase_order_group_purchase purchase.model_purchase_order sf_base.group_purchase 1 1 1 0
34 access_purchase_order_group_purchase_director access_purchase_order_group_purchase_director purchase.model_purchase_order sf_base.group_purchase_director 1 1 1 0
35 access_purchase_order_line_group_purchase access_purchase_order_line_group_purchase purchase.model_purchase_order_line sf_base.group_purchase 1 1 1 0
36 access_purchase_order_line_group_purchase_director access_purchase_order_line_group_purchase_director purchase.model_purchase_order_line sf_base.group_purchase_director 1 1 1 0
37
38
39
40

View File

@@ -13,44 +13,5 @@
<field name="category_id" ref="base.module_category_manufacturing_maintenance"/>
</record>
<!-- <record model="ir.rule" id="crm_team_rule_salemanager">-->
<!-- <field name="name">销售经理只可以查看本人所在的团队</field>-->
<!-- <field name="model_id" ref="model_crm_team"/>-->
<!-- <field name="domain_force">[('crm_team_member_ids.user_id','=',user.id)]</field>-->
<!-- <field name="groups" eval="[(4, ref('sf_base.group_sale_salemanager'))]"/>-->
<!-- <field name="perm_read" eval="1"/>-->
<!-- <field name="perm_write" eval="0"/>-->
<!-- <field name="perm_create" eval="0"/>-->
<!-- </record>-->
<!-- <record model="ir.rule" id="crm_team_rule_director">-->
<!-- <field name="name">销售总监</field>-->
<!-- <field name="model_id" ref="model_crm_team"/>-->
<!-- <field name="domain_force">[(1,'=',1)]</field>-->
<!-- <field name="groups" eval="[(4, ref('sf_base.group_sale_director'))]"/>-->
<!-- <field name="perm_read" eval="1"/>-->
<!-- <field name="perm_write" eval="1"/>-->
<!-- <field name="perm_create" eval="1"/>-->
<!-- </record>-->
<!-- <record model="ir.rule" id="sale_order_rule_director">-->
<!-- <field name="name">销售总监查看所有的订单</field>-->
<!-- <field name="model_id" ref="model_sale_order"/>-->
<!-- <field name="domain_force">[(1,'=',1)]</field>-->
<!-- <field name="groups" eval="[(4, ref('sf_base.group_sale_director'))]"/>-->
<!-- <field name="perm_read" eval="1"/>-->
<!-- <field name="perm_write" eval="1"/>-->
<!-- </record>-->
<!-- <record model="ir.rule" id="sale_order_rule_salemanager">-->
<!-- <field name="name">销售经理查看自己的订单</field>-->
<!-- <field name="model_id" ref="model_sale_order"/>-->
<!-- <field name="domain_force">['|',('partner_id','=',user.partner_id.id),('create_uid', '=',user.id)]</field>-->
<!-- <field name="groups" eval="[(4, ref('sf_base.group_sale_salemanager'))]"/>-->
<!-- <field name="perm_read" eval="1"/>-->
<!-- <field name="perm_write" eval="1"/>-->
<!-- <field name="perm_create" eval="1"/>-->
<!-- </record>-->
</data>
</odoo>

View File

@@ -13,8 +13,9 @@
'author': 'jikimo',
'website': 'https://sf.cs.jikimo.com',
# 此处依赖sf_manufacturing是因为我要重写其中的一个字段operation_id的string故需要sf_manufacturing先安装
'depends': ['quality_control', 'sf_manufacturing'],
'depends': ['quality_control'],
'data': [
'security/ir.model.access.csv',
'views/view.xml'
],

View File

@@ -10,5 +10,27 @@ class SfQualityPoint(models.Model):
domain="[('type', 'in', "
"('product', 'consu')), '|', ('company_id', '=', False), ('company_id', '=', company_id)]", help=
"Quality Point will apply to every selected Products.")
check_state = fields.Selection([
('enable', '启用'),
('close', '关闭')
], string='审核状态', default='close')
# 审核
def action_check(self):
self.check_state = 'enable'
# picking_type_ids = fields.Many2many(
# 'stock.picking.type', string='执行节点', required=True, check_company=True)
class ResQualityAlertTeam(models.Model):
_inherit = 'quality.alert.team'
check_state = fields.Selection([
('enable', '启用'),
('close', '关闭')
], string='审核状态', default='close')
# 审核
def action_check(self):
self.check_state = 'enable'

View File

@@ -0,0 +1,43 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_quality_point_group_quality,quality_point_group_quality,quality.model_quality_point,sf_base.group_quality,1,1,1,0
access_quality_point_group_quality_director,quality_point_group_quality_director,quality.model_quality_point,sf_base.group_quality_director,1,1,0,0
access_quality_point_group_plan_dispatch,quality_point_group_plan_dispatch,quality.model_quality_point,sf_base.group_plan_dispatch,1,0,0,0
access_quality_point_group_plan_director,quality_point_group_plan_director,quality.model_quality_point,sf_base.group_plan_director,1,0,0,0
access_quality_point_group_sf_equipment_user,quality_point_group_sf_equipment_user,quality.model_quality_point,sf_base.group_sf_equipment_user,1,0,0,0
access_quality_point_group_sf_tool_user,quality_point_group_sf_tool_user,quality.model_quality_point,sf_base.group_sf_tool_user,1,0,0,0
access_quality_point_group_sf_order_user,quality_point_group_sf_order_user,quality.model_quality_point,sf_base.group_sf_order_user,1,0,0,0
access_quality_point_group_sf_mrp_manager,quality_point_group_sf_mrp_manager,quality.model_quality_point,sf_base.group_sf_mrp_manager,1,0,0,0
access_quality_check_group_quality,quality_check_group_quality,quality.model_quality_check,sf_base.group_quality,1,1,1,0
access_quality_check_group_quality_director,quality_check_group_quality_director,quality.model_quality_check,sf_base.group_quality_director,1,1,1,0
access_quality_check_group_plan_dispatch,quality_check_group_plan_dispatch,quality.model_quality_check,sf_base.group_plan_dispatch,1,0,0,0
access_quality_check_group_plan_director,quality_check_group_plan_director,quality.model_quality_check,sf_base.group_plan_director,1,0,0,0
access_quality_check_group_sf_equipment_user,quality_check_group_sf_equipment_user,quality.model_quality_check,sf_base.group_sf_equipment_user,1,0,0,0
access_quality_check_group_sf_tool_user,quality_check_group_sf_tool_user,quality.model_quality_check,sf_base.group_sf_tool_user,1,0,0,0
access_quality_check_group_sf_order_user,quality_check_group_sf_order_user,quality.model_quality_check,sf_base.group_sf_order_user,1,0,0,0
access_quality_check_group_sf_mrp_manager,quality_check_group_sf_mrp_manager,quality.model_quality_check,sf_base.group_sf_mrp_manager,1,0,0,0
access_quality_check_group_equipment_user,quality_check_group_equipment_user,quality.model_quality_check,sf_maintenance.sf_group_equipment_user,1,0,0,0
access_quality_check_group_equipment_manager,quality_check_group_equipment_manager,quality.model_quality_check,sf_maintenance.sf_group_equipment_manager,1,0,0,0
access_quality_alert_group_quality,quality_alert_group_quality,quality.model_quality_alert,sf_base.group_quality,1,1,1,0
access_quality_alert_group_quality_director,quality_alert_group_quality_director,quality.model_quality_alert,sf_base.group_quality_director,1,1,1,0
access_quality_alert_group_plan_dispatch,quality_alert_group_plan_dispatch,quality.model_quality_alert,sf_base.group_plan_dispatch,1,0,0,0
access_quality_alert_group_plan_director,quality_alert_group_plan_director,quality.model_quality_alert,sf_base.group_plan_director,1,0,0,0
access_quality_alert_group_sf_equipment_user,quality_alert_group_sf_equipment_user,quality.model_quality_alert,sf_base.group_sf_equipment_user,1,0,0,0
access_quality_alert_group_sf_tool_user,quality_alert_group_sf_tool_user,quality.model_quality_alert,sf_base.group_sf_tool_user,1,0,0,0
access_quality_alert_group_sf_order_user,quality_alert_group_sf_order_user,quality.model_quality_alert,sf_base.group_sf_order_user,1,0,0,0
access_quality_alert_group_sf_mrp_manager,quality_alert_group_sf_mrp_manager,quality.model_quality_alert,sf_base.group_sf_mrp_manager,1,0,0,0
access_quality_alert_group_equipment_user,quality_alert_group_equipment_user,quality.model_quality_alert,sf_maintenance.sf_group_equipment_user,1,0,0,0
access_quality_alert_group_equipment_manager,quality_alert_group_equipment_manager,quality.model_quality_alert,sf_maintenance.sf_group_equipment_manager,1,0,0,0
access_quality_alert_team_group_quality,quality_alert_team_group_quality,quality.model_quality_alert_team,sf_base.group_quality,1,1,1,0
access_quality_alert_team_group_quality_director,quality_alert_team_group_quality_director,quality.model_quality_alert_team,sf_base.group_quality_director,1,1,0,0
access_quality_alert_team_group_plan_dispatch,quality_alert_team_group_plan_dispatch,quality.model_quality_alert_team,sf_base.group_plan_dispatch,1,0,0,0
access_quality_alert_team_group_plan_director,quality_alert_team_group_plan_director,quality.model_quality_alert_team,sf_base.group_plan_director,1,0,0,0
access_quality_alert_team_group_sf_equipment_user,quality_alert_team_group_sf_equipment_user,quality.model_quality_alert_team,sf_base.group_sf_equipment_user,1,0,0,0
access_quality_alert_team_group_sf_tool_user,quality_alert_team_group_sf_tool_user,quality.model_quality_alert_team,sf_base.group_sf_tool_user,1,0,0,0
access_quality_alert_team_group_sf_order_user,quality_alert_team_group_sf_order_user,quality.model_quality_alert_team,sf_base.group_sf_order_user,1,0,0,0
access_quality_alert_team_group_sf_mrp_manager,quality_alert_team_group_sf_mrp_manager,quality.model_quality_alert_team,sf_base.group_sf_mrp_manager,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_quality_point_group_quality quality_point_group_quality quality.model_quality_point sf_base.group_quality 1 1 1 0
3 access_quality_point_group_quality_director quality_point_group_quality_director quality.model_quality_point sf_base.group_quality_director 1 1 0 0
4 access_quality_point_group_plan_dispatch quality_point_group_plan_dispatch quality.model_quality_point sf_base.group_plan_dispatch 1 0 0 0
5 access_quality_point_group_plan_director quality_point_group_plan_director quality.model_quality_point sf_base.group_plan_director 1 0 0 0
6 access_quality_point_group_sf_equipment_user quality_point_group_sf_equipment_user quality.model_quality_point sf_base.group_sf_equipment_user 1 0 0 0
7 access_quality_point_group_sf_tool_user quality_point_group_sf_tool_user quality.model_quality_point sf_base.group_sf_tool_user 1 0 0 0
8 access_quality_point_group_sf_order_user quality_point_group_sf_order_user quality.model_quality_point sf_base.group_sf_order_user 1 0 0 0
9 access_quality_point_group_sf_mrp_manager quality_point_group_sf_mrp_manager quality.model_quality_point sf_base.group_sf_mrp_manager 1 0 0 0
10 access_quality_check_group_quality quality_check_group_quality quality.model_quality_check sf_base.group_quality 1 1 1 0
11 access_quality_check_group_quality_director quality_check_group_quality_director quality.model_quality_check sf_base.group_quality_director 1 1 1 0
12 access_quality_check_group_plan_dispatch quality_check_group_plan_dispatch quality.model_quality_check sf_base.group_plan_dispatch 1 0 0 0
13 access_quality_check_group_plan_director quality_check_group_plan_director quality.model_quality_check sf_base.group_plan_director 1 0 0 0
14 access_quality_check_group_sf_equipment_user quality_check_group_sf_equipment_user quality.model_quality_check sf_base.group_sf_equipment_user 1 0 0 0
15 access_quality_check_group_sf_tool_user quality_check_group_sf_tool_user quality.model_quality_check sf_base.group_sf_tool_user 1 0 0 0
16 access_quality_check_group_sf_order_user quality_check_group_sf_order_user quality.model_quality_check sf_base.group_sf_order_user 1 0 0 0
17 access_quality_check_group_sf_mrp_manager quality_check_group_sf_mrp_manager quality.model_quality_check sf_base.group_sf_mrp_manager 1 0 0 0
18 access_quality_check_group_equipment_user quality_check_group_equipment_user quality.model_quality_check sf_maintenance.sf_group_equipment_user 1 0 0 0
19 access_quality_check_group_equipment_manager quality_check_group_equipment_manager quality.model_quality_check sf_maintenance.sf_group_equipment_manager 1 0 0 0
20 access_quality_alert_group_quality quality_alert_group_quality quality.model_quality_alert sf_base.group_quality 1 1 1 0
21 access_quality_alert_group_quality_director quality_alert_group_quality_director quality.model_quality_alert sf_base.group_quality_director 1 1 1 0
22 access_quality_alert_group_plan_dispatch quality_alert_group_plan_dispatch quality.model_quality_alert sf_base.group_plan_dispatch 1 0 0 0
23 access_quality_alert_group_plan_director quality_alert_group_plan_director quality.model_quality_alert sf_base.group_plan_director 1 0 0 0
24 access_quality_alert_group_sf_equipment_user quality_alert_group_sf_equipment_user quality.model_quality_alert sf_base.group_sf_equipment_user 1 0 0 0
25 access_quality_alert_group_sf_tool_user quality_alert_group_sf_tool_user quality.model_quality_alert sf_base.group_sf_tool_user 1 0 0 0
26 access_quality_alert_group_sf_order_user quality_alert_group_sf_order_user quality.model_quality_alert sf_base.group_sf_order_user 1 0 0 0
27 access_quality_alert_group_sf_mrp_manager quality_alert_group_sf_mrp_manager quality.model_quality_alert sf_base.group_sf_mrp_manager 1 0 0 0
28 access_quality_alert_group_equipment_user quality_alert_group_equipment_user quality.model_quality_alert sf_maintenance.sf_group_equipment_user 1 0 0 0
29 access_quality_alert_group_equipment_manager quality_alert_group_equipment_manager quality.model_quality_alert sf_maintenance.sf_group_equipment_manager 1 0 0 0
30 access_quality_alert_team_group_quality quality_alert_team_group_quality quality.model_quality_alert_team sf_base.group_quality 1 1 1 0
31 access_quality_alert_team_group_quality_director quality_alert_team_group_quality_director quality.model_quality_alert_team sf_base.group_quality_director 1 1 0 0
32 access_quality_alert_team_group_plan_dispatch quality_alert_team_group_plan_dispatch quality.model_quality_alert_team sf_base.group_plan_dispatch 1 0 0 0
33 access_quality_alert_team_group_plan_director quality_alert_team_group_plan_director quality.model_quality_alert_team sf_base.group_plan_director 1 0 0 0
34 access_quality_alert_team_group_sf_equipment_user quality_alert_team_group_sf_equipment_user quality.model_quality_alert_team sf_base.group_sf_equipment_user 1 0 0 0
35 access_quality_alert_team_group_sf_tool_user quality_alert_team_group_sf_tool_user quality.model_quality_alert_team sf_base.group_sf_tool_user 1 0 0 0
36 access_quality_alert_team_group_sf_order_user quality_alert_team_group_sf_order_user quality.model_quality_alert_team sf_base.group_sf_order_user 1 0 0 0
37 access_quality_alert_team_group_sf_mrp_manager quality_alert_team_group_sf_mrp_manager quality.model_quality_alert_team sf_base.group_sf_mrp_manager 1 0 0 0
38
39
40
41
42
43

View File

@@ -31,4 +31,34 @@
</p>
</field>
</record>
<record model="ir.ui.view" id="quality_point_view_form_inherit_sf">
<field name="name">quality.point.form.inherit.sf</field>
<field name="model">quality.point</field>
<field name="inherit_id" ref="quality.quality_point_view_form"/>
<field name="arch" type="xml">
<xpath expr="//header" position="inside">
<field name="check_state" invisible="1"/>
<button name="action_check" string="审核" type="object"
attrs="{'invisible': [('check_state','=', 'enable')]}"
groups="sf_base.group_quality_director"
class="oe_highlight"/>
</xpath>
</field>
</record>
<record model="ir.ui.view" id="quality_alert_team_view_form_inherit_sf">
<field name="name">quality.alert.team.form.inherit.sf</field>
<field name="model">quality.alert.team</field>
<field name="inherit_id" ref="quality_control.quality_alert_team_view_form"/>
<field name="arch" type="xml">
<xpath expr="//header" position="inside">
<field name="check_state" invisible="1"/>
<button name="action_check" string="审核" type="object"
attrs="{'invisible': [('check_state','=', 'enable')]}"
groups="sf_base.group_quality_director"
class="oe_highlight"/>
</xpath>
</field>
</record>
</odoo>

View File

@@ -16,6 +16,7 @@
'security/ir.model.access.csv',
'views/sale_team.xml',
'views/sale_order_view.xml',
'views/purchase_order_view.xml',
'views/quick_easy_order_view.xml'
],
'demo': [

View File

@@ -74,3 +74,14 @@ class ResaleOrderLine(models.Model):
_inherit = 'sale.order.line'
model_glb_file = fields.Binary('模型的glb文件')
class RePurchaseOrder(models.Model):
_inherit = 'purchase.order'
check_status = fields.Selection([('unchecked', '未审核'), ('checked', '已审核')], '审核状态', default='unchecked')
# 审核
def action_check(self):
self.check_status = 'checked'

View File

@@ -29,14 +29,54 @@
<!-- <field name="perm_write" eval="1"/>-->
<!-- </record>-->
<!-- <record model="ir.rule" id="sale_order_rule_salemanager">-->
<!-- <field name="name">销售经理查看自己的订单</field>-->
<!-- <field name="model_id" ref="model_sale_order"/>-->
<!-- <field name="domain_force">['|',('partner_id','=',user.partner_id.id),('create_uid', '=',user.id)]</field>-->
<!-- <field name="groups" eval="[(4, ref('sf_base.group_sale_salemanager'))]"/>-->
<!-- <field name="perm_read" eval="1"/>-->
<!-- <field name="perm_write" eval="1"/>-->
<!-- <field name="perm_create" eval="1"/>-->
<!-- </record>-->
<record model="ir.rule" id="sale_order_rule_salemanager">
<field name="name">销售经理查看自己的订单</field>
<field name="model_id" ref="model_sale_order"/>
<field name="domain_force">['|',('partner_id','=',user.partner_id.id),('create_uid', '=',user.id)]</field>
<field name="groups" eval="[(4, ref('sf_base.group_sale_salemanager'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
</record>
<record model="ir.rule" id="inventory_purchase_order_rule_director">
<field name="name">采购总监查看所有的订单</field>
<field name="model_id" ref="purchase.model_purchase_order"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('sf_base.group_purchase_director'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
</record>
<record model="ir.rule" id="inventory_purchase_order_rule_my">
<field name="name">采购岗查看自己的订单</field>
<field name="model_id" ref="purchase.model_purchase_order"/>
<field name="domain_force">['|',('user_id','=',user.id),('create_uid', '=',user.id)]</field>
<field name="groups" eval="[(4, ref('sf_base.group_purchase'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
</record>
<record model="ir.rule" id="purchase_supplier_rule_director">
<field name="name">采购总监查看所有供应商</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('sf_base.group_purchase_director'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
</record>
<record model="ir.rule" id="purchase_supplier_rule_my">
<field name="name">采购岗查看自己的供应商</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="domain_force">['|',('user_id','=',user.id),('create_uid', '=',user.id)]</field>
<field name="groups" eval="[(4, ref('sf_base.group_purchase'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
</record>
</data>
</odoo>

View File

@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<data>
<record model="ir.ui.view" id="view_purchase_order_form_inherit_sf">
<field name="name">purchase.order.form.inherit.sf</field>
<field name="model">purchase.order</field>
<field name="inherit_id" ref="purchase.purchase_order_form"/>
<field name="arch" type="xml">
<!-- <xpath expr="//form/header/button[@name='button_confirm[1]']" position="after">-->
<!-- <field name="check_status" invisible="1"/>-->
<!-- <button name="action_check" string="审核" type="object"-->
<!-- attrs="{'invisible': [('check_status','=', 'checked')]}"-->
<!-- class="oe_highlight"/>-->
<!-- </xpath>-->
<!-- <xpath expr="//form/header/button[@name='button_confirm'][2]" position="attributes">-->
<!-- <attribute name="attrs">{'invisible': [('check_status', '=', 'unchecked'),('state', 'in',-->
<!-- ['draft'])]}-->
<!-- </attribute>-->
<!-- </xpath>-->
<!-- <xpath expr="//form/header/button[@name='button_confirm[2]']" position="after">-->
<!-- <field name="check_status" invisible="1"/>-->
<!-- <button name="action_check" string="审核" type="object"-->
<!-- attrs="{'invisible': [('check_status','=', 'checked')]}"-->
<!-- class="oe_highlight"/>-->
<!-- </xpath>-->
<!-- <xpath expr="//form/header/button[@name='action_rfq_send[1]']" position="attributes">-->
<!-- <attribute name="groups">sf_base.group_purchase</attribute>-->
<!-- </xpath>-->
<!-- <xpath expr="//form/header/button[@name='action_rfq_send[2]']" position="attributes">-->
<!-- <attribute name="groups">sf_base.group_purchase</attribute>-->
<!-- </xpath>-->
<!-- <xpath expr="//form/header/button[@name='print_quotation[1]']" position="attributes">-->
<!-- <attribute name="groups">sf_base.group_purchase</attribute>-->
<!-- </xpath>-->
<!-- <xpath expr="//form/header/button[@name='print_quotation[2]']" position="attributes">-->
<!-- <attribute name="groups">sf_base.group_purchase</attribute>-->
<!-- </xpath>-->
<xpath expr="//form/header/button[@name='button_approve']" position="attributes">
<attribute name="groups">sf_base.group_purchase</attribute>
</xpath>
<!-- <xpath expr="//form/header/button[@name='action_create_invoice[1]']" position="attributes">-->
<!-- <attribute name="groups">sf_base.group_purchase</attribute>-->
<!-- </xpath>-->
<!-- <xpath expr="//form/header/button[@name='action_create_invoice[2]']" position="attributes">-->
<!-- <attribute name="groups">sf_base.group_purchase</attribute>-->
<!-- </xpath>-->
<xpath expr="//form/header/button[@name='confirm_reminder_mail']" position="attributes">
<attribute name="groups">sf_base.group_purchase</attribute>
</xpath>
<xpath expr="//form/header/button[@name='button_draft']" position="attributes">
<attribute name="groups">sf_base.group_purchase</attribute>
</xpath>
<xpath expr="//form/header/button[@name='button_cancel']" position="attributes">
<attribute name="groups">sf_base.group_purchase</attribute>
</xpath>
<xpath expr="//form/header/button[@name='button_unlock']" position="attributes">
<attribute name="groups">sf_base.group_purchase</attribute>
</xpath>
<xpath expr="//form/header/button[@name='button_done']" position="attributes">
<attribute name="groups">sf_base.group_purchase</attribute>
</xpath>
</field>
</record>
</data>
</odoo>

View File

@@ -71,6 +71,9 @@
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_quotation_tree_with_onboarding"/>
<field name="arch" type="xml">
<tree position="attributes">
<attribute name="delete">False</attribute>
</tree>
<field name="name" position="attributes">
<attribute name="string">订单号</attribute>
</field>