initial model for wizard 'create_subscription'
This commit is contained in:
parent
a9f20c356f
commit
a8ba3f056c
@ -16,3 +16,7 @@ def register():
|
|||||||
subscription.Subscription,
|
subscription.Subscription,
|
||||||
subscription.SubscriptionEquipment,
|
subscription.SubscriptionEquipment,
|
||||||
module='optical_equipment', type_='model')
|
module='optical_equipment', type_='model')
|
||||||
|
Pool.register(
|
||||||
|
sale.CreateSubscriptionStart,
|
||||||
|
sale.CreateSubscription,
|
||||||
|
module='sale', type_='wizard')
|
||||||
|
@ -130,5 +130,3 @@ class OpticalEquipment(Workflow, ModelSQL, ModelView):
|
|||||||
@Workflow.transition('registred')
|
@Workflow.transition('registred')
|
||||||
def registred(cls, equipments):
|
def registred(cls, equipments):
|
||||||
cls.set_code(equipments)
|
cls.set_code(equipments)
|
||||||
|
|
||||||
|
|
||||||
|
29
sale.py
29
sale.py
@ -3,6 +3,30 @@ from trytond.model import ModelView, ModelSQL, fields
|
|||||||
from trytond.pyson import Eval, Bool, If
|
from trytond.pyson import Eval, Bool, If
|
||||||
from trytond.transaction import Transaction
|
from trytond.transaction import Transaction
|
||||||
|
|
||||||
|
from trytond.wizard import (
|
||||||
|
Button, StateAction, StateTransition, StateView, Wizard)
|
||||||
|
|
||||||
|
class CreateSubscriptionStart(ModelView):
|
||||||
|
'Create Subscription Start'
|
||||||
|
__name__ = 'sale.sale.subscription.start'
|
||||||
|
|
||||||
|
start_date = fields.Date("Start Date", required=True)
|
||||||
|
end_date = fields.Date("End Date", required=True)
|
||||||
|
invoice_recurrence = fields.Many2One('sale.subscription.recurrence.rule.set', "Invoice Recurrence",
|
||||||
|
required=True)
|
||||||
|
invoice_start_date = fields.Date("Invoice Start Date",
|
||||||
|
help='Billing start date')
|
||||||
|
|
||||||
|
class CreateSubscription(Wizard):
|
||||||
|
'Create Subscription'
|
||||||
|
__name__ = 'sale.sale.subscription'
|
||||||
|
|
||||||
|
start = StateView('sale.sale.subscription.start',
|
||||||
|
'sale.create_subscription_view_form',[
|
||||||
|
Button('Cancel', 'cancel', 'tryton-cancel'),
|
||||||
|
Button('Create', 'create', 'tryton-ok', default=True),
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class SaleLine(metaclass=PoolMeta):
|
class SaleLine(metaclass=PoolMeta):
|
||||||
@ -21,9 +45,8 @@ class SaleLine(metaclass=PoolMeta):
|
|||||||
return 2
|
return 2
|
||||||
|
|
||||||
@fields.depends('product', 'unit', 'quantity', 'sale',
|
@fields.depends('product', 'unit', 'quantity', 'sale',
|
||||||
'_parent_sale.party',
|
'_parent_sale.party',methods=['_get_tax_rule_pattern',
|
||||||
methods=['_get_tax_rule_pattern', '_get_context_sale_price',
|
'_get_context_sale_price','on_change_with_amount'])
|
||||||
'on_change_with_amount'])
|
|
||||||
def on_change_product(self):
|
def on_change_product(self):
|
||||||
Product = Pool().get('product.product')
|
Product = Pool().get('product.product')
|
||||||
if not self.product:
|
if not self.product:
|
||||||
|
15
sale.xml
15
sale.xml
@ -6,4 +6,19 @@
|
|||||||
<field name="inherit" ref="sale.sale_line_view_form"/>
|
<field name="inherit" ref="sale.sale_line_view_form"/>
|
||||||
<field name="name">sale_line_form</field>
|
<field name="name">sale_line_form</field>
|
||||||
</record>
|
</record>
|
||||||
|
<record model="ir.ui.view" id="create_subscription_view_form">
|
||||||
|
<field name="model">sale.sale.subscription.start</field>
|
||||||
|
<field name="type">form</field>
|
||||||
|
<field name="name">create_subscription_form</field>
|
||||||
|
</record>
|
||||||
|
<record model="ir.action.wizard" id="create_subscription">
|
||||||
|
<field name="name">Subscription</field>
|
||||||
|
<field name="wiz_name">sale.sale.subscription</field>
|
||||||
|
<field name="model">sale.sale</field>
|
||||||
|
</record>
|
||||||
|
<record model="ir.action.keyword" id="create_subscription_keyword">
|
||||||
|
<field name="keyword">form_action</field>
|
||||||
|
<field name="model">sale.sale,-1</field>
|
||||||
|
<field name="action" ref="create_subscription"/>
|
||||||
|
</record>
|
||||||
</tryton>
|
</tryton>
|
||||||
|
@ -10,7 +10,7 @@ class Subscription(metaclass=PoolMeta):
|
|||||||
equipments = fields.Many2Many('sale.subscription-optical_equipment.equipment', 'subscription',
|
equipments = fields.Many2Many('sale.subscription-optical_equipment.equipment', 'subscription',
|
||||||
'equipment', "Equipments")
|
'equipment', "Equipments")
|
||||||
|
|
||||||
"""@classmethod
|
@classmethod
|
||||||
@ModelView.button
|
@ModelView.button
|
||||||
@Workflow.transition('running')
|
@Workflow.transition('running')
|
||||||
@set_employee('run_by')
|
@set_employee('run_by')
|
||||||
@ -21,39 +21,14 @@ class Subscription(metaclass=PoolMeta):
|
|||||||
lines = []
|
lines = []
|
||||||
subscription = subscriptions[0]
|
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):
|
class SubscriptionEquipment(ModelSQL):
|
||||||
'Optical Equipment - Subscription'
|
'Optical Equipment - Subscription'
|
||||||
__name__ = 'sale.subscription-optical_equipment.equipment'
|
__name__ = 'sale.subscription-optical_equipment.equipment'
|
||||||
|
|
||||||
subscription = fields.Many2One('sale.subscription', 'Subscription', select=True)
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
class Line(metaclass=PoolMeta):
|
||||||
|
__name__ = 'sale.subscriptioin.line'
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user