summaryrefslogtreecommitdiff
path: root/addons/delivery
diff options
context:
space:
mode:
authorPierre Masereel <pim@odoo.com>2019-04-23 13:40:54 +0000
committerPierre Masereel <pim@odoo.com>2020-02-04 12:57:52 +0000
commit2c079fcd107caec3a25e2a78d4d0e5af1d8237da (patch)
tree6cc71298daf06f665879719e475656cda3f8514f /addons/delivery
parentbd1edc62f31f5426549bb88615486934ceff389c (diff)
[IMP] product,delivery: improve unit of measure display
Diffstat (limited to 'addons/delivery')
-rw-r--r--addons/delivery/models/product_packaging.py18
-rw-r--r--addons/delivery/views/product_packaging_view.xml28
2 files changed, 42 insertions, 4 deletions
diff --git a/addons/delivery/models/product_packaging.py b/addons/delivery/models/product_packaging.py
index 7e98ebf7cff..939a6dd0bdf 100644
--- a/addons/delivery/models/product_packaging.py
+++ b/addons/delivery/models/product_packaging.py
@@ -7,12 +7,21 @@ from odoo import models, fields, api
class ProductPackaging(models.Model):
_inherit = 'product.packaging'
+
+ def _get_default_length_uom(self):
+ return self.env['product.template']._get_length_uom_name_from_ir_config_parameter()
+
+ def _get_default_weight_uom(self):
+ return self.env['product.template']._get_weight_uom_name_from_ir_config_parameter()
+
height = fields.Integer('Height')
width = fields.Integer('Width')
packaging_length = fields.Integer('Length')
max_weight = fields.Float('Max Weight', help='Maximum weight shippable in this packaging')
shipper_package_code = fields.Char('Package Code')
package_carrier_type = fields.Selection([('none', 'No carrier integration')], string='Carrier', default='none')
+ weight_uom_name = fields.Char(string='Weight unit of measure label', compute='_compute_weight_uom_name', default=_get_default_weight_uom)
+ length_uom_name = fields.Char(string='Length unit of measure label', compute='_compute_length_uom_name', default=_get_default_length_uom)
_sql_constraints = [
('positive_height', 'CHECK(height>=0)', 'Height must be positive'),
@@ -28,3 +37,12 @@ class ProductPackaging(models.Model):
self.shipper_package_code = carrier_id._get_default_custom_package_code()
else:
self.shipper_package_code = False
+
+
+ def _compute_length_uom_name(self):
+ for packaging in self:
+ packaging.length_uom_name = self.env['product.template']._get_length_uom_name_from_ir_config_parameter()
+
+ def _compute_weight_uom_name(self):
+ for packaging in self:
+ packaging.weight_uom_name = self.env['product.template']._get_weight_uom_name_from_ir_config_parameter()
diff --git a/addons/delivery/views/product_packaging_view.xml b/addons/delivery/views/product_packaging_view.xml
index 612d4f9fd99..0d3baff2194 100644
--- a/addons/delivery/views/product_packaging_view.xml
+++ b/addons/delivery/views/product_packaging_view.xml
@@ -13,13 +13,33 @@
<field name="name"/>
</h1>
<group name="delivery">
+ <group>
<field name="package_carrier_type"/>
- <field name="height"/>
- <field name="width"/>
- <field name="packaging_length"/>
- <field name="max_weight"/>
+ <label for="height"/>
+ <div class="o_row" name="height">
+ <field name="height"/>
+ <span><field name="length_uom_name"/></span>
+ </div>
+ <label for="width"/>
+ <div class="o_row" name="width">
+ <field name="width"/>
+ <span><field name="length_uom_name"/></span>
+ </div>
+ <label for="packaging_length"/>
+ <div class="o_row" name="packaging_length">
+ <field name="packaging_length"/>
+ <span><field name="length_uom_name"/></span>
+ </div>
+ </group>
+ <group>
+ <label for="max_weight"/>
+ <div class="o_row" name="max_weight">
+ <field name="max_weight"/>
+ <span><field name="weight_uom_name"/></span>
+ </div>
<field name="barcode"/>
<field name="shipper_package_code"/>
+ </group>
</group>
</sheet>
</form>