From b7117bb3a302148feb0b428e290aaf77c0e2ef50 Mon Sep 17 00:00:00 2001 From: Mira Weller Date: Tue, 8 Sep 2026 14:59:25 +0200 Subject: [PATCH] Fix inefficient loop in compute_validity (Z#23245937 / PRT-013) --- src/pretix/base/models/items.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/pretix/base/models/items.py b/src/pretix/base/models/items.py index 79f1229d15..804bfde85a 100644 --- a/src/pretix/base/models/items.py +++ b/src/pretix/base/models/items.py @@ -1070,10 +1070,8 @@ class Item(LoggedModel): replace_year = valid_until.year replace_month = valid_until.month + self.validity_dynamic_duration_months - - while replace_month > 12: - replace_month -= 12 - replace_year += 1 + replace_year += (replace_month - 1) // 12 + replace_month = ((replace_month - 1) % 12) + 1 max_day = calendar.monthrange(replace_year, replace_month)[1] replace_date = date( year=replace_year,