diff options
| -rw-r--r-- | indoteknik_custom/models/barcoding_product.py | 8 | ||||
| -rw-r--r-- | indoteknik_custom/views/barcoding_product.xml | 7 |
2 files changed, 13 insertions, 2 deletions
diff --git a/indoteknik_custom/models/barcoding_product.py b/indoteknik_custom/models/barcoding_product.py index 6bbf9fde..e1b8f41f 100644 --- a/indoteknik_custom/models/barcoding_product.py +++ b/indoteknik_custom/models/barcoding_product.py @@ -12,6 +12,14 @@ class BarcodingProduct(models.Model): barcoding_product_line = fields.One2many('barcoding.product.line', 'barcoding_product_id', string='Barcoding Product Lines', auto_join=True) product_id = fields.Many2one('product.product', string="Product", tracking=3) quantity = fields.Float(string="Quantity", tracking=3) + type = fields.Selection([('print', 'Print Barcode'), ('barcoding', 'Add Barcode To Product')], string='Type', default='print') + barcode = fields.Char(string="Barcode") + + @api.constrains('barcode') + def _send_barcode_to_product(self): + for record in self: + if record.barcode and not record.product_id.barcode: + record.product_id.barcode = record.barcode @api.onchange('product_id', 'quantity') def _onchange_product_or_quantity(self): diff --git a/indoteknik_custom/views/barcoding_product.xml b/indoteknik_custom/views/barcoding_product.xml index 566655ff..c7473d39 100644 --- a/indoteknik_custom/views/barcoding_product.xml +++ b/indoteknik_custom/views/barcoding_product.xml @@ -8,6 +8,7 @@ <tree default_order="create_date desc"> <field name="product_id"/> <field name="quantity"/> + <field name="type"/> </tree> </field> </record> @@ -32,11 +33,13 @@ <group> <group> <field name="product_id" required="1"/> - <field name="quantity" required="1"/> + <field name="type" required="1"/> + <field name="quantity" attrs="{'invisible': [['type', 'in', ('barcoding')]], 'required': [['type', 'not in', ('barcoding')]]}"/> + <field name="barcode" attrs="{'invisible': [['type', 'in', ('print')]], 'required': [['type', 'not in', ('print')]]}"/> </group> </group> <notebook> - <page string="Line"> + <page string="Line" attrs="{'invisible': [['type', 'in', ('barcoding')]]}"> <field name="barcoding_product_line"/> </page> </notebook> |
