changeset 86b81ab7f63a in modules/sale_subscription:default
details:
https://hg.tryton.org/modules/sale_subscription?cmd=changeset;node=86b81ab7f63a
description:
Add company as product context field
issue9111
review275031002
diffstat:
subscription.py | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
diffs (55 lines):
diff -r 7ced341ede12 -r 86b81ab7f63a subscription.py
--- a/subscription.py Thu Apr 23 21:44:00 2020 +0200
+++ b/subscription.py Sat Apr 25 09:19:02 2020 +0200
@@ -432,13 +432,19 @@
subscription_end_date = fields.Function(
fields.Date("Subscription End Date"),
'on_change_with_subscription_end_date')
+ company = fields.Function(
+ fields.Many2One('company.company', "Company"),
+ 'on_change_with_company')
service = fields.Many2One(
'sale.subscription.service', "Service", required=True,
states={
'readonly': Eval('subscription_state') != 'draft',
},
- depends=['subscription_state'])
+ context={
+ 'company': Eval('company', None),
+ },
+ depends=['subscription_state', 'company'])
description = fields.Text("Description",
states={
'readonly': Eval('subscription_state') != 'draft',
@@ -582,6 +588,11 @@
if self.subscription:
return self.subscription.end_date
+ @fields.depends('subscription', '_parent_subscription.company')
+ def on_change_with_company(self, name=None):
+ if self.subscription and self.subscription.company:
+ return self.subscription.company.id
+
@fields.depends('subscription', 'start_date', 'end_date',
'_parent_subscription.start_date', '_parent_subscription.end_date')
def on_change_subscription(self):
@@ -641,7 +652,8 @@
self.consumption_delay = self.service.consumption_delay
@fields.depends('subscription', '_parent_subscription.currency',
- '_parent_subscription.party', 'start_date', 'unit', 'service')
+ '_parent_subscription.party', 'start_date', 'unit', 'service',
+ 'company')
def _get_context_sale_price(self):
context = {}
if self.subscription:
@@ -655,6 +667,8 @@
context['uom'] = self.unit.id
elif self.service:
context['uom'] = self.service.sale_uom.id
+ if self.company:
+ context['company'] = self.company.id
# TODO tax
return context