trytondo-optical_equipment/subscription.py
2022-07-05 11:43:58 -05:00

60 lines
2.2 KiB
Python

from trytond.pool import Pool, PoolMeta
from trytond.model import (
ModelSQL, ModelView, Workflow, fields)
from trytond.modules.company.model import set_employee
from trytond.exceptions import UserError
class Subscription(metaclass=PoolMeta):
__name__ = 'sale.subscription'
equipments = fields.Many2Many('sale.subscription-optical_equipment.equipment', 'subscription',
'equipment', "Equipments")
"""@classmethod
@ModelView.button
@Workflow.transition('running')
@set_employee('run_by')
def run(cls, subscriptions):
pool = Pool()
Equipment = pool.get('optical_equipment.equipment')
Line = pool.get('sale.subscription.line')
lines = []
subscription = subscriptions[0]
for unit in subscription.equipments:
unit.propietary=subscription.party,
unit.propietary_address=subscription.invoice_address,
unit.mark_category=unit.mark_category,
unit.model_category=unit.model_category
unit.save()
for subscription in subscriptions:
if not subscription.next_invoice_date:
subscription.next_invoice_date = (
subscription.compute_next_invoice_date())
for line in subscription.lines:
if (line.next_consumption_date is None
and not line.consumed_until):
line.next_consumption_date = (
line.compute_next_consumption_date())
lines.extend(subscription.lines)
Line.save(lines)
cls.save(subscriptions)"""
"""
@classmethod
def __setup__(cls):
super(Subscription, cls).__setup__()
cls._order = [
('end_date', 'DESC'),
('id', 'DESC'),
]
"""
class SubscriptionEquipment(ModelSQL):
'Optical Equipment - Subscription'
__name__ = 'sale.subscription-optical_equipment.equipment'
subscription = fields.Many2One('sale.subscription', 'Subscription', select=True)
equipment = fields.Many2One('optical_equipment.equipment', 'Equipment', select=True)