Accept Merge Request #775: (feature/修复平台派单采购单无买家问题 -> develop)
Merge Request: 修复平台派单采购单无买家问题 Created By: @杨金灵 Reviewed By: @马广威 Approved By: @马广威 Accepted By: @杨金灵 URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/775
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data noupdate="1">
|
<data>
|
||||||
<record id="product_category_embryo_sf" model="product.category">
|
<record id="product_category_embryo_sf" model="product.category">
|
||||||
<field name="name">坯料</field>
|
<field name="name">坯料</field>
|
||||||
<field name="type">坯料</field>
|
<field name="type">坯料</field>
|
||||||
@@ -35,10 +35,15 @@
|
|||||||
<field name="type">功能刀具</field>
|
<field name="type">功能刀具</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="res_partner_bfm" model="res.partner">
|
<!-- <record id="res_partner_bfm" model="res.partner">-->
|
||||||
<field name="name">业务平台</field>
|
<!-- <field name="name">业务平台</field>-->
|
||||||
<!-- <field name="company_id" ref="base.main_company"/>-->
|
<!-- <!– <field name="company_id" ref="base.main_company"/>–>-->
|
||||||
</record>
|
<!-- </record>-->
|
||||||
|
|
||||||
|
<!-- <record id="res_users_bfm" model="res.users">-->
|
||||||
|
<!-- <field name="name">业务平台</field>-->
|
||||||
|
<!-- <field name="partner_id" ref="res_partner_bfm"/>-->
|
||||||
|
<!-- </record>-->
|
||||||
|
|
||||||
<record id="product_functional_tool_sf" model="product.product">
|
<record id="product_functional_tool_sf" model="product.product">
|
||||||
<field name="name">功能刀具</field>
|
<field name="name">功能刀具</field>
|
||||||
|
|||||||
@@ -1,6 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
<record id="sequence_routing_workcenter" model="ir.sequence">
|
||||||
|
<field name="name">工序编码规则</field>
|
||||||
|
<field name="code">mrp.routing.workcenter</field>
|
||||||
|
<field name="padding">4</field>
|
||||||
|
<field name="company_id" eval="False"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
<record id="sequence_stock_picking_out" model="ir.sequence">
|
<record id="sequence_stock_picking_out" model="ir.sequence">
|
||||||
<field name="name">YourCompany Sequence ocout</field>
|
<field name="name">YourCompany Sequence ocout</field>
|
||||||
<field name="prefix">WH/OCOUT/</field>
|
<field name="prefix">WH/OCOUT/</field>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import logging
|
import logging
|
||||||
from odoo import fields, models
|
from odoo import fields, models, api
|
||||||
|
from odoo.exceptions import UserError
|
||||||
|
|
||||||
|
|
||||||
class ResMrpRoutingWorkcenter(models.Model):
|
class ResMrpRoutingWorkcenter(models.Model):
|
||||||
@@ -21,13 +22,17 @@ class ResMrpRoutingWorkcenter(models.Model):
|
|||||||
bom_id = fields.Many2one('mrp.bom', required=False)
|
bom_id = fields.Many2one('mrp.bom', required=False)
|
||||||
surface_technics_id = fields.Many2one('sf.production.process', string="表面工艺")
|
surface_technics_id = fields.Many2one('sf.production.process', string="表面工艺")
|
||||||
|
|
||||||
|
def generate_code(self):
|
||||||
|
return self.env['ir.sequence'].next_by_code('mrp.routing.workcenter')
|
||||||
|
|
||||||
|
code = fields.Char('编码', default=generate_code)
|
||||||
|
|
||||||
# 获得当前登陆者公司
|
# 获得当前登陆者公司
|
||||||
def get_company_id(self):
|
def get_company_id(self):
|
||||||
self.company_id = self.env.user.company_id.id
|
self.company_id = self.env.user.company_id.id
|
||||||
|
|
||||||
company_id = fields.Many2one('res.company', compute="get_company_id", related=False)
|
company_id = fields.Many2one('res.company', compute="get_company_id", related=False)
|
||||||
|
|
||||||
|
|
||||||
# 排产的时候, 根据坯料的长宽高比对一下机床的最大加工尺寸.不符合就不要分配给这个加工中心(机床).
|
# 排产的时候, 根据坯料的长宽高比对一下机床的最大加工尺寸.不符合就不要分配给这个加工中心(机床).
|
||||||
# 工单对应的工作中心,根据工序中的工作中心去匹配,
|
# 工单对应的工作中心,根据工序中的工作中心去匹配,
|
||||||
# 如果只配置了一个工作中心,则默认采用该工作中心;
|
# 如果只配置了一个工作中心,则默认采用该工作中心;
|
||||||
|
|||||||
@@ -232,7 +232,7 @@ class ResMrpWorkOrder(models.Model):
|
|||||||
'processing_panel': k,
|
'processing_panel': k,
|
||||||
'quality_point_ids': route.route_workcenter_id.quality_point_ids,
|
'quality_point_ids': route.route_workcenter_id.quality_point_ids,
|
||||||
'routing_type': route.routing_type,
|
'routing_type': route.routing_type,
|
||||||
'work_state': '' if not route.routing_type == '获取CNC加工程序' else '待发起',
|
'work_state': '待发起',
|
||||||
'workcenter_id': self.env['mrp.routing.workcenter'].get_workcenter(route.workcenter_ids.ids,
|
'workcenter_id': self.env['mrp.routing.workcenter'].get_workcenter(route.workcenter_ids.ids,
|
||||||
route.routing_type,
|
route.routing_type,
|
||||||
production.product_id),
|
production.product_id),
|
||||||
|
|||||||
@@ -6,6 +6,9 @@
|
|||||||
<field name="model">mrp.routing.workcenter</field>
|
<field name="model">mrp.routing.workcenter</field>
|
||||||
<field name="inherit_id" ref="mrp.mrp_routing_workcenter_form_view"/>
|
<field name="inherit_id" ref="mrp.mrp_routing_workcenter_form_view"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
|
<field name="name" position="before">
|
||||||
|
<field name="code" readonly="1"/>
|
||||||
|
</field>
|
||||||
<field name="workcenter_id" position="replace">
|
<field name="workcenter_id" position="replace">
|
||||||
<field name="workcenter_ids" widget="many2many_tags" string="工作中心" required="0"/>
|
<field name="workcenter_ids" widget="many2many_tags" string="工作中心" required="0"/>
|
||||||
<field name="surface_technics_id"
|
<field name="surface_technics_id"
|
||||||
|
|||||||
@@ -7,6 +7,19 @@ from odoo.exceptions import UserError
|
|||||||
class ReSaleOrder(models.Model):
|
class ReSaleOrder(models.Model):
|
||||||
_inherit = 'sale.order'
|
_inherit = 'sale.order'
|
||||||
|
|
||||||
|
state = fields.Selection(
|
||||||
|
selection=[
|
||||||
|
('draft', "报价"),
|
||||||
|
('sent', "报价已发送"),
|
||||||
|
('sale', "销售订单"),
|
||||||
|
('done', "已锁定"),
|
||||||
|
('cancel', '已废弃'),
|
||||||
|
],
|
||||||
|
string="状态",
|
||||||
|
readonly=True, copy=False, index=True,
|
||||||
|
tracking=3,
|
||||||
|
default='draft')
|
||||||
|
|
||||||
deadline_of_delivery = fields.Date('订单交期', tracking=True)
|
deadline_of_delivery = fields.Date('订单交期', tracking=True)
|
||||||
person_of_delivery = fields.Char('交货人')
|
person_of_delivery = fields.Char('交货人')
|
||||||
telephone_of_delivery = fields.Char('交货人电话号码')
|
telephone_of_delivery = fields.Char('交货人电话号码')
|
||||||
@@ -37,7 +50,8 @@ class ReSaleOrder(models.Model):
|
|||||||
'name': self.env['ir.sequence'].next_by_code('sale.order', sequence_date=now_time),
|
'name': self.env['ir.sequence'].next_by_code('sale.order', sequence_date=now_time),
|
||||||
'partner_id': partner.id,
|
'partner_id': partner.id,
|
||||||
'check_status': 'approved',
|
'check_status': 'approved',
|
||||||
'state': 'draft',
|
'state': 'sale',
|
||||||
|
'user_id': partner.user_id.id,
|
||||||
'person_of_delivery': delivery_name,
|
'person_of_delivery': delivery_name,
|
||||||
'telephone_of_delivery': delivery_telephone,
|
'telephone_of_delivery': delivery_telephone,
|
||||||
'address_of_delivery': delivery_address,
|
'address_of_delivery': delivery_address,
|
||||||
@@ -59,11 +73,12 @@ class ReSaleOrder(models.Model):
|
|||||||
self.check_status = 'pending'
|
self.check_status = 'pending'
|
||||||
|
|
||||||
def get_customer(self):
|
def get_customer(self):
|
||||||
customer = self.env['res.partner'].search([('name', '=', '业务平台')])
|
customer = self.env['res.partner'].search([('name', '=', '业务平台')], limit=1, order='id asc')
|
||||||
if customer:
|
if customer:
|
||||||
return customer
|
return customer
|
||||||
else:
|
else:
|
||||||
partner = self.env['res.partner'].create({'name': '业务平台'})
|
partner = self.env['res.partner'].create({'name': '业务平台'})
|
||||||
|
self.env['res.users'].create({'name': '业务平台', 'partner_id': partner.id})
|
||||||
return partner
|
return partner
|
||||||
|
|
||||||
# 业务平台分配工厂时在创建完产品后再创建销售明细信息
|
# 业务平台分配工厂时在创建完产品后再创建销售明细信息
|
||||||
@@ -79,7 +94,7 @@ class ReSaleOrder(models.Model):
|
|||||||
'product_uom_qty': item['number'],
|
'product_uom_qty': item['number'],
|
||||||
'model_glb_file': base64.b64decode(item['model_file']),
|
'model_glb_file': base64.b64decode(item['model_file']),
|
||||||
}
|
}
|
||||||
return self.env['sale.order.line'].create(vals)
|
return self.env['sale.order.line'].with_context(skip_procurement=True).create(vals)
|
||||||
|
|
||||||
@api.constrains('order_line')
|
@api.constrains('order_line')
|
||||||
def check_order_line(self):
|
def check_order_line(self):
|
||||||
@@ -113,10 +128,22 @@ class RePurchaseOrder(models.Model):
|
|||||||
|
|
||||||
check_status = fields.Selection([('pending', '待审核'), ('approved', '已审核'), ('fail', '不通过')], '审核状态')
|
check_status = fields.Selection([('pending', '待审核'), ('approved', '已审核'), ('fail', '不通过')], '审核状态')
|
||||||
remark = fields.Text('备注')
|
remark = fields.Text('备注')
|
||||||
|
user_id = fields.Many2one(
|
||||||
|
'res.users', string='买家', index=True, tracking=True,
|
||||||
|
compute='_compute_user_id',
|
||||||
|
store=True)
|
||||||
|
|
||||||
def button_confirming(self):
|
def button_confirming(self):
|
||||||
self.write({'state': 'purchase', 'check_status': 'pending'})
|
self.write({'state': 'purchase', 'check_status': 'pending'})
|
||||||
|
|
||||||
|
@api.depends('partner_id')
|
||||||
|
def _compute_user_id(self):
|
||||||
|
if not self.user_id:
|
||||||
|
if self.partner_id:
|
||||||
|
self.user_id = self.partner_id.purchase_user_id.id
|
||||||
|
else:
|
||||||
|
self.user_id = self.env.user.id
|
||||||
|
|
||||||
@api.constrains('order_line')
|
@api.constrains('order_line')
|
||||||
def check_order_line(self):
|
def check_order_line(self):
|
||||||
for item in self:
|
for item in self:
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ access_product_product_group_sale_salemanager,product_product_group_sale_saleman
|
|||||||
access_product_product_group_sale_director,product_product_group_sale_director,product.model_product_product,sf_base.group_sale_director,1,1,1,0
|
access_product_product_group_sale_director,product_product_group_sale_director,product.model_product_product,sf_base.group_sale_director,1,1,1,0
|
||||||
access_product_product_group_purchase,product_product_group_purchase,product.model_product_product,sf_base.group_purchase,1,0,0,0
|
access_product_product_group_purchase,product_product_group_purchase,product.model_product_product,sf_base.group_purchase,1,0,0,0
|
||||||
access_product_product_group_purchase_director,product_product_group_purchase_director,product.model_product_product,sf_base.group_purchase_director,1,1,1,0
|
access_product_product_group_purchase_director,product_product_group_purchase_director,product.model_product_product,sf_base.group_purchase_director,1,1,1,0
|
||||||
access_product_template_group_sale_salemanager,product_product_group_sale_salemanager,product.model_product_template,sf_base.group_sale_salemanager,1,0,0,0
|
access_product_template_group_sale_salemanager,product_template_group_sale_salemanager,product.model_product_template,sf_base.group_sale_salemanager,1,0,0,0
|
||||||
access_product_template_group_sale_director,product_template_group_sale_director,product.model_product_template,sf_base.group_sale_director,1,1,1,0
|
access_product_template_group_sale_director,product_template_group_sale_director,product.model_product_template,sf_base.group_sale_director,1,1,1,0
|
||||||
access_product_template_group_purchase,product_template_group_purchase,product.model_product_template,sf_base.group_purchase,1,0,0,0
|
access_product_template_group_purchase,product_template_group_purchase,product.model_product_template,sf_base.group_purchase,1,0,0,0
|
||||||
access_product_template_group_purchase_director,product_template_group_purchase_director,product.model_product_template,sf_base.group_purchase_director,1,1,1,0
|
access_product_template_group_purchase_director,product_template_group_purchase_director,product.model_product_template,sf_base.group_purchase_director,1,1,1,0
|
||||||
@@ -20,8 +20,8 @@ access_product_template_group_plan_dispatch,product_template_group_plan_dispatch
|
|||||||
access_product_template_group_plan_director,product_template_group_plan_director,product.model_product_template,sf_base.group_plan_director,1,1,1,0
|
access_product_template_group_plan_director,product_template_group_plan_director,product.model_product_template,sf_base.group_plan_director,1,1,1,0
|
||||||
access_stock_picking_group_sale_salemanager,stock_picking_group_sale_salemanager,stock.model_stock_picking,sf_base.group_sale_salemanager,1,0,0,0
|
access_stock_picking_group_sale_salemanager,stock_picking_group_sale_salemanager,stock.model_stock_picking,sf_base.group_sale_salemanager,1,0,0,0
|
||||||
access_stock_picking_group_sale_director,stock_picking_group_sale_director,stock.model_stock_picking,sf_base.group_sale_director,1,0,0,0
|
access_stock_picking_group_sale_director,stock_picking_group_sale_director,stock.model_stock_picking,sf_base.group_sale_director,1,0,0,0
|
||||||
access_stock_picking_group_purchase,stock_picking_group_purchase,stock.model_stock_picking,sf_base.group_purchase,1,0,0,0
|
access_stock_picking_group_purchase,stock_picking_group_purchase,stock.model_stock_picking,sf_base.group_purchase,1,1,1,0
|
||||||
access_stock_picking_group_purchase_director,stock_picking_group_purchase_director,stock.model_stock_picking,sf_base.group_purchase_director,1,0,0,0
|
access_stock_picking_group_purchase_director,stock_picking_group_purchase_director,stock.model_stock_picking,sf_base.group_purchase_director,1,1,1,0
|
||||||
access_account_move_group_sale_salemanager,account_move_group_sale_salemanager,account.model_account_move,sf_base.group_sale_salemanager,1,0,0,0
|
access_account_move_group_sale_salemanager,account_move_group_sale_salemanager,account.model_account_move,sf_base.group_sale_salemanager,1,0,0,0
|
||||||
access_account_move_group_sale_director,account_move_group_sale_director,account.model_account_move,sf_base.group_sale_director,1,0,0,0
|
access_account_move_group_sale_director,account_move_group_sale_director,account.model_account_move,sf_base.group_sale_director,1,0,0,0
|
||||||
access_resource_resource_group_sale_director,resource_resource_group_sale_director,resource.model_resource_resource,sf_base.group_sale_director,1,1,1,0
|
access_resource_resource_group_sale_director,resource_resource_group_sale_director,resource.model_resource_resource,sf_base.group_sale_director,1,1,1,0
|
||||||
@@ -33,8 +33,8 @@ access_mrp_bom_group_quality,mrp_bom_group_quality,mrp.model_mrp_bom,sf_base.gro
|
|||||||
access_mrp_bom_group_quality_director,mrp_bom_group_quality_director,mrp.model_mrp_bom,sf_base.group_quality_director,1,0,0,0
|
access_mrp_bom_group_quality_director,mrp_bom_group_quality_director,mrp.model_mrp_bom,sf_base.group_quality_director,1,0,0,0
|
||||||
access_stock_move_group_sale_salemanager,stock_move_group_sale_salemanager,stock.model_stock_move,sf_base.group_sale_salemanager,1,0,0,0
|
access_stock_move_group_sale_salemanager,stock_move_group_sale_salemanager,stock.model_stock_move,sf_base.group_sale_salemanager,1,0,0,0
|
||||||
access_stock_move_group_sale_director,stock_move_group_sale_director,stock.model_stock_move,sf_base.group_sale_director,1,0,0,0
|
access_stock_move_group_sale_director,stock_move_group_sale_director,stock.model_stock_move,sf_base.group_sale_director,1,0,0,0
|
||||||
access_stock_move_group_purchase,stock_move_group_purchase,stock.model_stock_move,sf_base.group_purchase,1,0,0,0
|
access_stock_move_group_purchase,stock_move_group_purchase,stock.model_stock_move,sf_base.group_purchase,1,1,1,0
|
||||||
access_stock_move_group_purchase_director,stock_move_group_purchase_director,stock.model_stock_move,sf_base.group_purchase_director,1,0,0,0
|
access_stock_move_group_purchase_director,stock_move_group_purchase_director,stock.model_stock_move,sf_base.group_purchase_director,1,1,1,0
|
||||||
access_stock_warehouse_orderpoint_group_sale_salemanager,stock_warehouse_orderpoint_group_sale_salemanager,stock.model_stock_warehouse_orderpoint,sf_base.group_sale_salemanager,1,0,0,0
|
access_stock_warehouse_orderpoint_group_sale_salemanager,stock_warehouse_orderpoint_group_sale_salemanager,stock.model_stock_warehouse_orderpoint,sf_base.group_sale_salemanager,1,0,0,0
|
||||||
access_stock_warehouse_orderpoint_group_sale_director,stock_warehouse_orderpoint_group_sale_director,stock.model_stock_warehouse_orderpoint,sf_base.group_sale_director,1,0,0,0
|
access_stock_warehouse_orderpoint_group_sale_director,stock_warehouse_orderpoint_group_sale_director,stock.model_stock_warehouse_orderpoint,sf_base.group_sale_director,1,0,0,0
|
||||||
access_stock_warehouse_orderpoint_group_purchase,stock_warehouse_orderpoint_group_purchase,stock.model_stock_warehouse_orderpoint,sf_base.group_purchase,1,1,0,0
|
access_stock_warehouse_orderpoint_group_purchase,stock_warehouse_orderpoint_group_purchase,stock.model_stock_warehouse_orderpoint,sf_base.group_purchase,1,1,0,0
|
||||||
|
|||||||
|
@@ -11,14 +11,14 @@
|
|||||||
</field>
|
</field>
|
||||||
<field name="currency_id" position="after">
|
<field name="currency_id" position="after">
|
||||||
<field name="check_status" invisible="1"/>
|
<field name="check_status" invisible="1"/>
|
||||||
<!-- <field name="state"/>-->
|
<!-- <field name="state"/>-->
|
||||||
<field name="remark" attrs="{'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
|
<field name="remark" attrs="{'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
|
||||||
['pending','approved'])]}"/>
|
['pending','approved'])]}"/>
|
||||||
</field>
|
</field>
|
||||||
<xpath expr="//form/header/button[@name='action_rfq_send'][1]" position="after">
|
<xpath expr="//form/header/button[@name='action_rfq_send'][1]" position="after">
|
||||||
<button name="sf_sale.action_purchase_order_check_wizard" string="审核" type="action"
|
<button name="sf_sale.action_purchase_order_check_wizard" string="审核" type="action"
|
||||||
context="{'default_order_id':active_id}" groups="sf_base.group_purchase_director"
|
context="{'default_order_id':active_id}" groups="sf_base.group_purchase_director"
|
||||||
attrs="{'invisible': ['&',('check_status','in', ['approved',False]),('state', 'in', ['purchase'])]}"
|
attrs="{'invisible': ['&',('check_status','in', ['approved',False,'fail']),('state', 'in', ['purchase'])]}"
|
||||||
class="oe_highlight"/>
|
class="oe_highlight"/>
|
||||||
|
|
||||||
</xpath>
|
</xpath>
|
||||||
|
|||||||
@@ -84,7 +84,7 @@
|
|||||||
<xpath expr="//form/header/button[@name='action_confirm'][2]" position="replace">
|
<xpath expr="//form/header/button[@name='action_confirm'][2]" position="replace">
|
||||||
<button name="action_confirm" data-hotkey="v"
|
<button name="action_confirm" data-hotkey="v"
|
||||||
string="确认" type="object" context="{'validate_analytic': True}"
|
string="确认" type="object" context="{'validate_analytic': True}"
|
||||||
attrs="{'invisible': ['|','&',('check_status', '!=', 'approved'),('state', 'in', ['draft','cancel']),'&',('check_status', '=', 'approved'),('state', 'in', ['sale','cancel'])]}"/>
|
attrs="{'invisible': ['|','&',('check_status', '!=', 'approved'),('state', 'in', ['draft','cancel']),'&','&',('check_status', '=', 'approved'),('state', 'in', ['sale','cancel']),('schedule_status', 'not in', False)]}"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//form/header/button[@name='action_cancel']" position="attributes">
|
<xpath expr="//form/header/button[@name='action_cancel']" position="attributes">
|
||||||
<attribute name="attrs">{'invisible': ['|',('state', 'in', ['cancel']),('check_status', 'in',
|
<attribute name="attrs">{'invisible': ['|',('state', 'in', ['cancel']),('check_status', 'in',
|
||||||
@@ -237,6 +237,9 @@
|
|||||||
<field name="model">product.template</field>
|
<field name="model">product.template</field>
|
||||||
<field name="inherit_id" ref="sale.product_template_form_view"/>
|
<field name="inherit_id" ref="sale.product_template_form_view"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
|
<form position="attributes">
|
||||||
|
<attribute name="delete">False</attribute>
|
||||||
|
</form>
|
||||||
<field name="categ_id" position="replace">
|
<field name="categ_id" position="replace">
|
||||||
<field name='categ_id' invisible="1"/>
|
<field name='categ_id' invisible="1"/>
|
||||||
</field>
|
</field>
|
||||||
|
|||||||
@@ -240,7 +240,7 @@ class FunctionalToolWarning(models.Model):
|
|||||||
class StockMoveLine(models.Model):
|
class StockMoveLine(models.Model):
|
||||||
_inherit = 'stock.move.line'
|
_inherit = 'stock.move.line'
|
||||||
_description = '功能刀具出入库记录'
|
_description = '功能刀具出入库记录'
|
||||||
_order = 'install_tool_time desc'
|
# _order = 'install_tool_time desc'
|
||||||
|
|
||||||
functional_tool_name_id = fields.Many2one('sf.functional.tool.assembly', string='功能刀具名称')
|
functional_tool_name_id = fields.Many2one('sf.functional.tool.assembly', string='功能刀具名称')
|
||||||
functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', store=True,
|
functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', store=True,
|
||||||
|
|||||||
@@ -567,30 +567,6 @@ class SfPickingType(models.Model):
|
|||||||
self.check_state = 'enable'
|
self.check_state = 'enable'
|
||||||
|
|
||||||
|
|
||||||
class SfProductCategory(models.Model):
|
|
||||||
_inherit = 'product.category'
|
|
||||||
|
|
||||||
check_state = fields.Selection([
|
|
||||||
('enable', '启用'),
|
|
||||||
('close', '关闭')
|
|
||||||
], string='审核状态', default='close')
|
|
||||||
|
|
||||||
def action_check(self):
|
|
||||||
self.check_state = 'enable'
|
|
||||||
|
|
||||||
|
|
||||||
class SfUomCategory(models.Model):
|
|
||||||
_inherit = 'uom.category'
|
|
||||||
|
|
||||||
check_state = fields.Selection([
|
|
||||||
('enable', '启用'),
|
|
||||||
('close', '关闭')
|
|
||||||
], string='审核状态', default='close')
|
|
||||||
|
|
||||||
def action_check(self):
|
|
||||||
self.check_state = 'enable'
|
|
||||||
|
|
||||||
|
|
||||||
class SfBarcodeNomenclature(models.Model):
|
class SfBarcodeNomenclature(models.Model):
|
||||||
_inherit = 'barcode.nomenclature'
|
_inherit = 'barcode.nomenclature'
|
||||||
|
|
||||||
|
|||||||
@@ -312,69 +312,6 @@
|
|||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
||||||
<!--产品类别根据权限增加审核按钮-->
|
|
||||||
<record id="view_product_category_form_sf_inherit" model="ir.ui.view">
|
|
||||||
<field name="name">product.category.form.sf.inherit</field>
|
|
||||||
<field name="model">product.category</field>
|
|
||||||
<field name="inherit_id" ref="product.product_category_form_view"/>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<xpath expr="//sheet" position="before">
|
|
||||||
<header>
|
|
||||||
<field name="check_state" invisible="1"/>
|
|
||||||
<button name="action_check" string="审核" type="object"
|
|
||||||
attrs="{'invisible': [('check_state','=', 'enable')]}"
|
|
||||||
groups="sf_warehouse.group_sf_stock_manager"
|
|
||||||
class="oe_highlight"/>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
</xpath>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="view_product_category_tree_sf_inherit" model="ir.ui.view">
|
|
||||||
<field name="name">product.category.tree.sf.inherit</field>
|
|
||||||
<field name="model">product.category</field>
|
|
||||||
<field name="inherit_id" ref="product.product_category_list_view"/>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<xpath expr="//field[last()]" position="after">
|
|
||||||
<field name="check_state" widget="label_selection"
|
|
||||||
options="{'classes': {'unchecked':'warning','checked': 'success'}}"/>
|
|
||||||
</xpath>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<!--计量单位类别根据权限增加审核按钮-->
|
|
||||||
<record id="view_uom_category_form_sf_inherit" model="ir.ui.view">
|
|
||||||
<field name="name">uom.category.form.sf.inherit</field>
|
|
||||||
<field name="model">uom.category</field>
|
|
||||||
<field name="inherit_id" ref="uom.product_uom_categ_form_view"/>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<xpath expr="//sheet" position="before">
|
|
||||||
<header>
|
|
||||||
<field name="check_state" invisible="1"/>
|
|
||||||
<button name="action_check" string="审核" type="object"
|
|
||||||
attrs="{'invisible': [('check_state','=', 'enable')]}"
|
|
||||||
groups="sf_warehouse.group_sf_stock_manager"
|
|
||||||
class="oe_highlight"/>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
</xpath>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="view_uom_category_tree_sf_inherit" model="ir.ui.view">
|
|
||||||
<field name="name">uom.category.tree.sf.inherit</field>
|
|
||||||
<field name="model">uom.category</field>
|
|
||||||
<field name="inherit_id" ref="uom.product_uom_categ_tree_view"/>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<xpath expr="//field[last()]" position="after">
|
|
||||||
<field name="check_state" widget="label_selection"
|
|
||||||
options="{'classes': {'unchecked':'warning','checked': 'success'}}"/>
|
|
||||||
</xpath>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<!--条码命名规则根据权限增加审核按钮-->
|
<!--条码命名规则根据权限增加审核按钮-->
|
||||||
<record id="view_barcode_nomenclature_form_sf_inherit" model="ir.ui.view">
|
<record id="view_barcode_nomenclature_form_sf_inherit" model="ir.ui.view">
|
||||||
<field name="name">barcode.nomenclature.form.sf.inherit</field>
|
<field name="name">barcode.nomenclature.form.sf.inherit</field>
|
||||||
|
|||||||
Reference in New Issue
Block a user