diff --git a/beesdoo_product/models/beesdoo_product.py b/beesdoo_product/models/beesdoo_product.py
index 330cb9e..16c9672 100644
--- a/beesdoo_product/models/beesdoo_product.py
+++ b/beesdoo_product/models/beesdoo_product.py
@@ -36,6 +36,18 @@ class BeesdooProduct(models.Model):
ingredients = fields.Char(string="Ingredient")
scale_label_info_1 = fields.Char(string="Scale lable info 1")
scale_label_info_2 = fields.Char(string="Scale lable info 2")
+ scale_sale_unit = fields.Char(compute="_get_scale_sale_uom", string="Scale sale unit", store=True)
+ scale_category = fields.Many2one('beesdoo.scale.category', string="Scale Category")
+ scale_category_code = fields.Integer(related='scale_category.code', string="Scale category code", readonly=True, store=True)
+
+ @api.depends('uom_id','uom_id.category_id','uom_id.category_id.type')
+ @api.multi
+ def _get_scale_sale_uom(self):
+ for product in self:
+ if product.uom_id.category_id.type == 'unit':
+ product.scale_sale_unit = 'F'
+ elif product.uom_id.category_id.type == 'weight':
+ product.scale_sale_unit = 'P'
def _get_main_supplier_info(self):
return self.seller_ids.sorted(key=lambda seller: seller.date_start, reverse=True)
@@ -101,6 +113,16 @@ class BeesdooProduct(models.Model):
if(len(suppliers) > 0):
self.suggested_price = (suppliers[0].price * self.uom_po_id.factor)* (1 + suppliers[0].product_tmpl_id.categ_id.profit_margin / 100)
+class BeesdooScaleCategory(models.Model):
+ _name = "beesdoo.scale.category"
+
+ name = fields.Char(string="Scale name category")
+ code = fields.Integer(string="Category code")
+
+ _sql_constraints = [
+ ('code_scale_categ_uniq', 'unique (code)', 'The code of the scale category must be unique !')
+ ]
+
class BeesdooProductLabel(models.Model):
_name = "beesdoo.product.label"
@@ -125,3 +147,14 @@ class BeesdooProductSupplierInfo(models.Model):
price = fields.Float('exVAT Price')
+class BeesdooUOMCateg(models.Model):
+ _inherit = 'product.uom.categ'
+
+ type = fields.Selection([('unit','Unit'),
+ ('weight','Weight'),
+ ('time','Time'),
+ ('distance','Distance'),
+ ('surface','Surface'),
+ ('volume','Volume'),
+ ('other','Other')],string='Category type',default='unit')
+
\ No newline at end of file
diff --git a/beesdoo_product/security/ir.model.access.csv b/beesdoo_product/security/ir.model.access.csv
index b68d1b1..1b5fb80 100644
--- a/beesdoo_product/security/ir.model.access.csv
+++ b/beesdoo_product/security/ir.model.access.csv
@@ -1,3 +1,5 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-beesdoo_product_label_read_all,beesdoo.product.label Read All,model_beesdoo_product_label,,1,0,0,0
-beesdoo_product_label_all_access_sale_manager,beesdoo.product.label All Access Sale Manager,model_beesdoo_product_label,base.group_sale_manager,1,1,1,1
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+beesdoo_product_label_read_all,beesdoo.product.label Read All,model_beesdoo_product_label,,1,0,0,0
+beesdoo_product_label_all_access_sale_manager,beesdoo.product.label All Access Sale Manager,model_beesdoo_product_label,base.group_sale_manager,1,1,1,1
+beesdoo_scale_category_read_all,beesdoo.scale.category Read All,model_beesdoo_scale_category,,1,0,0,0
+beesdoo_scale_categoryl_all_access_sale_manager,beesdoo.scale.category All Access Sale Manager,model_beesdoo_scale_category,base.group_sale_manager,1,1,1,0
diff --git a/beesdoo_product/views/beesdoo_product.xml b/beesdoo_product/views/beesdoo_product.xml
index 5c0ae0e..010d687 100644
--- a/beesdoo_product/views/beesdoo_product.xml
+++ b/beesdoo_product/views/beesdoo_product.xml
@@ -53,12 +53,19 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -134,4 +141,48 @@
+
+
+ product.uom.categ.form
+ product.uom.categ
+
+
+
+
+
+
+
+
+
+ beesdoo.scale.category.list
+ beesdoo.scale.category
+
+
+
+
+
+
+
+
+
+ beesdoo.scale.category.form
+ beesdoo.scale.category
+
+
+
+
+
+
+ Scale categories
+ beesdoo.scale.category
+ tree,form
+
+
+