--- /dev/null
+'''
+Utilities für EHUtil
+'''
+import syslog
+from http import cookies
+
+def schreibe_log(eintrag):
+ syslog.openlog("eh_util")
+ syslog.syslog(eintrag)
+
+def write_http_data(key, value):
+ cookie = cookies.SimpleCookie()
+ cookie[key] = value
+ cookie[key]["path"] = "/eh_util"
+ print(cookie)
+
+def lese_http_data(key):
+ import os
+ cookie_string = os.environ.get("HTTP_COOKIE")
+ cookie = cookies.SimpleCookie(cookie_string)
+ if key in cookie:
+ return cookie[key].value
+ return None
+ #return cookie[key] or None
+
\ No newline at end of file
class BeitragForm(forms.Form):
basisbeitrag = forms.IntegerField()
zusatzbeitrag = forms.IntegerField(label="Beitrag für Zusatzgrundstück")
+
+class MitgliederForm(forms.Form):
+ mg_auswahl = forms.ChoiceField(
+ choices = (),
+ widget=forms.RadioSelect,
+ label = ""
+ )
+ def __init__(self, *args, zul="", **kwargs):
+ #self.templates = templates
+ super().__init__(*args, **kwargs)
+ self.zulstr = zul
+ self.fields['mg_auswahl'].choices = [("alle","Alle Mitglieder"), ("zul",f"Zuletzt ausgewählte Mitglieder: {zul}")]
+
+class MitgliederAuswahlForm(forms.Form):
+ mg_auswahl = forms.MultipleChoiceField(
+ widget=forms.CheckboxSelectMultiple,
+ choices=(),
+ label=""
+ )
+ def __init__(self, *args, mitglieder=(), **kwargs):
+ #self.templates = templates
+ super().__init__(*args, **kwargs)
+ self.fields['mg_auswahl'].choices = mitglieder
+
class KassenbriefForm_alt(forms.Form):
#briefpapier = forms.FileField(label='Briefpapier ändern:', required=False)
template = forms.ChoiceField(choices=())
<p><input type="submit" value="Speichern"/>
</form>
<hr>
+
+<h2>Mitgliederauswahl</h2>
+<form action="/{{verein}}/template_andern/" method="post" enctype="multipart/form-data">
+<table>
+{{mausw_form}}
+</table>
+</form>
<hr>
<form action="/{{verein}}/kassenbrief/" method="post" enctype="multipart/form-data">
--- /dev/null
+<html>
+<head>
+ <title>Siedlerverein-Verwaltung by WagnerTech UG</title>
+</head>
+<body>
+<h1>Mitglieder auswählen</h1>
+<form action="/{{verein}}/vorlagen_verwalten/" method="post" enctype="multipart/form-data">
+{% csrf_token %}
+<table>
+{{mausw_form}}
+</table>
+<p><input type="submit" value="Auswählen"/>
+</form>
+</body>
+</html>
path('', views.index),
path('kassenbrief/', views.kassenbrief),
path('vorlagen_verwalten/', views.vorlagen_verwalten),
+ path('mitglieder_auswahlen/', views.mitglieder_auswahlen),
path('kassenbrief/erfolg', views.kassenbrief_erfolg),
path('kassenbrief/download', views.kassenbrief_download),
path('ehmeldung/', views.ehmeldung),
from .AWK import config, routines
#import .forms
-from .forms import EhmeldungForm, VorlagenForm, BeitragForm, VorlagenVerwaltungForm
+from .forms import EhmeldungForm, VorlagenForm, BeitragForm, VorlagenVerwaltungForm, MitgliederForm, MitgliederAuswahlForm
from eh_app.AWK.pdf_ersteller import PdfErsteller
# Create your views here.
<Knopf"Installieren">
'''
+def mitglieder_auswahlen(request, verein):
+ # TODO vorlagen_liste durch Dateioperationen aufbauen. S. kassenbrief_alt
+ # 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
+
+ # 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):
'''
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:
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})
+ return render(request, 'kassenbrief.html', {'vorlagen_form': vorlagen_form, 'beitrag_form': beitrag_form, 'mausw_form': mausw_form, 'verein': verein, 'fehlertext' : fehlertext_vorlage})
def kassenbrief_alt(request, verein):
fehlertext = ""