]> wagnertech.de Git - SVBaL.git/blob - python/eh_util/eh_app/views.py
sparky2021@pydev-s6
[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
12 # Create your views here.
13
14 try:
15     home = os.environ["HOME"]
16     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/"):
17         # its a eclipse development environment
18         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/")
19         import pydevd
20         pydevd.settrace()
21
22 except:
23     pass
24
25 def index(request, verein):
26     template = loader.get_template("vbasis.html")
27     return HttpResponse(template.render({"verein" : verein}, request))
28
29 def tex_bearbeiten(request, verein):
30     template = loader.get_template("brief.tex")
31     tex_bearbeitet = template.render({"Anrede" : 'Frau'}, {"Nachname" : 'Wagner'}, request)
32                    
33 @login_required
34 def kassenbrief(request, verein):
35     fehlertext = ""
36     # Hole Daten aus der Config
37     vconf = config.getInstance(verein)
38     beitrag_basis  = vconf.getConfig("beitrag_basis", 0)
39     beitrag_zusatz = vconf.getConfig("beitrag_zusatz", 0)
40
41     # suche Templates
42     import os
43     dirlist = os.listdir("eh_app/templates/"+verein) # returns list
44     template_list = []
45     for t in dirlist:
46         template_list.append((t,t))
47     
48     # if this is a POST request we need to process the form data
49     if request.method == 'POST':
50         # create a form instance and populate it with data from the request:
51         form = KassenbriefForm(request.POST, request.FILES, dirlist)
52         # check whether it's valid:
53         if form.is_valid():
54             # bei Änderungen Konfiguration aktualisieren
55             routines.aktualisiere_config(vconf, form.cleaned_data, request.FILES.get('briefpapier_neu', None))
56             
57             #Stammdaten neu aus Datenbank lesen und prüfen
58             briefpapier    = vconf.getConfig("briefpapier")
59             beitrag_basis  = int(vconf.getConfig("beitrag_basis", 0))
60             beitrag_zusatz = int(vconf.getConfig("beitrag_zusatz", 0))
61             briefpapier_label = briefpapier
62             if not briefpapier:
63                 briefpapier_label = "Kein Briefpapier ausgewäht"
64             
65             # prüfen ob Werte gefüllt
66             if briefpapier is None:
67                 fehlertext = "Bitte Briefpapier auswählen."
68             elif beitrag_basis == 0 and beitrag_zusatz == 0:
69                 fehlertext = "Bitte Basisbeitrag und Zusatzbeitrag ausfüllen."
70             elif beitrag_basis == 0:
71                 fehlertext = "Bitte Basisbeitrag ausfüllen."
72             elif beitrag_zusatz == 0:
73                 fehlertext = "Bitte Zusatzbeitrag ausfüllen."
74             
75             # wenn Werte gefüllt 
76             else:
77                 routines.erstellepdf('Hallo Welt')
78                 
79                 # redirect to a new URL:
80                 return HttpResponseRedirect('erfolg')
81
82     # if a GET (or any other method) we'll create a blank form
83     else:
84         form = KassenbriefForm(templates=template_list, initial={'basisbeitrag': beitrag_basis, 'zusatzbeitrag': beitrag_zusatz})
85         #form = KassenbriefForm(initial={'basisbeitrag': beitrag_basis, 'zusatzbeitrag': beitrag_zusatz})
86
87     return render(request, 'kassenbrief.html', {'form': form, 'verein': verein, 'fehlertext' : fehlertext})
88     
89     '''
90     template = loader.get_template("kassenbrief.html")
91     return HttpResponse(template.render({
92         "verein"         : verein,
93         "briefpapier"    : briefpapier,
94         "beitrag_basis"  : beitrag_basis,
95         "beitrag_zusatz" : beitrag_zusatz
96         }, request))
97
98     '''
99
100 def kassenbrief_erfolg(request, verein):
101     # Hole Formulardaten
102     print (request.POST)
103     print (request.FILES)
104     return HttpResponse("xxx")
105
106 def kassenbrief_download(request, verein):
107     response = FileResponse(open(r'G:\SVBaL\python\eh_util\eh_app\test.pdf', 'rb'))
108     return response
109
110 def ehmeldung(request, verein):
111     # if this is a POST request we need to process the form data
112     if request.method == 'POST':
113         # create a form instance and populate it with data from the request:
114         form = EhmeldungForm(request.POST, request.FILES)
115         # check whether it's valid:
116         if form.is_valid():
117             # bei Änderungen Konfiguration aktualisieren
118             routines.erstelle_ehmeldung(form.cleaned_data)
119             # redirect to a new URL:
120             return HttpResponseRedirect('/thanks/')
121
122     # if a GET (or any other method) we'll create a blank form
123     else:
124         form = EhmeldungForm()
125
126     return render(request, 'ehmeldung.html', {'form': form, 'verein': verein})
127     
128