from .AWK import config, routines
#import .forms
-from .forms import EhmeldungForm, VorlagenForm, BeitragForm
+from .forms import EhmeldungForm, VorlagenForm, BeitragForm, VorlagenVerwaltungForm, MitgliederForm
from eh_app.AWK.pdf_ersteller import PdfErsteller
-from test.test_codeccallbacks import NoEndUnicodeDecodeError
# Create your views here.
return HttpResponse(template.render({"verein" : verein}, request))
def vorlagen_verwalten(request, verein):
+ # TODO vorlagen_liste durch Dateioperationen aufbauen. S. kassenbrief_alt
+ # Die finale Liste muss dann folgende Form haben:
+ vorlagen_liste = [("vorlage1.tex","vorlage1"),("vorlage2.tex","vorlage2")]
+
+ if request.method == 'POST':
+ # Form auswerten
+ # Verarbeitung in routines.py aufrufen
+
+ # Wenn alles gut gegangen, zurück zum Kassenbrief
+ return HttpResponseRedirect(f'/{verein}/kassenbrief')
+ else:
+ vorlagen_form = VorlagenVerwaltungForm(vorlagen=vorlagen_liste)
+
template = loader.get_template("vorlagen_verwalten.html")
- return HttpResponse(template.render({"verein" : verein}, request))
+ return HttpResponse(template.render(
+ {
+ "verein" : verein,
+ "vorlagen_form" : vorlagen_form },
+ request))
'''
---------------------------------------------------------------
Neue Templates installieren
<Dateiauswahlknopf>
<Knopf"Installieren">
'''
- pass
+
#@login_required
def kassenbrief(request, verein):
'''
Diese Methode liest aus der Config die Einstellungen und zeigt sie an.
POST:
- 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
+ Diese Methode
+ - überprüft, ob an den Einstellungen was verändert wurde und falls ja, ändert die Config
+ - bearbeitet den finalen "Erstellen"
- 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)
- vorlagen_liste = ['T1']
- vorlagen_form = VorlagenForm(templates=vorlagen_liste)
- beitrag_form = BeitragForm
+ 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_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')
+ '''
if not vorlagen_liste:
fehlertext_vorlage = "Bitte Kassenbriefvorlage auswählen"
else:
routines.pdfs_erstellen(request, verein)
return HttpResponseRedirect('erfolg')
- return render(request, 'kassenbrief.html', {'vorlagen_form': vorlagen_form, 'beitrag_form': beitrag_form,'verein': verein, 'fehlertext' : fehlertext_vorlage})
+ '''
+ 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})
def kassenbrief_alt(request, verein):
fehlertext = ""