]> wagnertech.de Git - SVBaL.git/blob - python/eh_util/eh_app/views.py
bazuna
[SVBaL.git] / python / eh_util / eh_app / views.py
1 import os,sys
2
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
7
8 from .AWK import config, routines
9 #import .forms 
10 from .forms import EhmeldungForm, KassenbriefForm
11 from eh_app.AWK.pdf_ersteller import PdfErsteller
12
13 # Create your views here.
14
15 try:
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/")
20         import pydevd
21         pydevd.settrace()
22
23 except:
24     pass
25
26 def index(request, verein):
27     template = loader.get_template("vbasis.html")
28     return HttpResponse(template.render({"verein" : verein}, request))
29
30 #@login_required
31 def kassenbrief(request, verein):
32     fehlertext = ""
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
39     if not briefpapier:
40         briefpapier_label = "Kein Briefpapier ausgewäht"
41     
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:
47         if form.is_valid():
48             # bei Änderungen Konfiguration aktualisieren
49             routines.aktualisiere_config(vconf, form.cleaned_data, request.FILES.get('briefpapier_neu', None))
50             
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
56             if not briefpapier:
57                 briefpapier_label = "Kein Briefpapier ausgewäht"
58             
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."
68             
69             # wenn Werte gefüllt 
70             else:
71                 routines.pdfs_erstellen(request, verein)
72                 
73                 # redirect to a new URL:
74                 return HttpResponseRedirect('erfolg')
75
76     # if a GET (or any other method) we'll create a blank form
77     else:
78         form = KassenbriefForm(initial={'basisbeitrag': beitrag_basis, 'zusatzbeitrag': beitrag_zusatz})
79
80     return render(request, 'kassenbrief.html', {'form': form, 'verein': verein, 'briefpapier': briefpapier_label, 'fehlertext' : fehlertext})
81     
82     '''
83     template = loader.get_template("kassenbrief.html")
84     return HttpResponse(template.render({
85         "verein"         : verein,
86         "briefpapier"    : briefpapier,
87         "beitrag_basis"  : beitrag_basis,
88         "beitrag_zusatz" : beitrag_zusatz
89         }, request))
90
91     '''
92
93 def kassenbrief_erfolg(request, verein):
94     # Hole Formulardaten
95     print (request.POST)
96     print (request.FILES)
97     return HttpResponse("xxx")
98
99 def kassenbrief_download(request, verein):
100     response = FileResponse(open(r'G:\SVBaL\python\eh_util\eh_app\test.pdf', 'rb'))
101     return response
102
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:
109         if form.is_valid():
110             # bei Änderungen Konfiguration aktualisieren
111             routines.erstelle_ehmeldung(form.cleaned_data)
112             # redirect to a new URL:
113             return HttpResponseRedirect('/thanks/')
114
115     # if a GET (or any other method) we'll create a blank form
116     else:
117         form = EhmeldungForm()
118
119     return render(request, 'ehmeldung.html', {'form': form, 'verein': verein})
120     
121