- Apply Black formatting to all Python files in core and stiftung modules - Fix import statement ordering with isort - Ensure all code meets automated quality standards - Resolve CI/CD pipeline formatting failures - Maintain consistent code style across the entire codebase
345 lines
13 KiB
Python
345 lines
13 KiB
Python
# Generated by Django 5.0.6 on 2025-08-24 17:48
|
|
|
|
import uuid
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
("stiftung", "0009_alter_dokumentlink_paperless_document_id"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="Rentmeister",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.UUIDField(
|
|
default=uuid.uuid4,
|
|
editable=False,
|
|
primary_key=True,
|
|
serialize=False,
|
|
),
|
|
),
|
|
(
|
|
"anrede",
|
|
models.CharField(
|
|
blank=True,
|
|
choices=[
|
|
("herr", "Herr"),
|
|
("frau", "Frau"),
|
|
("dr", "Dr."),
|
|
("prof", "Prof."),
|
|
("prof_dr", "Prof. Dr."),
|
|
],
|
|
max_length=10,
|
|
verbose_name="Anrede",
|
|
),
|
|
),
|
|
("vorname", models.CharField(max_length=100, verbose_name="Vorname")),
|
|
("nachname", models.CharField(max_length=100, verbose_name="Nachname")),
|
|
(
|
|
"titel",
|
|
models.CharField(blank=True, max_length=50, verbose_name="Titel"),
|
|
),
|
|
(
|
|
"email",
|
|
models.EmailField(
|
|
blank=True, max_length=254, verbose_name="E-Mail"
|
|
),
|
|
),
|
|
(
|
|
"telefon",
|
|
models.CharField(blank=True, max_length=20, verbose_name="Telefon"),
|
|
),
|
|
(
|
|
"mobil",
|
|
models.CharField(blank=True, max_length=20, verbose_name="Mobil"),
|
|
),
|
|
(
|
|
"strasse",
|
|
models.CharField(blank=True, max_length=200, verbose_name="Straße"),
|
|
),
|
|
(
|
|
"plz",
|
|
models.CharField(blank=True, max_length=10, verbose_name="PLZ"),
|
|
),
|
|
(
|
|
"ort",
|
|
models.CharField(blank=True, max_length=100, verbose_name="Ort"),
|
|
),
|
|
(
|
|
"iban",
|
|
models.CharField(blank=True, max_length=34, verbose_name="IBAN"),
|
|
),
|
|
(
|
|
"bic",
|
|
models.CharField(blank=True, max_length=11, verbose_name="BIC"),
|
|
),
|
|
(
|
|
"bank_name",
|
|
models.CharField(blank=True, max_length=100, verbose_name="Bank"),
|
|
),
|
|
("seit_datum", models.DateField(verbose_name="Rentmeister seit")),
|
|
(
|
|
"bis_datum",
|
|
models.DateField(
|
|
blank=True, null=True, verbose_name="Rentmeister bis"
|
|
),
|
|
),
|
|
("aktiv", models.BooleanField(default=True, verbose_name="Aktiv")),
|
|
(
|
|
"monatliche_verguetung",
|
|
models.DecimalField(
|
|
blank=True,
|
|
decimal_places=2,
|
|
max_digits=8,
|
|
null=True,
|
|
verbose_name="Monatliche Vergütung (€)",
|
|
),
|
|
),
|
|
(
|
|
"km_pauschale",
|
|
models.DecimalField(
|
|
decimal_places=2,
|
|
default=0.3,
|
|
max_digits=4,
|
|
verbose_name="Kilometerpauschale (€/km)",
|
|
),
|
|
),
|
|
("notizen", models.TextField(blank=True, verbose_name="Notizen")),
|
|
("erstellt_am", models.DateTimeField(auto_now_add=True)),
|
|
("aktualisiert_am", models.DateTimeField(auto_now=True)),
|
|
],
|
|
options={
|
|
"verbose_name": "Rentmeister",
|
|
"verbose_name_plural": "Rentmeister",
|
|
"ordering": ["nachname", "vorname"],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="StiftungsKonto",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.UUIDField(
|
|
default=uuid.uuid4,
|
|
editable=False,
|
|
primary_key=True,
|
|
serialize=False,
|
|
),
|
|
),
|
|
(
|
|
"kontoname",
|
|
models.CharField(max_length=200, verbose_name="Kontoname"),
|
|
),
|
|
("bank_name", models.CharField(max_length=200, verbose_name="Bank")),
|
|
("iban", models.CharField(max_length=34, verbose_name="IBAN")),
|
|
(
|
|
"bic",
|
|
models.CharField(blank=True, max_length=11, verbose_name="BIC"),
|
|
),
|
|
(
|
|
"konto_typ",
|
|
models.CharField(
|
|
choices=[
|
|
("girokonto", "Girokonto"),
|
|
("sparkonto", "Sparkonto"),
|
|
("festgeld", "Festgeld"),
|
|
("tagesgeld", "Tagesgeld"),
|
|
("depot", "Depot"),
|
|
("sonstiges", "Sonstiges"),
|
|
],
|
|
default="girokonto",
|
|
max_length=20,
|
|
verbose_name="Kontotyp",
|
|
),
|
|
),
|
|
(
|
|
"saldo",
|
|
models.DecimalField(
|
|
decimal_places=2,
|
|
default=0.0,
|
|
max_digits=10,
|
|
verbose_name="Aktueller Saldo",
|
|
),
|
|
),
|
|
(
|
|
"saldo_datum",
|
|
models.DateField(blank=True, null=True, verbose_name="Saldo-Datum"),
|
|
),
|
|
(
|
|
"zinssatz",
|
|
models.DecimalField(
|
|
blank=True,
|
|
decimal_places=2,
|
|
max_digits=5,
|
|
null=True,
|
|
verbose_name="Zinssatz (%)",
|
|
),
|
|
),
|
|
(
|
|
"laufzeit_bis",
|
|
models.DateField(
|
|
blank=True, null=True, verbose_name="Laufzeit bis"
|
|
),
|
|
),
|
|
("aktiv", models.BooleanField(default=True, verbose_name="Aktiv")),
|
|
("notizen", models.TextField(blank=True, verbose_name="Notizen")),
|
|
("erstellt_am", models.DateTimeField(auto_now_add=True)),
|
|
("aktualisiert_am", models.DateTimeField(auto_now=True)),
|
|
],
|
|
options={
|
|
"verbose_name": "Stiftungskonto",
|
|
"verbose_name_plural": "Stiftungskonten",
|
|
"ordering": ["bank_name", "kontoname"],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="Verwaltungskosten",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.UUIDField(
|
|
default=uuid.uuid4,
|
|
editable=False,
|
|
primary_key=True,
|
|
serialize=False,
|
|
),
|
|
),
|
|
(
|
|
"bezeichnung",
|
|
models.CharField(max_length=200, verbose_name="Bezeichnung"),
|
|
),
|
|
(
|
|
"kategorie",
|
|
models.CharField(
|
|
choices=[
|
|
("rechnung_intern", "Interne Rechnung"),
|
|
("bueroausstattung", "Büroausstattung"),
|
|
("fahrtkosten", "Fahrtkosten"),
|
|
("porto", "Porto & Versand"),
|
|
("telefon_internet", "Telefon & Internet"),
|
|
("software", "Software & Lizenzen"),
|
|
("beratung", "Beratung & Dienstleistungen"),
|
|
("versicherung", "Versicherungen"),
|
|
("steuerberatung", "Steuerberatung"),
|
|
("bankgebuehren", "Bankgebühren"),
|
|
("sonstiges", "Sonstiges"),
|
|
],
|
|
max_length=30,
|
|
verbose_name="Kategorie",
|
|
),
|
|
),
|
|
(
|
|
"betrag",
|
|
models.DecimalField(
|
|
decimal_places=2, max_digits=10, verbose_name="Betrag (€)"
|
|
),
|
|
),
|
|
("datum", models.DateField(verbose_name="Datum")),
|
|
(
|
|
"lieferant_firma",
|
|
models.CharField(
|
|
blank=True, max_length=200, verbose_name="Lieferant/Firma"
|
|
),
|
|
),
|
|
(
|
|
"rechnungsnummer",
|
|
models.CharField(
|
|
blank=True, max_length=100, verbose_name="Rechnungsnummer"
|
|
),
|
|
),
|
|
(
|
|
"status",
|
|
models.CharField(
|
|
choices=[
|
|
("geplant", "Geplant"),
|
|
("bestellt", "Bestellt"),
|
|
("erhalten", "Erhalten"),
|
|
("bezahlt", "Bezahlt"),
|
|
("storniert", "Storniert"),
|
|
],
|
|
default="geplant",
|
|
max_length=20,
|
|
verbose_name="Status",
|
|
),
|
|
),
|
|
(
|
|
"km_anzahl",
|
|
models.DecimalField(
|
|
blank=True,
|
|
decimal_places=1,
|
|
max_digits=8,
|
|
null=True,
|
|
verbose_name="Kilometer",
|
|
),
|
|
),
|
|
(
|
|
"km_satz",
|
|
models.DecimalField(
|
|
blank=True,
|
|
decimal_places=2,
|
|
max_digits=4,
|
|
null=True,
|
|
verbose_name="€/km",
|
|
),
|
|
),
|
|
(
|
|
"von_ort",
|
|
models.CharField(
|
|
blank=True, max_length=100, verbose_name="Von (Ort)"
|
|
),
|
|
),
|
|
(
|
|
"nach_ort",
|
|
models.CharField(
|
|
blank=True, max_length=100, verbose_name="Nach (Ort)"
|
|
),
|
|
),
|
|
(
|
|
"zweck",
|
|
models.CharField(
|
|
blank=True, max_length=200, verbose_name="Zweck der Fahrt"
|
|
),
|
|
),
|
|
(
|
|
"beschreibung",
|
|
models.TextField(blank=True, verbose_name="Beschreibung"),
|
|
),
|
|
("notizen", models.TextField(blank=True, verbose_name="Notizen")),
|
|
("erstellt_am", models.DateTimeField(auto_now_add=True)),
|
|
("aktualisiert_am", models.DateTimeField(auto_now=True)),
|
|
(
|
|
"konto",
|
|
models.ForeignKey(
|
|
blank=True,
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to="stiftung.stiftungskonto",
|
|
verbose_name="Konto",
|
|
),
|
|
),
|
|
(
|
|
"rentmeister",
|
|
models.ForeignKey(
|
|
blank=True,
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to="stiftung.rentmeister",
|
|
verbose_name="Rentmeister",
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "Verwaltungskosten",
|
|
"verbose_name_plural": "Verwaltungskosten",
|
|
"ordering": ["-datum", "-erstellt_am"],
|
|
},
|
|
),
|
|
]
|