- 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
157 lines
5.6 KiB
Python
157 lines
5.6 KiB
Python
# Generated by Django 5.0.6 on 2025-08-24 19:27
|
|
|
|
import uuid
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
("stiftung", "0010_rentmeister_stiftungskonto_verwaltungskosten"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="BankTransaction",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.UUIDField(
|
|
default=uuid.uuid4,
|
|
editable=False,
|
|
primary_key=True,
|
|
serialize=False,
|
|
),
|
|
),
|
|
("datum", models.DateField(verbose_name="Buchungsdatum")),
|
|
(
|
|
"valuta",
|
|
models.DateField(blank=True, null=True, verbose_name="Valutadatum"),
|
|
),
|
|
(
|
|
"betrag",
|
|
models.DecimalField(
|
|
decimal_places=2, max_digits=12, verbose_name="Betrag (€)"
|
|
),
|
|
),
|
|
(
|
|
"waehrung",
|
|
models.CharField(
|
|
default="EUR", max_length=3, verbose_name="Währung"
|
|
),
|
|
),
|
|
("verwendungszweck", models.TextField(verbose_name="Verwendungszweck")),
|
|
(
|
|
"empfaenger_zahlungspflichtiger",
|
|
models.CharField(
|
|
blank=True,
|
|
max_length=200,
|
|
verbose_name="Empfänger/Zahlungspflichtiger",
|
|
),
|
|
),
|
|
(
|
|
"iban_gegenpartei",
|
|
models.CharField(
|
|
blank=True, max_length=34, verbose_name="IBAN Gegenpartei"
|
|
),
|
|
),
|
|
(
|
|
"bic_gegenpartei",
|
|
models.CharField(
|
|
blank=True, max_length=11, verbose_name="BIC Gegenpartei"
|
|
),
|
|
),
|
|
(
|
|
"referenz",
|
|
models.CharField(
|
|
blank=True,
|
|
max_length=100,
|
|
verbose_name="Referenz/Transaktions-ID",
|
|
),
|
|
),
|
|
(
|
|
"transaction_type",
|
|
models.CharField(
|
|
choices=[
|
|
("eingang", "Eingang"),
|
|
("ausgang", "Ausgang"),
|
|
("lastschrift", "Lastschrift"),
|
|
("ueberweisung", "Überweisung"),
|
|
("dauerauftrag", "Dauerauftrag"),
|
|
("kartenzahlung", "Kartenzahlung"),
|
|
("zinsen", "Zinsen"),
|
|
("gebuehren", "Gebühren"),
|
|
("sonstiges", "Sonstiges"),
|
|
],
|
|
default="sonstiges",
|
|
max_length=20,
|
|
verbose_name="Transaktionsart",
|
|
),
|
|
),
|
|
(
|
|
"status",
|
|
models.CharField(
|
|
choices=[
|
|
("imported", "Importiert"),
|
|
("verified", "Geprüft"),
|
|
("assigned", "Zugeordnet"),
|
|
("ignored", "Ignoriert"),
|
|
],
|
|
default="imported",
|
|
max_length=20,
|
|
verbose_name="Status",
|
|
),
|
|
),
|
|
("kommentare", models.TextField(blank=True, verbose_name="Kommentare")),
|
|
(
|
|
"import_datei",
|
|
models.CharField(
|
|
blank=True, max_length=255, verbose_name="Import-Datei"
|
|
),
|
|
),
|
|
(
|
|
"importiert_am",
|
|
models.DateTimeField(
|
|
auto_now_add=True, verbose_name="Importiert am"
|
|
),
|
|
),
|
|
(
|
|
"saldo_nach_buchung",
|
|
models.DecimalField(
|
|
blank=True,
|
|
decimal_places=2,
|
|
max_digits=12,
|
|
null=True,
|
|
verbose_name="Saldo nach Buchung",
|
|
),
|
|
),
|
|
(
|
|
"konto",
|
|
models.ForeignKey(
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to="stiftung.stiftungskonto",
|
|
verbose_name="Konto",
|
|
),
|
|
),
|
|
(
|
|
"verwaltungskosten",
|
|
models.ForeignKey(
|
|
blank=True,
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to="stiftung.verwaltungskosten",
|
|
verbose_name="Zugeordnete Verwaltungskosten",
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "Banktransaktion",
|
|
"verbose_name_plural": "Banktransaktionen",
|
|
"ordering": ["-datum", "-importiert_am"],
|
|
"unique_together": {("konto", "datum", "betrag", "referenz")},
|
|
},
|
|
),
|
|
]
|