add value 'otro' type_client#28
This commit is contained in:
parent
0931aa7727
commit
9756cea8c1
3
party.py
3
party.py
@ -2,7 +2,8 @@ from trytond.pool import PoolMeta
|
|||||||
from trytond.model import ModelSQL, ModelView, fields
|
from trytond.model import ModelSQL, ModelView, fields
|
||||||
from . import equipment
|
from . import equipment
|
||||||
|
|
||||||
_CLIENT_TYPE = [('ips', 'IPS'),
|
_CLIENT_TYPE = [('otro', 'Otro'),
|
||||||
|
('ips', 'IPS'),
|
||||||
('optica', 'Optica')]
|
('optica', 'Optica')]
|
||||||
|
|
||||||
class Party(metaclass=PoolMeta):
|
class Party(metaclass=PoolMeta):
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
#This file is part of Tryton. The COPYRIGHT file at the top level of
|
#This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||||
#txhis repository contains the full copyright notices and license terms
|
#txhis repository contains the full copyright notices and license terms
|
||||||
from trytond.pool import Pool, PoolMeta
|
from trytond.pool import Pool, PoolMeta
|
||||||
from trytond.model import ModelView, ModelSQL, fields
|
from trytond.model import (
|
||||||
|
ModelView, ModelSQL, Workflow, fields)
|
||||||
from trytond.pyson import Eval, If, Bool
|
from trytond.pyson import Eval, If, Bool
|
||||||
from trytond.exceptions import UserError
|
from trytond.exceptions import UserError
|
||||||
from trytond.i18n import gettext
|
from trytond.i18n import gettext
|
||||||
@ -106,6 +107,7 @@ class Line(metaclass=PoolMeta):
|
|||||||
|
|
||||||
self.type = 'line'
|
self.type = 'line'
|
||||||
self.amount = self.on_change_with_amount()
|
self.amount = self.on_change_with_amount()
|
||||||
|
if self.product.equipment:
|
||||||
self.product_equipment = True
|
self.product_equipment = True
|
||||||
|
|
||||||
def default_address_equipment():
|
def default_address_equipment():
|
||||||
|
@ -1,10 +1,45 @@
|
|||||||
from trytond.pool import PoolMeta
|
from trytond.pool import Pool, PoolMeta
|
||||||
from trytond.model import ModelSQL, ModelView, fields
|
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):
|
class Subscription(metaclass=PoolMeta):
|
||||||
__name__ = 'sale.subscription'
|
__name__ = 'sale.subscription'
|
||||||
|
|
||||||
equipments = fields.Many2Many('sale.subscription-optical_equipment.equipment', 'subscription', 'equipment', "Equipments")
|
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)
|
||||||
|
|
||||||
class SubscriptionEquipment(ModelSQL):
|
class SubscriptionEquipment(ModelSQL):
|
||||||
'Optical Equipment - Subscription'
|
'Optical Equipment - Subscription'
|
||||||
|
Loading…
Reference in New Issue
Block a user