details:   https://code.tryton.org/tryton/commit/2d63c7b4232b
branch:    7.8
user:      Cédric Krier <[email protected]>
date:      Mon May 18 17:45:32 2026 +0200
description:
        Do not fail to compute supply and purchase date for product supplier 
without weekdays

        Closes #14841
        (grafted from c905132eab0552b2d0adcbdb18e07789433488b6)
diffstat:

 modules/stock_supply_day/purchase.py |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (23 lines):

diff -r 3176df0a083d -r 2d63c7b4232b modules/stock_supply_day/purchase.py
--- a/modules/stock_supply_day/purchase.py      Wed May 20 23:27:57 2026 +0200
+++ b/modules/stock_supply_day/purchase.py      Mon May 18 17:45:32 2026 +0200
@@ -16,7 +16,8 @@
         date = super().compute_supply_date(date=date)
         earlier_date = None
         if date != datetime.date.max:
-            for weekday in self.weekdays:
+            # Use getattr because it can be called with an unsaved instance
+            for weekday in getattr(self, 'weekdays', []):
                 diff = weekday.index - date.weekday()
                 if diff < 0:
                     diff += 7
@@ -29,7 +30,8 @@
 
     def compute_purchase_date(self, date):
         later_date = None
-        for weekday in self.weekdays:
+        # Use getattr because it can be called with an unsaved instance
+        for weekday in getattr(self, 'weekdays', []):
             diff = (date.weekday() - weekday.index) % 7
             new_date = date - datetime.timedelta(diff)
             if later_date and later_date >= new_date:

Reply via email to