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.CreateInitialContract,
subscription.CreateNextProrogue, subscription.CreateNextProrogue,
subscription.ContractSupscription, subscription.ContractSupscription,
subscription.ContractEquipment,
subscription.SubscriptionEquipment, subscription.SubscriptionEquipment,
module='optical_equipment', type_='model') module='optical_equipment', type_='model')
Pool.register( Pool.register(

View File

@ -93,6 +93,10 @@ class OpticalEquipment(DeactivableMixin, Workflow, ModelSQL, ModelView):
'equipment','subscription', "Subscriptions", 'equipment','subscription', "Subscriptions",
states={'readonly': True} states={'readonly': True}
) )
contract_history = fields.Many2Many('optical_equipment.contract-optical_equipment.equipment',
'equipment', 'contract')
maintenance_history = fields.Function( maintenance_history = fields.Function(
fields.Many2Many('optical_equipment.maintenance-optical_equipment.equipment', fields.Many2Many('optical_equipment.maintenance-optical_equipment.equipment',
'equipment', 'maintenance',"Maintenances"), 'get_maintenances_of_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) contract = fields.Many2One('sale.subscription', "Contract", readonly=True)
prorogues = fields.Many2Many('sale.subscription-optical_equipment.contract', prorogues = fields.Many2Many('sale.subscription-optical_equipment.contract',
'contract', 'subscription', 'Prorrogation') 'contract', 'subscription', 'Prorrogation')
equipments = fields.Many2Many('sale.subscription-optical_equipment.equipment', 'subscription', equipments = fields.Many2Many('optical_equipment.contract-optical_equipment.equipment', 'equipment',
'equipment', "Equipments", readonly=True, 'contract', "Equipments", readonly=True,
domain=[['OR', domain=[['OR',
('state', '=', 'registred'), ('state', '=', 'registred'),
('state', '=', 'uncontrated')] ('state', '=', 'uncontrated')]
@ -223,11 +223,10 @@ class CreateProrogue(Wizard):
contract.prorogues += (contract.id,) contract.prorogues += (contract.id,)
contract.equipments = equipments_to_subscription contract.equipments = equipments_to_subscription
#raise UserError(str(contract.prorogues))
contract.save() contract.save()
class CreateInitialContract(ModelView): class CreateInitialContract(ModelView):
'Create Initial Contract' 'Create Initial Contract'
__name__ = 'optical_equipment_contract.initial' __name__ = 'optical_equipment_contract.initial'
@ -305,6 +304,8 @@ class CreateContract(Wizard):
def _create_contract_base(self,dates, subscription): def _create_contract_base(self,dates, subscription):
pool = Pool() pool = Pool()
#Subscription = pool.get('sale.subscription')
#subscription = Subscription.search(['id', '=', subscription.id])
ContractBase = pool.get('optical_equipment.contract') ContractBase = pool.get('optical_equipment.contract')
a = self._subscription_start a = self._subscription_start
@ -355,8 +356,12 @@ class CreateContract(Wizard):
lines=subscription_lines, lines=subscription_lines,
equipments=equipments_to_subscription, equipments=equipments_to_subscription,
) )
antes = subscription.id
subscription.save() 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): class Subscription(metaclass=PoolMeta):
@ -464,6 +469,14 @@ class CreateSubscriptionInvoice(Wizard):
return 'end' 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): class SubscriptionEquipment(ModelSQL):
'Optical Equipment - Subscription' 'Optical Equipment - Subscription'
__name__ = 'sale.subscription-optical_equipment.equipment' __name__ = 'sale.subscription-optical_equipment.equipment'