correction to assigned serial

This commit is contained in:
sinergia 2022-08-02 19:37:32 -05:00
parent 5566df2b5d
commit b657f5cd4d
4 changed files with 34 additions and 21 deletions

View File

@ -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)

View File

@ -58,6 +58,16 @@
<field name="count" eval="True"/>
<field name="act_window" ref="act_optical_equipment_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_optical_equipment_form_domain_uncontrated">
<field name="name">UnContrated</field>
<field name="sequence" eval="30"/>
<field name="domain"
eval="[('state', '=', 'uncontrated')]"
pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_optical_equipment_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_optical_equipment_form_domain_contrated">
<field name="name">Contrated</field>
<field name="sequence" eval="30"/>

View File

@ -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')

View File

@ -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):