diff --git a/fet2020/finance/migrations/0001_initial.py b/fet2020/finance/migrations/0001_initial.py new file mode 100644 index 00000000..d5b23bd7 --- /dev/null +++ b/fet2020/finance/migrations/0001_initial.py @@ -0,0 +1,253 @@ +# Generated by Django 4.2.4 on 2023-10-27 06:38 + +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ("members", "0005_alter_job_options_job_order_alter_member_username"), + ] + + operations = [ + migrations.CreateModel( + name="BankData", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "name", + models.CharField(max_length=128, verbose_name="Kontoinhaber:in"), + ), + ("iban", models.CharField(max_length=34, verbose_name="IBAN")), + ("bic", models.CharField(max_length=11, verbose_name="BIC")), + ( + "is_disabled", + models.BooleanField(default=False, verbose_name="deaktiviert"), + ), + ( + "bankdata_creator", + models.ForeignKey( + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="members.member", + verbose_name="Verknüpfung zum Mitglied", + ), + ), + ], + options={ + "verbose_name": "Bankdaten", + "verbose_name_plural": "Bankdaten", + }, + ), + migrations.CreateModel( + name="Resolution", + fields=[ + ( + "id", + models.CharField( + max_length=128, + primary_key=True, + serialize=False, + verbose_name="Beschlussnummer", + ), + ), + ("name", models.CharField(max_length=128, verbose_name="Bezeichnung")), + ( + "is_visible", + models.BooleanField(default=False, verbose_name="sichtbar"), + ), + ( + "option", + models.CharField( + choices=[ + ("B", "normaler Beschluss"), + ("D", "Dauerbeschluss"), + ("F", "Finanzbeschluss"), + ("R", "FsRef-Beschluss"), + ], + max_length=1, + verbose_name="Beschluss", + ), + ), + ("date", models.DateField(verbose_name="Datum")), + ( + "voting", + models.CharField( + max_length=15, verbose_name="Abstimmungsverhalten" + ), + ), + ("voting_text", models.TextField(verbose_name="Abstimmungstext")), + ( + "budget", + models.DecimalField( + decimal_places=2, + default=0.0, + max_digits=7, + verbose_name="Budget (EUR)", + ), + ), + ], + options={ + "verbose_name": "Beschluss", + "verbose_name_plural": "Beschlüsse", + }, + ), + migrations.CreateModel( + name="Wiref", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("wiref_id", models.CharField(blank=True, max_length=10, null=True)), + ( + "file_field", + models.FileField( + blank=True, + null=True, + upload_to="uploads/finance/wiref/", + validators=[ + django.core.validators.FileExtensionValidator(["pdf"]) + ], + verbose_name="Wiref Formular", + ), + ), + ], + options={ + "verbose_name": "Wiref Formular", + "verbose_name_plural": "Wiref Formulare", + }, + ), + migrations.CreateModel( + name="Bill", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("date", models.DateField()), + ("invoice", models.TextField()), + ( + "amount", + models.DecimalField( + decimal_places=2, max_digits=7, verbose_name="Betrag (EUR)" + ), + ), + ( + "purpose", + models.CharField(max_length=140, verbose_name="Verwendungszweck"), + ), + ( + "affiliation", + models.CharField( + choices=[("V", "Vereinsbudget"), ("B", "Offizielles Budget")], + max_length=1, + verbose_name="Abrechnungsbudget", + ), + ), + ( + "payer", + models.CharField( + choices=[("M", "Privat"), ("V", "Verein (Safe/Kreditkarte)")], + max_length=1, + ), + ), + ( + "only_digital", + models.BooleanField( + default=False, verbose_name="Digitale Rechnung" + ), + ), + ( + "file_field", + models.FileField( + blank=True, + null=True, + upload_to="uploads/finance/bills/", + validators=[ + django.core.validators.FileExtensionValidator(["pdf"]) + ], + ), + ), + ("comment", models.TextField(blank=True, null=True)), + ( + "status", + models.CharField( + choices=[ + ("S", "Eingereicht"), + ("I", "Unvollständig"), + ("C", "Abgerechnet"), + ("F", "Abgeschlossen"), + ], + default="S", + max_length=1, + verbose_name="Status", + ), + ), + ("date_created", models.DateTimeField(auto_now_add=True)), + ( + "bankdata", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="finance.bankdata", + verbose_name="Kontodaten", + ), + ), + ( + "bill_creator", + models.ForeignKey( + on_delete=django.db.models.deletion.PROTECT, + to="members.member", + verbose_name="Verantwortliche:r", + ), + ), + ( + "resolution", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="finance.resolution", + verbose_name="Beschlussnummer", + ), + ), + ( + "wiref", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="finance.wiref", + verbose_name="Wiref", + ), + ), + ], + options={ + "verbose_name": "Rechnung", + "verbose_name_plural": "Rechnungen", + }, + ), + ]