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