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
 

Reply via email to