[IMP] delivery,product,sale_stock,stock: split packaging views

As the product.packaging model is used for two different business cases,
the views shown when the model is used for product packaging must only
contains a product_id, barcode, and qty because and when it's used for
delivery packages we must show the carrier, barcode, size and wheight.

So for usability purpose, we have made two different views explicitly
called in each use case.
This commit is contained in:
Pierre Masereel
2017-03-14 11:47:15 +01:00
parent b3b7261db1
commit 0558d1fb39
7 changed files with 55 additions and 39 deletions
+1 -1
View File
@@ -16,10 +16,10 @@ invoices from picking, the system is able to add and compute the shipping line.
'depends': ['sale_stock'],
'data': [
'security/ir.model.access.csv',
'views/product_packaging_view.xml',
'views/delivery_view.xml',
'views/partner_view.xml',
'views/product_template_view.xml',
'views/product_packaging_view.xml',
'data/delivery_data.xml',
'views/report_shipping.xml',
'views/report_deliveryslip.xml',
+4 -1
View File
@@ -7,9 +7,12 @@
<field name="name">Packagings</field>
<field name="res_model">product.packaging</field>
<field name="domain">[('product_id', '=', False)]</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('delivery.product_packaging_delivery_tree')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('delivery.product_packaging_delivery_form')})]"/>
</record>
<menuitem id="menu_delivery_packagings" name="Delivery Packaging" parent="stock.menu_packages_config" action="action_delivery_packaging_view"/>
<menuitem id="menu_delivery_packagings" name="Delivery Packaging" parent="stock.menu_packages_config" action="action_delivery_packaging_view" groups="stock.group_tracking_lot"/>
<record id="view_delivery_carrier_tree" model="ir.ui.view">
<field name="name">delivery.carrier.tree</field>
@@ -1,38 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record model="ir.ui.view" id="delivery.product_packaging_delivery_form">
<record model="ir.ui.view" id="product_packaging_delivery_form">
<field name="name">product.packaging.form.delivery</field>
<field name="model">product.packaging</field>
<field name="inherit_id" ref="product.product_packaging_form_view"/>
<field name="arch" type="xml">
<group name="qty" position="after">
<group name="delivery">
<field name="package_carrier_type"/>
<field name="height"/>
<field name="width"/>
<field name="length"/>
<field name="max_weight"/>
<field name="shipper_package_code" groups="base.group_no_one"/>
</group>
</group>
<form string="Delivery Packaging">
<sheet>
<label for="name"/>
<h1>
<field name="name"/>
</h1>
<group name="delivery">
<field name="package_carrier_type"/>
<field name="height"/>
<field name="width"/>
<field name="length"/>
<field name="max_weight"/>
<field name="barcode"/>
<field name="shipper_package_code" groups="base.group_no_one"/>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="delivery.product_packaging_delivery_tree">
<record model="ir.ui.view" id="product_packaging_delivery_tree">
<field name="name">product.packaging.tree.delivery</field>
<field name="model">product.packaging</field>
<field name="inherit_id" ref="product.product_packaging_tree_view"/>
<field name="arch" type="xml">
<field name="qty" position="after">
<tree string="Delivery Packagings">
<field name="sequence" widget="handle"/>
<field name="package_carrier_type"/>
<field name="name" string="Packaging"/>
<field name="height"/>
<field name="width"/>
<field name="length"/>
<field name="max_weight"/>
<field name="package_carrier_type"/>
<field name="shipper_package_code" groups="base.group_no_one"/>
<field name="barcode" invisible="1"/>
</field>
</tree>
</field>
</record>
@@ -6,7 +6,8 @@
<field name="arch" type="xml">
<form string="Package">
<group>
<field name="delivery_packaging_id" domain="[('package_carrier_type', '=', context.get('current_package_carrier_type', False))]"/>
<field name="delivery_packaging_id" domain="[('package_carrier_type', '=', context.get('current_package_carrier_type', False))]"
context="{'form_view_ref':'delivery.product_packaging_delivery_form'}"/>
<label for="shipping_weight" attrs="{'invisible': [('delivery_packaging_id', '=', False)]}"/>
<div class="o_row" attrs="{'invisible': [('delivery_packaging_id', '=', False)]}">
<field name="shipping_weight"/>
+19 -14
View File
@@ -66,7 +66,7 @@
colspan="4"
attrs="{'invisible':['|', ('type', 'not in', ['product', 'consu']), ('product_variant_count', '>', 1)]}"
groups="product.group_stock_packaging">
<field name="packaging_ids" nolabel="1" context="{'default_product_id': product_variant_id}"/>
<field name="packaging_ids" nolabel="1" context="{'default_product_id': product_variant_id,'tree_view_ref':'product.product_packaging_tree_view', 'form_view_ref':'product.product_packaging_form_view'}"/>
</group>
</page>
<page string="Sales" attrs="{'invisible':[('sale_ok','=',False)]}" name="sales">
@@ -215,7 +215,7 @@
</group>
<group name="weight">
<group name="weight" string="Weights">
<label for="volume"/>
<label for="volume"/>
<div class="o_row">
<field digits="(14, 3)" name="volume"/>
<span>m³</span>
@@ -231,7 +231,7 @@
<group name="packaging" string="Packaging"
colspan="4"
groups="product.group_stock_packaging">
<field name="packaging_ids" nolabel="1"/>
<field name="packaging_ids" nolabel="1" context="{'default_product_id': id, 'tree_view_ref':'product.product_packaging_tree_view', 'form_view_ref':'product.product_packaging_form_view'}"/>
</group>
</sheet>
</form>
@@ -243,11 +243,11 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">product.product</field>
<field name="context">{'search_default_product_tmpl_id': [active_id], 'default_product_tmpl_id': active_id}</field>
<field name="search_view_id" ref="product_search_form_view"/>
<field name="view_ids"
<field name="search_view_id" ref="product_search_form_view"/>
<field name="view_ids"
eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree'}),
(0, 0, {'view_mode': 'form', 'view_id': ref('product_variant_easy_edit_view')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('product_variant_easy_edit_view')}),
(0, 0, {'view_mode': 'kanban'})]"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
@@ -444,18 +444,14 @@
<field name="view_id" ref="product_category_list_view"/>
</record>
<record model="ir.actions.act_window" id="action_packaging_view">
<field name="name">Packagings</field>
<field name="res_model">product.packaging</field>
<field name="domain">[('product_id', '!=', False)]</field>
</record>
<record id="product_packaging_tree_view" model="ir.ui.view">
<field name="name">product.packaging.tree.view</field>
<field name="model">product.packaging</field>
<field name="arch" type="xml">
<tree string="Packaging">
<tree string="Product Packagings">
<field name="sequence" widget="handle"/>
<field name="product_id"/>
<field name="name"/>
<field name="qty"/>
</tree>
@@ -466,7 +462,7 @@
<field name="name">product.packaging.form.view</field>
<field name="model">product.packaging</field>
<field name="arch" type="xml">
<form string="Packaging">
<form string="Product Packaging">
<sheet>
<label for="name"/>
<h1>
@@ -475,7 +471,7 @@
<group>
<field name="id" invisible='1'/>
<group>
<field name="product_id" attrs="{'readonly': [('id', '!=', False)]}"/>
<field name="product_id" required='True' attrs="{'readonly': [('id', '!=', False)]}"/>
</group>
<group name="qty">
<field name="qty"/>
@@ -487,6 +483,15 @@
</field>
</record>
<record model="ir.actions.act_window" id="action_packaging_view">
<field name="name">Packagings</field>
<field name="res_model">product.packaging</field>
<field name="domain">[('product_id', '!=', False)]</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('product_packaging_tree_view')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('product_packaging_form_view')})]"/>
</record>
<record id="product_supplierinfo_form_view" model="ir.ui.view">
<field name="name">product.supplierinfo.form.view</field>
<field name="model">product.supplierinfo</field>
+1 -1
View File
@@ -24,7 +24,7 @@
</group>
</xpath>
<xpath expr="//page/field[@name='order_line']/form/group/group/field[@name='tax_id']" position="before">
<field name="product_packaging" context="{'default_product_id': product_id, 'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom, 'company_id': parent.company_id}" domain="[('product_id','=',product_id)]" groups="product.group_stock_packaging" />
<field name="product_packaging" context="{'default_product_id': product_id, 'tree_view_ref':'product.product_packaging_tree_view', 'form_view_ref':'product.product_packaging_form_view'}" domain="[('product_id','=',product_id)]" groups="product.group_stock_packaging" />
</xpath>
<xpath expr="//field[@name='order_line']/form/group/group/field[@name='price_unit']" position="before">
<field name="route_id" groups="sale_stock.group_route_so_lines"/>
+4 -4
View File
@@ -9,9 +9,9 @@
<menuitem id="menu_stock_config_settings" name="Configuration" parent="menu_stock_root"
sequence="100" groups="group_stock_manager"/>
<menuitem id="menu_warehouse_config" name="Warehouse Management" parent="menu_stock_config_settings" groups="stock.group_stock_manager" sequence="1"/>
<menuitem id="menu_packages_config" name="Packages" parent="menu_stock_config_settings" sequence="3" groups="product.group_stock_packaging"/>
<menuitem id="menu_packages_config" name="Packages" parent="menu_stock_config_settings" sequence="3"/>
<menuitem id="menu_wms_barcode_nomenclature_all" parent="menu_stock_config_settings" action="barcodes.action_barcode_nomenclature_form"
<menuitem id="menu_wms_barcode_nomenclature_all" parent="menu_stock_config_settings" action="barcodes.action_barcode_nomenclature_form"
sequence="50" groups="base.group_no_one"/>
<menuitem id="menu_product_in_config_stock" name="Products" parent="stock.menu_stock_config_settings" sequence="4"/>
@@ -31,10 +31,10 @@
id="menu_stock_unit_measure_stock" name="Units of Measure"
parent="stock.menu_product_in_config_stock" sequence="35" groups="product.group_uom"/>
<menuitem id="menu_stock_uom_form_action" action="product.product_uom_form_action"
<menuitem id="menu_stock_uom_form_action" action="product.product_uom_form_action"
parent="menu_stock_config_settings" sequence="35" groups="product.group_uom"/>
<menuitem id="menu_stock_inventory_control" name="Inventory Control" parent="menu_stock_root" sequence="4"/>
<menuitem id="stock.menu_warehouse_report" name="Reporting" sequence="99" parent="stock.menu_stock_root" groups="group_stock_manager"/>
</odoo>
</odoo>