From: Simon Wagner Date: Mon, 23 Jun 2025 15:17:00 +0000 (+0200) Subject: Conflicts solved X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/SVBaL.git/commitdiff_plain/9ed8594047c54ebef5d0675e9896d49cc2b0374a Conflicts solved --- 9ed8594047c54ebef5d0675e9896d49cc2b0374a diff --cc python/eh_util/eh_app/AWK/routines.py index b09af1d,fffbfaa..9fccdc7 --- a/python/eh_util/eh_app/AWK/routines.py +++ b/python/eh_util/eh_app/AWK/routines.py @@@ -9,8 -9,8 +9,9 @@@ def handle_uploaded_file(csv_file) for chunk in csv_file.chunks(): destination.write(chunk) ''' - def aktualisiere_config(config, vorlagen_data, beitrag_data): - ''' ++ + def aktualisiere_config(config, data, file): + if file: uploaded_file = file.name data_path = config.requireConfig("data_path") @@@ -19,14 -19,12 +20,12 @@@ for chunk in file.chunks(): destination.write(chunk) config.setConfig("briefpapier", uploaded_file) - ''' - if vorlagen_data["vorlage"]: - config.setConfig("vorlage", vorlagen_data["vorlage"]) - if beitrag_data["basisbeitrag"]: - config.setConfig("beitrag_basis", beitrag_data["basisbeitrag"]) -- - if beitrag_data["zusatzbeitrag"]: - config.setConfig("beitrag_zusatz", beitrag_data["zusatzbeitrag"]) ++ if data["vorlage"]: ++ config.setConfig("vorlage", data["vorlage"]) + if data["basisbeitrag"]: + config.setConfig("beitrag_basis", data["basisbeitrag"]) - + if data["zusatzbeitrag"]: + config.setConfig("beitrag_zusatz", data["zusatzbeitrag"]) def erstelle_ehmeldung(data): from PyPDF2 import PdfFileWriter, PdfFileReader diff --cc python/eh_util/eh_app/forms.py index 6cd6f1b,b257b84..b7625af --- a/python/eh_util/eh_app/forms.py +++ b/python/eh_util/eh_app/forms.py @@@ -23,19 -23,12 +23,13 @@@ https://docs.djangoproject.com/en/2.2/t - Doku zu Fields: https://docs.djangoproject.com/en/2.2/ref/forms/fields/ ''' - class MitgliederForm(forms.Form): - vorlage = forms.ChoiceField(choices=()) - def __init__(self, *args, vorlagen=[('AB', 'ab'),('BC','bc')], **kwargs): - #self.templates = templates - super().__init__(*args, **kwargs) - self.fields['vorlage'].choices = vorlagen + class VorlagenForm(forms.Form): - template = forms.ChoiceField(choices=()) - def __init__(self, *args, templates=[('AB', 'ab'),('BC','bc')], **kwargs): + vorlage = forms.ChoiceField(choices=()) + def __init__(self, *args, vorlagen=[('AB', 'ab'),('BC','bc')], **kwargs): #self.templates = templates super().__init__(*args, **kwargs) - self.fields['template'].choices = templates + self.fields['vorlage'].choices = vorlagen class VorlagenVerwaltungForm(forms.Form): vorlagen_zu_loschen = forms.MultipleChoiceField( diff --cc python/eh_util/eh_app/templates/kassenbrief.html index ba7254e,06e6451..fc978f1 --- a/python/eh_util/eh_app/templates/kassenbrief.html +++ b/python/eh_util/eh_app/templates/kassenbrief.html @@@ -8,15 -8,17 +8,16 @@@

Kassenbriefvorlagen

-

{{fehlertext_template}}

+

{{fehlertext_vorlage}}

-
+ {% csrf_token %} {{vorlagen_form}}

Kassenbriefvorlagen verwalten -

+


Beiträge

@@@ -25,15 -27,20 +26,19 @@@ {{beitrag_form}}
-

+


-

Mitglieder

-

Für folgende Mitglieder soll der Kassenbrief erstellt werden:

+

Mitgliederauswahl

+
- {{mitglieder_form}} + {{mausw_form}}
+

+
+ {% csrf_token %}

