fix: Remplacement des enum par des modèles pour les payementModes et les

payementPlans
This commit is contained in:
N3WT DE COMPET
2025-05-18 10:45:00 +02:00
parent 00f7bfde4a
commit 7fe53465ac
12 changed files with 198 additions and 401 deletions

View File

@ -157,16 +157,15 @@ class Command(BaseCommand):
self.stdout.write(self.style.ERROR(f'Error in data for discount: {serializer.errors}'))
def init_payment_modes(self):
modes = [PaymentModeType.SEPA, PaymentModeType.TRANSFER, PaymentModeType.CHECK, PaymentModeType.CASH]
modes = list(PaymentModeType.objects.filter(code__in=["SEPA", "TRANSFER", "CHECK", "CASH"]))
types = [FeeType.REGISTRATION_FEE, FeeType.TUITION_FEE]
for establishment in self.establishments:
for mode in modes:
for type in types:
payment_mode_data = {
"mode": mode,
"mode": mode.pk,
"type": type,
"is_active": random.choice([True, False]),
"establishment": establishment.id
}
@ -178,7 +177,7 @@ class Command(BaseCommand):
self.stdout.write(self.style.ERROR(f'Error in data for payment mode: {serializer.errors}'))
def init_payment_plans(self):
frequencies = [PaymentPlanType.ONE_TIME, PaymentPlanType.THREE_TIMES, PaymentPlanType.TEN_TIMES, PaymentPlanType.TWELVE_TIMES]
frequencies = list(PaymentPlanType.objects.filter(code__in=["ONE_TIME", "THREE_TIMES", "TEN_TIMES", "TWELVE_TIMES"]))
types = [FeeType.REGISTRATION_FEE, FeeType.TUITION_FEE]
current_date = timezone.now().date()
@ -186,9 +185,8 @@ class Command(BaseCommand):
for frequency in frequencies:
for type in types:
payment_plan_data = {
"frequency": frequency,
"frequency": frequency.pk,
"type": type,
"is_active": random.choice([True, False]),
"establishment": establishment.id,
"due_dates": self.generate_due_dates(frequency, current_date)
}
@ -201,13 +199,13 @@ class Command(BaseCommand):
self.stdout.write(self.style.ERROR(f'Error in data for payment plan: {serializer.errors}'))
def generate_due_dates(self, frequency, start_date):
if frequency == PaymentPlanType.ONE_TIME:
if frequency.code == "ONE_TIME":
return [start_date + relativedelta(months=1)]
elif frequency == PaymentPlanType.THREE_TIMES:
elif frequency.code == "THREE_TIMES":
return [start_date + relativedelta(months=1+4*i) for i in range(3)]
elif frequency == PaymentPlanType.TEN_TIMES:
elif frequency.code == "TEN_TIMES":
return [start_date + relativedelta(months=1+i) for i in range(10)]
elif frequency == PaymentPlanType.TWELVE_TIMES:
elif frequency.code == "TWELVE_TIMES":
return [start_date + relativedelta(months=1+i) for i in range(12)]
def init_specialities(self):