X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/SVBaL.git/blobdiff_plain/c26bbbe8da70c2caee4efb18921fe349d1650f3c..refs/heads/simon:/python/eh_util/eh_app/views.py diff --git a/python/eh_util/eh_app/views.py b/python/eh_util/eh_app/views.py index e241e37..549cee7 100644 --- a/python/eh_util/eh_app/views.py +++ b/python/eh_util/eh_app/views.py @@ -5,9 +5,10 @@ from django.http import HttpResponse, HttpResponseRedirect, FileResponse from django.shortcuts import render from django.template import loader -from .AWK import config, routines +from .AWK import config, routines, util #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. @@ -25,6 +26,7 @@ except: def index(request, verein): template = loader.get_template("vbasis.html") + #raise RuntimeError("blub") return HttpResponse(template.render({"verein" : verein}, request)) def vorlagen_verwalten(request, verein): @@ -55,6 +57,42 @@ def vorlagen_verwalten(request, verein): ''' +def mitglieder_auswahlen(request, verein): + # TODO mitglieder aus DB holen + #from eh_app.qmodels import Mitglied + #mm = Mitglied.objects.all() + #mitglieder_liste = [] + #for Mitglied in mm: + # mitglieder_liste.append(Mitglied.mitgliedsnr, Mitglied.nachname) + # Die finale Liste muss dann folgende Form haben: + mitglieder_liste = [("12","Wagler"),("13","Maier")] + + if request.method == 'POST': + # Form auswerten + # Auswahl in Cookie schreiben, s. util.py + util.write_http_data("m_liste", "mitglieder_liste") + test = util.lese_http_data("m_liste") + print (test) + + # Wenn alles gut gegangen, zurück zum Kassenbrief + return HttpResponseRedirect(f'/{verein}/kassenbrief') + else: + mausw_form = MitgliederAuswahlForm(mitglieder=mitglieder_liste) + + template = loader.get_template("mitglieder_auswahlen.html") + return HttpResponse(template.render( + { + "verein" : verein, + "mausw_form" : mausw_form }, + request)) + ''' + --------------------------------------------------------------- + Neue Templates installieren + + + + ''' + #@login_required def kassenbrief(request, verein): ''' @@ -62,57 +100,71 @@ def kassenbrief(request, verein): Diese Methode liest aus der Config die Einstellungen und zeigt sie an. POST: - Diese Methode - - überprüft, ob an den Einstellungen was verändert wurde und falls ja, ändert die Config - - bearbeitet den finalen "Erstellen" + + 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 = "" 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", "") + #TODO: aus Cookie lesen + mitglieder_liste = util.lese_http_data("m_liste") + print (mitglieder_liste) 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)) + vorlagen_form = VorlagenForm(vorlagen=vorlagen_liste) + beitrag_form = BeitragForm + mitglieder_form = MitgliederForm(zul=mitglieder_liste) if request.method == 'POST': - vorlagen_form = VorlagenForm(request.POST, request.FILES, vorlagen=vorlagen_liste) + 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) - return HttpResponseRedirect('erfolg') - ''' 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" + #beitrag_basis = vconf.getConfig("beitrag_basis", 0) + #beitrag_zusatz = vconf.getConfig("beitrag_zusatz", 0) + #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() + #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, + 'mausw_form': mitglieder_form, 'verein': verein, 'fehlertext_vorlage' : fehlertext_vorlage, 'fehlertext_beitrag' : fehlertext_beitrag}) + def kassenbrief_alt(request, verein): fehlertext = ""