diff --cc python/eh_util/eh_app/views.py index e241e37,630ec56..0cf81ab --- a/python/eh_util/eh_app/views.py +++ b/python/eh_util/eh_app/views.py @@@ -7,7 -7,7 +7,8 @@@ from django.template import loade from .AWK import config, routines #import .forms - from .forms import EhmeldungForm, VorlagenForm, BeitragForm, VorlagenVerwaltungForm, MitgliederForm ++ + from .forms import EhmeldungForm, VorlagenForm, BeitragForm, VorlagenVerwaltungForm, MitgliederForm, MitgliederAuswahlForm from eh_app.AWK.pdf_ersteller import PdfErsteller # Create your views here. @@@ -62,57 -91,40 +92,90 @@@ def kassenbrief(request, verein) Diese Methode liest aus der Config die Einstellungen und zeigt sie an. POST: ++<<<<<<< HEAD + Diese Methode + - überprüft, ob an den Einstellungen was verändert wurde und falls ja, ändert die Config + - bearbeitet den finalen "Erstellen" + + ''' + fehlertext_vorlage = "" + fehlertext_beitrag = "" + vconf = config.getInstance(verein) + beitrag_basis = vconf.getConfig("beitrag_basis", 0) + beitrag_zusatz = vconf.getConfig("beitrag_zusatz", 0) + vorlage_selected = vconf.getConfig("vorlage", "") + vorlagen_liste = [] + if os.path.isdir("eh_app/templates/"+verein): + dirlist = os.listdir("eh_app/templates/"+verein) # returns list + for t in dirlist: + vorlagen_liste.append((t,t)) + if request.method == 'POST': + vorlagen_form = VorlagenForm(request.POST, request.FILES, vorlagen=vorlagen_liste) + beitrag_form = BeitragForm(request.POST, request.FILES) + if vorlagen_form.is_valid() and beitrag_form.is_valid(): + routines.aktualisiere_config(vconf, vorlagen_form.cleaned_data, beitrag_form.cleaned_data) + return HttpResponseRedirect('erfolg') + ''' ++======= + Diese Methode bearbeitet den finalen "Erstellen" + + Die Unterformulare (z.B. Beitrag ändern) landen in einer eigenen Methode, die die + Einstellungen in der Config ändert und dann diese hier mit GET aufruft. + ''' + ''' + --------------------------------------------------------------- + Templateauswahl + + Ausgewähltes Template: + Klappliste + Link -> Neue Templates installieren + --------------------------------------------------------------- + ''' + fehlertext_vorlage = "" + vconf = config.getInstance(verein) + beitrag_basis = vconf.getConfig("beitrag_basis", 0) + beitrag_zusatz = vconf.getConfig("beitrag_zusatz", 0) + vorlagen_liste = ['T1'] + vorlagen_form = VorlagenForm(templates=vorlagen_liste) + beitrag_form = BeitragForm + mausw_form = MitgliederForm(zul="12,45,334") + if request.method == 'POST': + vorlagen_form = VorlagenForm(request.POST, request.FILES) + beitrag_form = BeitragForm(request.POST, request.FILES) + mausw_form = MitgliederForm(request.POST, request.FILES) + if vorlagen_form.is_valid() and beitrag_form.is_valid(): + routines.aktualisiere_config(vconf, vorlagen_form.cleaned_data, beitrag_form.cleaned_data) if not vorlagen_liste: fehlertext_vorlage = "Bitte Kassenbriefvorlage auswählen" else: routines.pdfs_erstellen(request, verein) return HttpResponseRedirect('erfolg') + ''' + else: + beitrag_basis = vconf.getConfig("beitrag_basis", 0) + beitrag_zusatz = vconf.getConfig("beitrag_zusatz", 0) + # GET request + if vorlage_selected == "": + fehlertext_vorlage = "Bitte Vorlage auswählen" + if not vorlagen_liste: + fehlertext_vorlage = "Bitte Vorlagen in Vorlagenverzeichnis einfügen" + if beitrag_basis == 0 or beitrag_zusatz == 0: + fehlertext_beitrag = "Bitte Eingaben zu Basis- und Zusatzbeitrag vornehmen" + vorlagen_form = VorlagenForm(vorlagen=vorlagen_liste, initial={'vorlage':vorlage_selected}) + beitrag_form = BeitragForm(initial={'basisbeitrag': beitrag_basis, 'zusatzbeitrag': beitrag_zusatz}) + mitglieder_form = MitgliederForm() + + return render(request, + 'kassenbrief.html', + {'vorlagen_form': vorlagen_form, + 'beitrag_form': beitrag_form, + 'mitglieder_form': mitglieder_form, + 'verein': verein, + 'fehlertext_vorlage' : fehlertext_vorlage, + 'fehlertext_beitrag' : fehlertext_beitrag}) ++======= + return render(request, 'kassenbrief.html', {'vorlagen_form': vorlagen_form, 'beitrag_form': beitrag_form, 'mausw_form': mausw_form, 'verein': verein, 'fehlertext' : fehlertext_vorlage}) ++>>>>>>> origin/michael def kassenbrief_alt(request, verein): fehlertext = ""