Auto create initial monthly engagement from subscription
This commit is contained in:
@@ -514,6 +514,35 @@ def subscription_bulk_submit(
|
||||
if plan_effective_from and plan_effective_to and plan_effective_to < plan_effective_from:
|
||||
return RedirectResponse("/services/subscriptions/bulk?error=period", 303)
|
||||
|
||||
if (
|
||||
generation_mode == "subscription_only"
|
||||
and auto_generate_periods is not None
|
||||
and recurrence_type == "monthly"
|
||||
and plan_effective_from is not None
|
||||
):
|
||||
if plan_effective_from.month == 1:
|
||||
initial_monthly_period = f"{plan_effective_from.year - 1:04d}-12"
|
||||
else:
|
||||
initial_monthly_period = (
|
||||
f"{plan_effective_from.year:04d}-{plan_effective_from.month - 1:02d}"
|
||||
)
|
||||
try:
|
||||
requested_periods = [normalize_period_label(
|
||||
initial_monthly_period,
|
||||
financial_year=selected_financial_year,
|
||||
recurrence_type=recurrence_type,
|
||||
)]
|
||||
except ValueError:
|
||||
return RedirectResponse("/services/subscriptions/bulk?error=period", 303)
|
||||
|
||||
locked = redirect_if_financial_year_locked(
|
||||
db,
|
||||
tenant_id=tenant_id,
|
||||
year_code=selected_financial_year,
|
||||
redirect_url="/services/subscriptions/bulk?error=financial_year",
|
||||
)
|
||||
if locked:
|
||||
return locked
|
||||
for token in selected_tokens:
|
||||
try:
|
||||
client, scope_type, scope_key, business_unit_id, client_branch_id, registration_id = resolve_scope_target(
|
||||
|
||||
Reference in New Issue
Block a user