Skip to content
Snippets Groups Projects
Commit 561a676c authored by Hangzhi Yu's avatar Hangzhi Yu
Browse files

Fix migrations

parent 338ef0d9
No related branches found
No related tags found
1 merge request!54Resolve "Remove additional fields support and re-implement additional fields in paweljong"
Pipeline #192043 failed
......@@ -4,11 +4,28 @@ from django.db import migrations, models
from payments import PaymentStatus
def move_additional_fields(apps, schema_editor):
def create_invoices(apps, schema_editor):
Person = apps.get_model("core", "Person")
EventRegistration = apps.get_model("paweljong", "EventRegistration")
SEPAMandate = apps.get_model("djp_sepa", "SEPAMandate")
from aleksis.apps.paweljong.models import EventRegistration as RealEventRegistration
EventRegistration.get_invoice = RealEventRegistration.get_invoice
EventRegistration._get_total_amount = RealEventRegistration._get_total_amount
EventRegistration.get_purchased_items = RealEventRegistration.get_purchased_items
Person.addressing_name = property(lambda p: p.first_name + " " + p.last_name)
for registration in EventRegistration._base_manager.all():
invoice = registration.get_invoice()
invoice.status = PaymentStatus.PREAUTH
if registration.accept_sepa:
invoice.variant = "sdd"
SEPAMandate.objects.create(payment_id=invoice.pk, account_holder=f"{registration.person.addressing_name}", iban=registration.iban, bic="XXXXXXXXXXX", date=registration.date_registered)
else:
invoice.variant = "pledge"
invoice.save()
class Migration(migrations.Migration):
......@@ -18,7 +35,7 @@ class Migration(migrations.Migration):
]
operations = [
migrations.RunPython(move_additional_fields),
migrations.RunPython(create_invoices),
migrations.RemoveField(
model_name='eventregistration',
name='accept_sepa',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment