add class contract - equipment

This commit is contained in:
sinergia 2022-09-19 18:34:22 -05:00
parent 20a0df5c50
commit d1940a271d
3 changed files with 23 additions and 5 deletions

View File

@ -24,6 +24,7 @@ def register():
subscription.CreateInitialContract,
subscription.CreateNextProrogue,
subscription.ContractSupscription,
subscription.ContractEquipment,
subscription.SubscriptionEquipment,
module='optical_equipment', type_='model')
Pool.register(

View File

@ -93,6 +93,10 @@ class OpticalEquipment(DeactivableMixin, Workflow, ModelSQL, ModelView):
'equipment','subscription', "Subscriptions",
states={'readonly': True}
)
contract_history = fields.Many2Many('optical_equipment.contract-optical_equipment.equipment',
'equipment', 'contract')
maintenance_history = fields.Function(
fields.Many2Many('optical_equipment.maintenance-optical_equipment.equipment',
'equipment', 'maintenance',"Maintenances"), 'get_maintenances_of_equipment')

View File

@ -68,8 +68,8 @@ class Contract(ModelSQL, ModelView):
contract = fields.Many2One('sale.subscription', "Contract", readonly=True)
prorogues = fields.Many2Many('sale.subscription-optical_equipment.contract',
'contract', 'subscription', 'Prorrogation')
equipments = fields.Many2Many('sale.subscription-optical_equipment.equipment', 'subscription',
'equipment', "Equipments", readonly=True,
equipments = fields.Many2Many('optical_equipment.contract-optical_equipment.equipment', 'equipment',
'contract', "Equipments", readonly=True,
domain=[['OR',
('state', '=', 'registred'),
('state', '=', 'uncontrated')]
@ -223,11 +223,10 @@ class CreateProrogue(Wizard):
contract.prorogues += (contract.id,)
contract.equipments = equipments_to_subscription
#raise UserError(str(contract.prorogues))
contract.save()
class CreateInitialContract(ModelView):
'Create Initial Contract'
__name__ = 'optical_equipment_contract.initial'
@ -305,6 +304,8 @@ class CreateContract(Wizard):
def _create_contract_base(self,dates, subscription):
pool = Pool()
#Subscription = pool.get('sale.subscription')
#subscription = Subscription.search(['id', '=', subscription.id])
ContractBase = pool.get('optical_equipment.contract')
a = self._subscription_start
@ -355,8 +356,12 @@ class CreateContract(Wizard):
lines=subscription_lines,
equipments=equipments_to_subscription,
)
antes = subscription.id
subscription.save()
self._create_contract_base(a, subscription.id)
despues = subscription.id
andes = str(antes) + str(despues)
#raise UserError(str(andes))
self._create_contract_base(a, subscription)
class Subscription(metaclass=PoolMeta):
@ -464,6 +469,14 @@ class CreateSubscriptionInvoice(Wizard):
return 'end'
class ContractEquipment(ModelSQL):
'Optical Equipment - Contract'
__name__ = 'optical_equipment.contract-optical_equipment.equipment'
equipment = fields.Many2One('optical_equipment.equipment', 'Equipment', select=True)
contract = fields.Many2One('optical_equipment.contract', 'Contract', select=True)
class SubscriptionEquipment(ModelSQL):
'Optical Equipment - Subscription'
__name__ = 'sale.subscription-optical_equipment.equipment'