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
8 from .AWK import config, routines
10 from .forms import EhmeldungForm, KassenbriefForm
12 # Create your views here.
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/")
25 def index(request, verein):
26 template = loader.get_template("vbasis.html")
27 raise RuntimeError("blub")
28 return HttpResponse(template.render({"verein" : verein}, request))
30 def tex_bearbeiten(request, verein):
31 template = loader.get_template("brief.tex")
32 tex_bearbeitet = template.render({"Anrede" : 'Frau'}, {"Nachname" : 'Wagner'}, request)
35 def kassenbrief(request, verein):
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)
44 dirlist = os.listdir("eh_app/templates/"+verein) # returns list
47 template_list.append((t,t))
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:
55 # bei Änderungen Konfiguration aktualisieren
56 routines.aktualisiere_config(vconf, form.cleaned_data, request.FILES.get('briefpapier_neu', None))
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
64 briefpapier_label = "Kein Briefpapier ausgewäht"
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."
78 routines.erstellepdf('Hallo Welt')
80 # redirect to a new URL:
81 return HttpResponseRedirect('erfolg')
83 # if a GET (or any other method) we'll create a blank form
85 form = KassenbriefForm(templates=template_list, initial={'basisbeitrag': beitrag_basis, 'zusatzbeitrag': beitrag_zusatz})
86 #form = KassenbriefForm(initial={'basisbeitrag': beitrag_basis, 'zusatzbeitrag': beitrag_zusatz})
88 return render(request, 'kassenbrief.html', {'form': form, 'verein': verein, 'fehlertext' : fehlertext})
91 template = loader.get_template("kassenbrief.html")
92 return HttpResponse(template.render({
94 "briefpapier" : briefpapier,
95 "beitrag_basis" : beitrag_basis,
96 "beitrag_zusatz" : beitrag_zusatz
101 def kassenbrief_erfolg(request, verein):
104 print (request.FILES)
105 return HttpResponse("xxx")
107 def kassenbrief_download(request, verein):
108 response = FileResponse(open(r'G:\SVBaL\python\eh_util\eh_app\test.pdf', 'rb'))
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:
118 # bei Änderungen Konfiguration aktualisieren
119 routines.erstelle_ehmeldung(form.cleaned_data)
120 # redirect to a new URL:
121 return HttpResponseRedirect('/thanks/')
123 # if a GET (or any other method) we'll create a blank form
125 form = EhmeldungForm()
127 return render(request, 'ehmeldung.html', {'form': form, 'verein': verein})