新增权限审核按钮
This commit is contained in:
@@ -6,8 +6,8 @@ import os
|
|||||||
from odoo import models, fields, api, _
|
from odoo import models, fields, api, _
|
||||||
from odoo.exceptions import ValidationError
|
from odoo.exceptions import ValidationError
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
#from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
#from OCC.Extend.DataExchange import write_stl_file
|
||||||
|
|
||||||
|
|
||||||
class ResProductMo(models.Model):
|
class ResProductMo(models.Model):
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import logging
|
import logging
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from odoo import fields, models, api
|
from odoo import fields, models, api
|
||||||
from quatotion import readSql, feature_recognize, auto_quatotion
|
#from quatotion import readSql, feature_recognize, auto_quatotion
|
||||||
|
|
||||||
__author__ = 'jinling.yang'
|
__author__ = 'jinling.yang'
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import os
|
|||||||
import json
|
import json
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import requests
|
import requests
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
#from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
#from OCC.Extend.DataExchange import write_stl_file
|
||||||
from odoo import models, fields, api
|
from odoo import models, fields, api
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from odoo.exceptions import ValidationError, UserError
|
from odoo.exceptions import ValidationError, UserError
|
||||||
|
|||||||
@@ -11,6 +11,14 @@ class SfLocation(models.Model):
|
|||||||
name = fields.Char('Location Name', required=True, size=20)
|
name = fields.Char('Location Name', required=True, size=20)
|
||||||
barcode = fields.Char('Barcode', copy=False, size=15)
|
barcode = fields.Char('Barcode', copy=False, size=15)
|
||||||
|
|
||||||
|
check_state = fields.Selection([
|
||||||
|
('enable', '启用'),
|
||||||
|
('close', '关闭')
|
||||||
|
], string='审核状态', default='close')
|
||||||
|
|
||||||
|
def action_check(self):
|
||||||
|
self.check_state = 'enable'
|
||||||
|
|
||||||
# 仓库类别(selection:库区、库位、货位)
|
# 仓库类别(selection:库区、库位、货位)
|
||||||
# location_type = fields.Selection([
|
# location_type = fields.Selection([
|
||||||
# ('库区', '库区'),
|
# ('库区', '库区'),
|
||||||
@@ -500,3 +508,63 @@ class SfProcurementGroup(models.Model):
|
|||||||
res = Rule.search(expression.AND([[('route_id', 'in', warehouse_routes.ids)], domain]),
|
res = Rule.search(expression.AND([[('route_id', 'in', warehouse_routes.ids)], domain]),
|
||||||
order='route_sequence, sequence', limit=1)
|
order='route_sequence, sequence', limit=1)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
|
class SfWarehouse(models.Model):
|
||||||
|
_inherit = 'stock.warehouse'
|
||||||
|
|
||||||
|
check_state = fields.Selection([
|
||||||
|
('enable', '启用'),
|
||||||
|
('close', '关闭')
|
||||||
|
], string='审核状态', default='close')
|
||||||
|
|
||||||
|
def action_check(self):
|
||||||
|
self.check_state = 'enable'
|
||||||
|
|
||||||
|
|
||||||
|
class SfRule(models.Model):
|
||||||
|
_inherit = 'stock.rule'
|
||||||
|
|
||||||
|
check_state = fields.Selection([
|
||||||
|
('enable', '启用'),
|
||||||
|
('close', '关闭')
|
||||||
|
], string='审核状态', default='close')
|
||||||
|
|
||||||
|
def action_check(self):
|
||||||
|
self.check_state = 'enable'
|
||||||
|
|
||||||
|
|
||||||
|
class SfRoute(models.Model):
|
||||||
|
_inherit = 'stock.route'
|
||||||
|
|
||||||
|
check_state = fields.Selection([
|
||||||
|
('enable', '启用'),
|
||||||
|
('close', '关闭')
|
||||||
|
], string='审核状态', default='close')
|
||||||
|
|
||||||
|
def action_check(self):
|
||||||
|
self.check_state = 'enable'
|
||||||
|
|
||||||
|
|
||||||
|
class SfPickingType(models.Model):
|
||||||
|
_inherit = 'stock.picking.type'
|
||||||
|
|
||||||
|
check_state = fields.Selection([
|
||||||
|
('enable', '启用'),
|
||||||
|
('close', '关闭')
|
||||||
|
], string='审核状态', default='close')
|
||||||
|
|
||||||
|
def action_check(self):
|
||||||
|
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'
|
||||||
|
|||||||
@@ -1,167 +1,284 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
<data>
|
||||||
<!-- <record id="view_location_tree2_sf_inherit" model="ir.ui.view"> -->
|
<!-- <record id="view_location_tree2_sf_inherit" model="ir.ui.view"> -->
|
||||||
<!-- <field name="name">stock.location.tree.sf.inherit</field> -->
|
<!-- <field name="name">stock.location.tree.sf.inherit</field> -->
|
||||||
<!-- <field name="model">stock.location</field> -->
|
<!-- <field name="model">stock.location</field> -->
|
||||||
<!-- <field name="inherit_id" ref="stock.view_location_tree2"/> -->
|
<!-- <field name="inherit_id" ref="stock.view_location_tree2"/> -->
|
||||||
<!-- <field name="arch" type="xml"> -->
|
<!-- <field name="arch" type="xml"> -->
|
||||||
<!-- <xpath expr="//tree/field[@name='complete_name']" position="before"> -->
|
<!-- <xpath expr="//tree/field[@name='complete_name']" position="before"> -->
|
||||||
<!-- <field name="barcode"/> -->
|
<!-- <field name="barcode"/> -->
|
||||||
<!-- </xpath> -->
|
<!-- </xpath> -->
|
||||||
<!-- </field> -->
|
<!-- </field> -->
|
||||||
<!-- </record> -->
|
<!-- </record> -->
|
||||||
|
|
||||||
<record id="view_location_form_sf_inherit" model="ir.ui.view">
|
<record id="view_location_form_sf_inherit" model="ir.ui.view">
|
||||||
<field name="name">stock.location.form.sf.inherit</field>
|
<field name="name">stock.location.form.sf.inherit</field>
|
||||||
<field name="model">stock.location</field>
|
<field name="model">stock.location</field>
|
||||||
<field name="inherit_id" ref="stock.view_location_form"/>
|
<field name="inherit_id" ref="stock.view_location_form"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//form/sheet/group" position="before">
|
<xpath expr="//form/sheet/group" position="before">
|
||||||
<group string="基本信息">
|
<group string="基本信息">
|
||||||
<group>
|
<group>
|
||||||
|
|
||||||
<field name="hide_location_type" invisible="1"/>
|
<field name="hide_location_type" invisible="1"/>
|
||||||
<field name="hide_area" invisible="1"/>
|
<field name="hide_area" invisible="1"/>
|
||||||
<field name="hide_shelf" invisible="1"/>
|
<field name="hide_shelf" invisible="1"/>
|
||||||
<field name="hide_location" invisible="1"/>
|
<field name="hide_location" invisible="1"/>
|
||||||
<field name="barcode" string="编码"/>
|
<field name="barcode" string="编码"/>
|
||||||
<field name="location_type"/>
|
<field name="location_type"/>
|
||||||
<field name="channel" attrs="{'invisible': [('hide_shelf', '=', False)], 'required': [('hide_shelf', '!=', False)]}"/>
|
<field name="channel"
|
||||||
<field name="direction" attrs="{'invisible': [('hide_shelf', '=', False)], 'required': [('hide_shelf', '!=', False)]}"/>
|
attrs="{'invisible': [('hide_shelf', '=', False)], 'required': [('hide_shelf', '!=', False)]}"/>
|
||||||
<field name="product_sn_id" attrs="{'invisible': [('hide_location', '=', False)], 'required': [('hide_location', '!=', False), ('location_status', '=', '空闲')]}"/>
|
<field name="direction"
|
||||||
<!-- <field name="time_test" widget="timepicker"/>-->
|
attrs="{'invisible': [('hide_shelf', '=', False)], 'required': [('hide_shelf', '!=', False)]}"/>
|
||||||
<field name="area_type" attrs="{'invisible': [('hide_area', '=', False)], 'required': [('hide_area', '!=', False)]}"/>
|
<field name="product_sn_id"
|
||||||
<field name="current_location_id" attrs="{'invisible': [('hide_area', '=', False)]}"/>
|
attrs="{'invisible': [('hide_location', '=', False)], 'required': [('hide_location', '!=', False), ('location_status', '=', '空闲')]}"/>
|
||||||
<field name="destination_location_id" attrs="{'invisible': [('hide_area', '=', False)]}"/>
|
<!-- <field name="time_test" widget="timepicker"/>-->
|
||||||
|
<field name="area_type"
|
||||||
|
attrs="{'invisible': [('hide_area', '=', False)], 'required': [('hide_area', '!=', False)]}"/>
|
||||||
|
<field name="current_location_id" attrs="{'invisible': [('hide_area', '=', False)]}"/>
|
||||||
|
<field name="destination_location_id" attrs="{'invisible': [('hide_area', '=', False)]}"/>
|
||||||
|
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<!-- <field name="storage_type" attrs="{'invisible': [('hide_area', '=', False)], 'required': [('hide_area', '!=', False)]}"/> -->
|
||||||
|
<field name="product_type" widget="many2many_tags"
|
||||||
|
attrs="{'invisible': [('hide_area', '=', False)], 'required': [('hide_area', '!=', False)]}"/>
|
||||||
|
<field name="shelf_height"
|
||||||
|
attrs="{'invisible': [('hide_shelf', '=', False)], 'required': [('hide_shelf', '!=', False)]}"/>
|
||||||
|
<field name="shelf_layer"
|
||||||
|
attrs="{'invisible': [('hide_shelf', '=', False)], 'required': [('hide_shelf', '!=', False)]}"/>
|
||||||
|
<field name="layer_capacity"
|
||||||
|
attrs="{'invisible': [('hide_shelf', '=', False)], 'required': [('hide_shelf', '!=', False)]}"/>
|
||||||
|
<field name="product_id"
|
||||||
|
attrs="{'invisible': [('hide_location', '=', False)], 'required': [('hide_location', '!=', False), ('location_status', '=', '占用')]}"/>
|
||||||
|
<field name="location_status"
|
||||||
|
attrs="{'invisible': [('hide_location', '=', False)], 'required': [('hide_location', '!=', False)]}"/>
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
<group>
|
</xpath>
|
||||||
<!-- <field name="storage_type" attrs="{'invisible': [('hide_area', '=', False)], 'required': [('hide_area', '!=', False)]}"/> -->
|
<!-- <xpath expr="//form/sheet/div/button" position="before"> -->
|
||||||
<field name="product_type" widget="many2many_tags" attrs="{'invisible': [('hide_area', '=', False)], 'required': [('hide_area', '!=', False)]}"/>
|
<!-- <button string="生成货位" name="create_location" type="object" class="oe_highlight" attrs="{'invisible': [('hide_shelf', '=', False)]}"/> -->
|
||||||
<field name="shelf_height" attrs="{'invisible': [('hide_shelf', '=', False)], 'required': [('hide_shelf', '!=', False)]}"/>
|
<!-- </xpath> -->
|
||||||
<field name="shelf_layer" attrs="{'invisible': [('hide_shelf', '=', False)], 'required': [('hide_shelf', '!=', False)]}"/>
|
<xpath expr="//form/sheet" position="before">
|
||||||
<field name="layer_capacity" attrs="{'invisible': [('hide_shelf', '=', False)], 'required': [('hide_shelf', '!=', False)]}"/>
|
<header>
|
||||||
<field name="product_id" attrs="{'invisible': [('hide_location', '=', False)], 'required': [('hide_location', '!=', False), ('location_status', '=', '占用')]}"/>
|
<button string="生成货位" name="create_location" type="object" class="oe_highlight"
|
||||||
<field name="location_status" attrs="{'invisible': [('hide_location', '=', False)], 'required': [('hide_location', '!=', False)]}"/>
|
attrs="{'invisible': [('hide_shelf', '=', False)]}"/>
|
||||||
|
</header>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//form/sheet/group[last()]">
|
||||||
|
<notebook position="after" attrs="{'invisible': [('hide_area', '=', False)]}">
|
||||||
|
<page string="库存信息">
|
||||||
|
<field name="quant_ids" widget="one2many_list" context="{'location': active_id}"/>
|
||||||
|
</page>
|
||||||
|
</notebook>
|
||||||
|
</xpath>
|
||||||
|
|
||||||
</group>
|
<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>
|
||||||
|
|
||||||
</group>
|
</xpath>
|
||||||
</xpath>
|
</field>
|
||||||
<!-- <xpath expr="//form/sheet/div/button" position="before"> -->
|
</record>
|
||||||
<!-- <button string="生成货位" name="create_location" type="object" class="oe_highlight" attrs="{'invisible': [('hide_shelf', '=', False)]}"/> -->
|
|
||||||
<!-- </xpath> -->
|
|
||||||
<xpath expr="//form/sheet" position="before">
|
|
||||||
<header>
|
|
||||||
<button string="生成货位" name="create_location" type="object" class="oe_highlight" attrs="{'invisible': [('hide_shelf', '=', False)]}"/>
|
|
||||||
</header>
|
|
||||||
</xpath>
|
|
||||||
<xpath expr="//form/sheet/group[last()]">
|
|
||||||
<notebook position="after" attrs="{'invisible': [('hide_area', '=', False)]}">
|
|
||||||
<page string="库存信息">
|
|
||||||
<field name="quant_ids" widget="one2many_list" context="{'location': active_id}"/>
|
|
||||||
</page>
|
|
||||||
</notebook>
|
|
||||||
</xpath>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="view_location_search_sf_inherit" model="ir.ui.view">
|
<record id="view_location_search_sf_inherit" model="ir.ui.view">
|
||||||
<field name="name">stock.location.search.sf.inherit</field>
|
<field name="name">stock.location.search.sf.inherit</field>
|
||||||
<field name="model">stock.location</field>
|
<field name="model">stock.location</field>
|
||||||
<field name="inherit_id" ref="stock.view_location_search"/>
|
<field name="inherit_id" ref="stock.view_location_search"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//search[1]" position="inside">
|
<xpath expr="//search[1]" position="inside">
|
||||||
<searchpanel class="account_root">
|
<searchpanel class="account_root">
|
||||||
<!-- <field name="location_type" icon="fa-filter"/> -->
|
<!-- <field name="location_type" icon="fa-filter"/> -->
|
||||||
<field name="location_id" select="multi" domain="[('location_type', '=', '货架')]"/>
|
<field name="location_id" select="multi" domain="[('location_type', '=', '货架')]"/>
|
||||||
</searchpanel>
|
</searchpanel>
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
<record id="example_kanban_view" model="ir.ui.view">
|
<record id="example_kanban_view" model="ir.ui.view">
|
||||||
<field name="name">example.kanban</field>
|
<field name="name">example.kanban</field>
|
||||||
<field name="model">stock.location</field>
|
<field name="model">stock.location</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<kanban class="o_kanban_mobile" js_class="custom_kanban">
|
<kanban class="o_kanban_mobile" js_class="custom_kanban">
|
||||||
<templates>
|
<templates>
|
||||||
<t t-name="kanban-box">
|
<t t-name="kanban-box">
|
||||||
<div t-attf-class="oe_kanban_card oe_kanban_global_click
|
<div t-attf-class="oe_kanban_card oe_kanban_global_click
|
||||||
#{record.location_status.raw_value == '空闲' ? 'kanban_color_1' : ''}
|
#{record.location_status.raw_value == '空闲' ? 'kanban_color_1' : ''}
|
||||||
#{record.location_status.raw_value == '占用' ? 'kanban_color_2' : ''}
|
#{record.location_status.raw_value == '占用' ? 'kanban_color_2' : ''}
|
||||||
#{record.location_status.raw_value == '禁用' ? 'kanban_color_3' : ''}">
|
#{record.location_status.raw_value == '禁用' ? 'kanban_color_3' : ''}">
|
||||||
<!-- 标题 -->
|
<!-- 标题 -->
|
||||||
<div class="o_kanban_card_header">
|
<div class="o_kanban_card_header">
|
||||||
<div class="o_kanban_card_header_title">
|
<div class="o_kanban_card_header_title">
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 内容 -->
|
||||||
|
<div class="o_kanban_record_bottom">
|
||||||
|
<field name="location_status"/>
|
||||||
|
</div>
|
||||||
|
<div class="o_kanban_record_bottom">
|
||||||
|
<field name="product_sn_id"/>
|
||||||
|
<span>|</span>
|
||||||
|
<field name="product_id"/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</t>
|
||||||
<!-- 内容 -->
|
<!-- <t t-name="kanban-box"> -->
|
||||||
<div class="o_kanban_record_bottom">
|
<!-- <div t-attf-class="oe_kanban_card oe_kanban_global_click -->
|
||||||
<field name="location_status"/>
|
<!-- #{record.location_status.raw_value == '空闲' ? 'kanban_color_1' : ''} -->
|
||||||
</div>
|
<!-- #{record.location_status.raw_value == '占用' ? 'kanban_color_2' : ''} -->
|
||||||
<div class="o_kanban_record_bottom">
|
<!-- #{record.location_status.raw_value == '禁用' ? 'kanban_color_3' : ''}"> -->
|
||||||
<field name="product_sn_id"/>
|
<!-- --><!-- 看板内容 -->
|
||||||
<span> | </span>
|
<!-- </div> -->
|
||||||
<field name="product_id"/>
|
<!-- <div t-attf-class="oe_kanban_card"> -->
|
||||||
</div>
|
<!-- --><!-- 标题 -->
|
||||||
</div>
|
<!-- <div class="o_kanban_card_header"> -->
|
||||||
</t>
|
<!-- <div class="o_kanban_card_header_title"> -->
|
||||||
<!-- <t t-name="kanban-box"> -->
|
<!-- <field name="name"/> -->
|
||||||
<!-- <div t-attf-class="oe_kanban_card oe_kanban_global_click -->
|
<!-- </div> -->
|
||||||
<!-- #{record.location_status.raw_value == '空闲' ? 'kanban_color_1' : ''} -->
|
<!-- </div> -->
|
||||||
<!-- #{record.location_status.raw_value == '占用' ? 'kanban_color_2' : ''} -->
|
<!-- --><!-- 内容 -->
|
||||||
<!-- #{record.location_status.raw_value == '禁用' ? 'kanban_color_3' : ''}"> -->
|
<!-- <div class="o_kanban_record_bottom"> -->
|
||||||
<!-- --><!-- 看板内容 -->
|
<!-- <field name="location_status"/> -->
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
<!-- <div t-attf-class="oe_kanban_card"> -->
|
<!-- <div class="o_kanban_record_bottom"> -->
|
||||||
<!-- --><!-- 标题 -->
|
<!-- <field name="product_sn_id"/> -->
|
||||||
<!-- <div class="o_kanban_card_header"> -->
|
<!-- <span> | </span> -->
|
||||||
<!-- <div class="o_kanban_card_header_title"> -->
|
<!-- <field name="product_id"/> -->
|
||||||
<!-- <field name="name"/> -->
|
<!-- </div> -->
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
<!-- </div> -->
|
<!-- </t> -->
|
||||||
<!-- --><!-- 内容 -->
|
</templates>
|
||||||
<!-- <div class="o_kanban_record_bottom"> -->
|
</kanban>
|
||||||
<!-- <field name="location_status"/> -->
|
</field>
|
||||||
<!-- </div> -->
|
</record>
|
||||||
<!-- <div class="o_kanban_record_bottom"> -->
|
|
||||||
<!-- <field name="product_sn_id"/> -->
|
|
||||||
<!-- <span> | </span> -->
|
|
||||||
<!-- <field name="product_id"/> -->
|
|
||||||
<!-- </div> -->
|
|
||||||
<!-- </div> -->
|
|
||||||
<!-- </t> -->
|
|
||||||
</templates>
|
|
||||||
</kanban>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="kanban_action_id" model="ir.actions.act_window">
|
<record id="kanban_action_id" model="ir.actions.act_window">
|
||||||
<field name="name">货位状态</field>
|
<field name="name">货位状态</field>
|
||||||
<field name="type">ir.actions.act_window</field>
|
<field name="type">ir.actions.act_window</field>
|
||||||
<field name="res_model">stock.location</field>
|
<field name="res_model">stock.location</field>
|
||||||
<field name="view_mode">kanban,form</field>
|
<field name="view_mode">kanban,form</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<!-- <record id="example_action" model="ir.actions.act_window"> -->
|
<!-- <record id="example_action" model="ir.actions.act_window"> -->
|
||||||
<!-- <field name="name">Example</field> -->
|
<!-- <field name="name">Example</field> -->
|
||||||
<!-- <field name="type">ir.actions.act_window</field> -->
|
<!-- <field name="type">ir.actions.act_window</field> -->
|
||||||
<!-- <field name="res_model">stock.location</field> -->
|
<!-- <field name="res_model">stock.location</field> -->
|
||||||
<!-- <field name="view_mode">kanban</field> -->
|
<!-- <field name="view_mode">kanban</field> -->
|
||||||
<!-- <field name="searchpanel">true</field> -->
|
<!-- <field name="searchpanel">true</field> -->
|
||||||
<!-- <field name="searchpanel_field_label">货架</field> -->
|
<!-- <field name="searchpanel_field_label">货架</field> -->
|
||||||
<!-- <field name="searchpanel_field_name">parent_id</field> -->
|
<!-- <field name="searchpanel_field_name">parent_id</field> -->
|
||||||
<!-- <field name="searchpanel_field_group_by">['parent_id']</field> -->
|
<!-- <field name="searchpanel_field_group_by">['parent_id']</field> -->
|
||||||
<!-- <field name="domain">[('location_type', '=', '货位')]</field> -->
|
<!-- <field name="domain">[('location_type', '=', '货位')]</field> -->
|
||||||
<!-- </record> -->
|
<!-- </record> -->
|
||||||
|
|
||||||
|
|
||||||
<!-- <menuitem id="menu_stock_location" name="货位状态" parent="stock.menu_stock_root" -->
|
<!-- <menuitem id="menu_stock_location" name="货位状态" parent="stock.menu_stock_root" -->
|
||||||
<!-- sequence="50" -->
|
<!-- sequence="50" -->
|
||||||
<!-- action="kanban_action_id"/> -->
|
<!-- action="kanban_action_id"/> -->
|
||||||
|
|
||||||
|
<!--仓库根据权限增加审核按钮-->
|
||||||
|
<record id="view_warehouse_form_sf_inherit" model="ir.ui.view">
|
||||||
|
<field name="name">stock.warehouse.form.sf.inherit</field>
|
||||||
|
<field name="model">stock.warehouse</field>
|
||||||
|
<field name="inherit_id" ref="stock.view_warehouse"/>
|
||||||
|
<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>
|
||||||
|
|
||||||
|
|
||||||
</data>
|
<!--路线根据权限增加审核按钮-->
|
||||||
|
<record id="view_route_form_sf_inherit" model="ir.ui.view">
|
||||||
|
<field name="name">stock.route.form.sf.inherit</field>
|
||||||
|
<field name="model">stock.route</field>
|
||||||
|
<field name="inherit_id" ref="stock.stock_location_route_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_rule_form_sf_inherit" model="ir.ui.view">
|
||||||
|
<field name="name">stock.rule.form.sf.inherit</field>
|
||||||
|
<field name="model">stock.rule</field>
|
||||||
|
<field name="inherit_id" ref="stock.view_stock_rule_form"/>
|
||||||
|
<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_picking_type_form_sf_inherit" model="ir.ui.view">
|
||||||
|
<field name="name">stock.picking.type.form.sf.inherit</field>
|
||||||
|
<field name="model">stock.picking.type</field>
|
||||||
|
<field name="inherit_id" ref="stock.view_picking_type_form"/>
|
||||||
|
<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_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>
|
||||||
|
</data>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
Reference in New Issue
Block a user