feat: add comprehensive GitHub workflow and development tools
This commit is contained in:
44
app/stiftung/migrations/0011_banktransaction.py
Normal file
44
app/stiftung/migrations/0011_banktransaction.py
Normal file
@@ -0,0 +1,44 @@
|
||||
# Generated by Django 5.0.6 on 2025-08-24 19:27
|
||||
|
||||
import django.db.models.deletion
|
||||
import uuid
|
||||
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')},
|
||||
},
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user