details:   https://code.tryton.org/tryton/commit/6194280f84a7
branch:    7.0
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 a99e614431ec -r 6194280f84a7 modules/stock_supply_day/purchase.py
--- a/modules/stock_supply_day/purchase.py      Wed May 20 23:28:20 2026 +0200
+++ b/modules/stock_supply_day/purchase.py      Mon May 18 17:45:32 2026 +0200
@@ -17,7 +17,8 @@
         date = super(ProductSupplier, self).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
@@ -30,7 +31,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