3 from django.contrib.auth.decorators import login_required
4 from django.http import HttpResponse, HttpResponseRedirect, FileResponse
5 from django.shortcuts import render
6 from django.template import loader
8 from .AWK import config, routines
10 from .forms import EhmeldungForm, KassenbriefForm
11 from eh_app.AWK.pdf_ersteller import PdfErsteller
13 # Create your views here.
16 home = os.environ["HOME"]
17 if os.path.exists(f"{home}/.eclipse/org.eclipse.platform_4.18.0_1473617060_linux_gtk_x86_64/plugins/org.python.pydev.core_8.3.0.202104101217/pysrc/"):
18 # its a eclipse development environment
19 sys.path.append(f"{home}/.eclipse/org.eclipse.platform_4.18.0_1473617060_linux_gtk_x86_64/plugins/org.python.pydev.core_8.3.0.202104101217/pysrc/")
26 def index(request, verein):
27 template = loader.get_template("vbasis.html")
28 return HttpResponse(template.render({"verein" : verein}, request))
31 def kassenbrief(request, verein):
33 # Hole Daten aus der Config
34 vconf = config.getInstance(verein)
35 briefpapier = vconf.getConfig("briefpapier")
36 beitrag_basis = vconf.getConfig("beitrag_basis", 0)
37 beitrag_zusatz = vconf.getConfig("beitrag_zusatz", 0)
38 briefpapier_label = briefpapier
40 briefpapier_label = "Kein Briefpapier ausgewäht"
42 # if this is a POST request we need to process the form data
43 if request.method == 'POST':
44 # create a form instance and populate it with data from the request:
45 form = KassenbriefForm(request.POST, request.FILES)
46 # check whether it's valid:
48 # bei Änderungen Konfiguration aktualisieren
49 routines.aktualisiere_config(vconf, form.cleaned_data, request.FILES.get('briefpapier_neu', None))
51 #Stammdaten neu aus Datenbank lesen und prüfen
52 briefpapier = vconf.getConfig("briefpapier")
53 beitrag_basis = int(vconf.getConfig("beitrag_basis", 0))
54 beitrag_zusatz = int(vconf.getConfig("beitrag_zusatz", 0))
55 briefpapier_label = briefpapier
57 briefpapier_label = "Kein Briefpapier ausgewäht"
59 # prüfen ob Werte gefüllt
60 if briefpapier is None:
61 fehlertext = "Bitte Briefpapier auswählen."
62 elif beitrag_basis == 0 and beitrag_zusatz == 0:
63 fehlertext = "Bitte Basisbeitrag und Zusatzbeitrag ausfüllen."
64 elif beitrag_basis == 0:
65 fehlertext = "Bitte Basisbeitrag ausfüllen."
66 elif beitrag_zusatz == 0:
67 fehlertext = "Bitte Zusatzbeitrag ausfüllen."
71 routines.pdfs_erstellen(request, verein)
73 # redirect to a new URL:
74 return HttpResponseRedirect('erfolg')
76 # if a GET (or any other method) we'll create a blank form
78 form = KassenbriefForm(initial={'basisbeitrag': beitrag_basis, 'zusatzbeitrag': beitrag_zusatz})
80 return render(request, 'kassenbrief.html', {'form': form, 'verein': verein, 'briefpapier': briefpapier_label, 'fehlertext' : fehlertext})
83 template = loader.get_template("kassenbrief.html")
84 return HttpResponse(template.render({
86 "briefpapier" : briefpapier,
87 "beitrag_basis" : beitrag_basis,
88 "beitrag_zusatz" : beitrag_zusatz
93 def kassenbrief_erfolg(request, verein):
97 return HttpResponse("xxx")
99 def kassenbrief_download(request, verein):
100 response = FileResponse(open(r'G:\SVBaL\python\eh_util\eh_app\test.pdf', 'rb'))
103 def ehmeldung(request, verein):
104 # if this is a POST request we need to process the form data
105 if request.method == 'POST':
106 # create a form instance and populate it with data from the request:
107 form = EhmeldungForm(request.POST, request.FILES)
108 # check whether it's valid:
110 # bei Änderungen Konfiguration aktualisieren
111 routines.erstelle_ehmeldung(form.cleaned_data)
112 # redirect to a new URL:
113 return HttpResponseRedirect('/thanks/')
115 # if a GET (or any other method) we'll create a blank form
117 form = EhmeldungForm()
119 return render(request, 'ehmeldung.html', {'form': form, 'verein': verein})