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.
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):
<Knopf"Installieren">
'''
+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
+
+ <Dateiauswahlknopf>
+ <Knopf"Installieren">
+ '''
+
#@login_required
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: <Wert aus Config>
+ Klappliste <Knopf"Template ändern">
+ 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 = ""