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