]> wagnertech.de Git - SVBaL.git/blob - python/eh_util/eh_app/views.py
gitarre
[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     briefpapier    = vconf.getConfig("briefpapier")
39     beitrag_basis  = vconf.getConfig("beitrag_basis", 0)
40     beitrag_zusatz = vconf.getConfig("beitrag_zusatz", 0)
41     briefpapier_label = briefpapier
42     if not briefpapier:
43         briefpapier_label = "Kein Briefpapier ausgewäht"
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)
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.erstellepdf('Hallo Welt')
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(initial={'basisbeitrag': beitrag_basis, 'zusatzbeitrag': beitrag_zusatz})
82
83     return render(request, 'kassenbrief.html', {'form': form, 'verein': verein, 'briefpapier': briefpapier_label, 'fehlertext' : fehlertext})
84     
85     '''
86     template = loader.get_template("kassenbrief.html")
87     return HttpResponse(template.render({
88         "verein"         : verein,
89         "briefpapier"    : briefpapier,
90         "beitrag_basis"  : beitrag_basis,
91         "beitrag_zusatz" : beitrag_zusatz
92         }, request))
93
94     '''
95
96 def kassenbrief_erfolg(request, verein):
97     # Hole Formulardaten
98     print (request.POST)
99     print (request.FILES)
100     return HttpResponse("xxx")
101
102 def kassenbrief_download(request, verein):
103     response = FileResponse(open(r'G:\SVBaL\python\eh_util\eh_app\test.pdf', 'rb'))
104     return response
105
106 def ehmeldung(request, verein):
107     # if this is a POST request we need to process the form data
108     if request.method == 'POST':
109         # create a form instance and populate it with data from the request:
110         form = EhmeldungForm(request.POST, request.FILES)
111         # check whether it's valid:
112         if form.is_valid():
113             # bei Änderungen Konfiguration aktualisieren
114             routines.erstelle_ehmeldung(form.cleaned_data)
115             # redirect to a new URL:
116             return HttpResponseRedirect('/thanks/')
117
118     # if a GET (or any other method) we'll create a blank form
119     else:
120         form = EhmeldungForm()
121
122     return render(request, 'ehmeldung.html', {'form': form, 'verein': verein})
123     
124