From b657f5cd4d20f1ab40273682fb963b2074ff9f7f Mon Sep 17 00:00:00 2001 From: sinergia Date: Tue, 2 Aug 2022 19:37:32 -0500 Subject: [PATCH] correction to assigned serial --- equipment.py | 37 +++++++++++++++++++------------------ equipment.xml | 10 ++++++++++ sale.py | 2 +- subscription.py | 6 ++++-- 4 files changed, 34 insertions(+), 21 deletions(-) diff --git a/equipment.py b/equipment.py index 7642c50..17f8726 100644 --- a/equipment.py +++ b/equipment.py @@ -5,7 +5,6 @@ from trytond.model import ( from trytond.pyson import Eval, If from trytond.transaction import Transaction from trytond.i18n import gettext -#from .exceptions import NotSequenceEquipment from trytond.exceptions import UserError @@ -27,12 +26,12 @@ class OpticalEquipment(Workflow, ModelSQL, ModelView): code = fields.Char( "Code", select=True,states={'readonly': True }) - state = fields.Selection([ - ('draft', "Draft"), - ('registred', "Registred"), - ('contrated', "Contrated") - ], "State", - required=True, readonly=True, sort=False) + state = fields.Selection([('draft', "Draft"), + ('registred', "Registred"), + ('uncontrated', "UnContrated"), + ('contrated', "Contrated") + ], "State", + required=True, readonly=True, sort=False) company = fields.Many2One('company.company', "Company", readonly=True) location = fields.Many2One('stock.location', "Location", @@ -97,6 +96,7 @@ class OpticalEquipment(Workflow, ModelSQL, ModelView): depends=['propietary']) + del _states_serial @classmethod @@ -104,7 +104,8 @@ class OpticalEquipment(Workflow, ModelSQL, ModelView): super(OpticalEquipment, cls).__setup__() cls._transitions = ({ ('draft', 'registred'), - ('registred', 'contrated'), + ('registred', 'uncontrated'), + ('uncontrated', 'contrated'), }) cls._buttons.update({ 'draft': { @@ -118,15 +119,16 @@ class OpticalEquipment(Workflow, ModelSQL, ModelView): pool = Pool() Config = pool.get('optical_equipment.configuration') config = Config(1) + for equipment in equipments: - if config.equipment_sequence != None and not equipment.code: - #if not equipment.code: - try: - equipment.code = config.equipment_sequence.get() - equipment.state = 'registred' - cls.save(equipments) #Revisar - except UserError: - raise UserError(str('Validation Error')) + if config.equipment_sequence != None: + if equipment.code == None: #if not equipment.code: + try: + equipment.code = config.equipment_sequence.get() + equipment.state = 'registred' + cls.save(equipments) #Revisar + except UserError: + raise UserError(str('Validation Error')) else: raise UserError(gettext('optical_equipment.msg_not_sequence_equipment')) @@ -139,8 +141,7 @@ class OpticalEquipment(Workflow, ModelSQL, ModelView): maintenancesEquipment = MaintenancesEquipment.search(['equipment', '=', self.id]) maintenances = [] - - #raise UserError(str(maintenancesEquipment)) + for key in maintenancesEquipment: maintenances.append(key.id) diff --git a/equipment.xml b/equipment.xml index 0029592..57547ff 100644 --- a/equipment.xml +++ b/equipment.xml @@ -58,6 +58,16 @@ + + UnContrated + + + + + + Contrated diff --git a/sale.py b/sale.py index 134f1ab..24b2eaa 100644 --- a/sale.py +++ b/sale.py @@ -118,7 +118,7 @@ class SaleLine(metaclass=PoolMeta): product_equipment = fields.Boolean("Product Equipment") equipment = fields.Many2One('optical_equipment.equipment', "Equipment", domain=[('state', '=', 'registred')], - states={'invisible': If(~Eval('product_equipment'), True)}) + states={'invisible': If(~Eval('product_equipment'), True)},) address_equipment = fields.Many2One('party.address', "Direccion") unit_digits = fields.Function(fields.Integer('Unit Digits'), 'on_change_with_unit_digits') diff --git a/subscription.py b/subscription.py index b26e214..1b3c5cb 100644 --- a/subscription.py +++ b/subscription.py @@ -10,7 +10,6 @@ class Subscription(metaclass=PoolMeta): equipments = fields.Many2Many('sale.subscription-optical_equipment.equipment', 'subscription', 'equipment', "Equipments") - @classmethod @ModelView.button @Workflow.transition('running') @@ -27,7 +26,10 @@ class SubscriptionEquipment(ModelSQL): __name__ = 'sale.subscription-optical_equipment.equipment' subscription = fields.Many2One('sale.subscription', 'Subscription', select=True) - equipment = fields.Many2One('optical_equipment.equipment', 'Equipment', select=True) + equipment = fields.Many2One('optical_equipment.equipment', 'Equipment', select=True, + domain=[('state', '=', 'registred'), + ('state', '=', 'uncontrated')], + depends=['state']) class Line(metaclass=PoolMeta):