]> wagnertech.de Git - SVBaL.git/blob - python/eh_util/eh_app/views.py
d5f2080838f79ec3cc691fff9eb8d969d5643801
[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     beitrag_basis  = vconf.getConfig("beitrag_basis", 0)
36     beitrag_zusatz = vconf.getConfig("beitrag_zusatz", 0)
37
38     # suche Templates
39     import os
40     dirlist = os.listdir("eh_app/templates/"+verein) # returns list
41     template_list = []
42     for t in dirlist:
43         template_list.append((t,t))
44     
45     # if this is a POST request we need to process the form data
46     if request.method == 'POST':
47         # create a form instance and populate it with data from the request:
48         form = KassenbriefForm(request.POST, request.FILES, dirlist)
49         # check whether it's valid:
50         if form.is_valid():
51             # bei Änderungen Konfiguration aktualisieren
52             routines.aktualisiere_config(vconf, form.cleaned_data, request.FILES.get('briefpapier_neu', None))
53             
54             #Stammdaten neu aus Datenbank lesen und prüfen
55             briefpapier    = vconf.getConfig("briefpapier")
56             beitrag_basis  = int(vconf.getConfig("beitrag_basis", 0))
57             beitrag_zusatz = int(vconf.getConfig("beitrag_zusatz", 0))
58             briefpapier_label = briefpapier
59             if not briefpapier:
60                 briefpapier_label = "Kein Briefpapier ausgewäht"
61             
62             # prüfen ob Werte gefüllt
63             if briefpapier is None:
64                 fehlertext = "Bitte Briefpapier auswählen."
65             elif beitrag_basis == 0 and beitrag_zusatz == 0:
66                 fehlertext = "Bitte Basisbeitrag und Zusatzbeitrag ausfüllen."
67             elif beitrag_basis == 0:
68                 fehlertext = "Bitte Basisbeitrag ausfüllen."
69             elif beitrag_zusatz == 0:
70                 fehlertext = "Bitte Zusatzbeitrag ausfüllen."
71             
72             # wenn Werte gefüllt 
73             else:
74                 routines.pdfs_erstellen(request, verein)
75                 
76                 # redirect to a new URL:
77                 return HttpResponseRedirect('erfolg')
78
79     # if a GET (or any other method) we'll create a blank form
80     else:
81         form = KassenbriefForm(templates=template_list, initial={'basisbeitrag': beitrag_basis, 'zusatzbeitrag': beitrag_zusatz})
82         #form = KassenbriefForm(initial={'basisbeitrag': beitrag_basis, 'zusatzbeitrag': beitrag_zusatz})
83
84     return render(request, 'kassenbrief.html', {'form': form, 'verein': verein, 'fehlertext' : fehlertext})
85     
86     '''
87     template = loader.get_template("kassenbrief.html")
88     return HttpResponse(template.render({
89         "verein"         : verein,
90         "briefpapier"    : briefpapier,
91         "beitrag_basis"  : beitrag_basis,
92         "beitrag_zusatz" : beitrag_zusatz
93         }, request))
94
95     '''
96
97 def kassenbrief_erfolg(request, verein):
98     # Hole Formulardaten
99     print (request.POST)
100     print (request.FILES)
101     return HttpResponse("xxx")
102
103 def kassenbrief_download(request, verein):
104     response = FileResponse(open(r'G:\SVBaL\python\eh_util\eh_app\test.pdf', 'rb'))
105     return response
106
107 def ehmeldung(request, verein):
108     # if this is a POST request we need to process the form data
109     if request.method == 'POST':
110         # create a form instance and populate it with data from the request:
111         form = EhmeldungForm(request.POST, request.FILES)
112         # check whether it's valid:
113         if form.is_valid():
114             # bei Änderungen Konfiguration aktualisieren
115             routines.erstelle_ehmeldung(form.cleaned_data)
116             # redirect to a new URL:
117             return HttpResponseRedirect('/thanks/')
118
119     # if a GET (or any other method) we'll create a blank form
120     else:
121         form = EhmeldungForm()
122
123     return render(request, 'ehmeldung.html', {'form': form, 'verein': verein})
124     
125