]> wagnertech.de Git - SVBaL.git/commitdiff
Merge mit michael
authorSimon Wagner <simon@wagnertech.de>
Thu, 30 Jan 2025 16:46:10 +0000 (17:46 +0100)
committerSimon Wagner <simon@wagnertech.de>
Thu, 30 Jan 2025 16:46:10 +0000 (17:46 +0100)
1  2 
python/eh_util/eh_app/AWK/routines.py
python/eh_util/eh_app/urls.py
python/eh_util/eh_app/views.py

index ba362a0dcf0b357d067aa8af830b644d85738644,f176462f27db85f3a48fb1b256d59f4027e2b55c..3e65cb2df5d05c630c84299e51b1b8058fc08864
@@@ -23,9 -23,55 +23,61 @@@ def aktualisiere_config(config, data)
          
      if data["zusatzbeitrag"]:
          config.set_config("beitrag_zusatz", data["zusatzbeitrag"])
 -      
 +    
 +def erstellepdf(text):
 +    with open(r'G:\SVBaL\python\eh_util\eh_app\test.tex', 'w') as f: # öffnet ein neues Dokument mit dem Namen test.tex
 +        f.write(text) # schreibt in dieses neue Dokument
 +        
 +    # TODO: AUfruf PDF latex tex -> pdf
+ def erstelle_ehmeldung(data):
+     from PyPDF2 import PdfFileWriter, PdfFileReader
+     from datetime import date
+     import io
+     from reportlab.pdfgen import canvas
+     from reportlab.lib.pagesizes import letter
+     
+     packet = io.BytesIO()
+     can = canvas.Canvas(packet, pagesize=letter)
+     
+     # Adressfeld
+     can.setFont("Helvetica", 12)
+     can.drawString(205, 618, data["VorZuname"])
+     can.drawString(205, 600, data["VorZunamePartner"])
+     can.drawString(205, 583, data["Wohnanschrift"])
+     can.drawString(205, 566, data["Telefon"])
+     can.drawString(365, 566, data["Email"])
+     can.drawString(205, 549, data["Geburtsdatum"])
+     versichertes_object = data["VersichertesObjekt"]
+     if versichertes_object == "":
+         versichertes_object = data["Wohnanschrift"]
+     can.drawString(205, 500, versichertes_object)
+     can.drawString(193, 466, str(data["AnzahlWohnungen"]))
+     if data["Selbstgenutzt"]:
+         can.drawString(350, 466, "X")
+     if data["Eigentumswohnung"]:
+         can.drawString(188, 449, "X")
+     if data["Gewerblich"]:
+         can.drawString(350, 449, "X")
+     can.drawString(140, 376, date.today().strftime('%d.%m.%Y'))
+     can.drawString(350, 376, "Maschinell erstellt.")
+         
+     can.save()
+     
+     #move to the beginning of the StringIO buffer
+     packet.seek(0)
+     
+     # create a new PDF with Reportlab
+     new_pdf = PdfFileReader(packet)
+     # read your existing PDF
+     existing_pdf = PdfFileReader(open("/home/sparky2021/SVBaL/Aktuell/BeitrittserklarungSVBaL.pdf", "rb"))
+     output = PdfFileWriter()
+     # add the "watermark" (which is the new pdf) on the existing page
+     page = existing_pdf.pages[0]
+     page.mergePage(new_pdf.pages[0])
+     output.addPage(page)
+     # finally, write "output" to a real file
+     output_stream = open("meldung.pdf", "wb")
+     output.write(output_stream)
+     output_stream.close()
++      
index 9fea300d857f9daa158d7e2f1964bdc37b425413,94432720e9e10ce075e1f13ced6a048bb7f45c24..f94cf602a438141332aacaf860f4c275d00992fc
@@@ -5,6 -5,6 +5,7 @@@ from . import view
  urlpatterns = [
      path('', views.index),
      path('kassenbrief/', views.kassenbrief),
 -    path('kassenbrief/exec', views.kassenbrief_exec),
 +    path('kassenbrief/erfolg', views.kassenbrief_erfolg),
 +    path('kassenbrief/download', views.kassenbrief_download),
+     path('ehmeldung/', views.ehmeldung),
  ]
index 59161f990f683060cd08e3bf940df7b659468c69,3599c11db0f4814fb381dafa07c66afb9d1ad2dc..6487eee3850e66cf8a69b5dee7325be86cbeba01
@@@ -1,4 -1,6 +1,6 @@@
 -from django.http import HttpResponse
+ import os,sys
 +from django.http import HttpResponse, HttpResponseRedirect, FileResponse
  from django.shortcuts import render
  from django.template import loader
  
@@@ -82,7 -69,22 +95,26 @@@ def kassenbrief_erfolg(request, verein)
      print (request.FILES)
      return HttpResponse("xxx")
  
 +def kassenbrief_download(request, verein):
 +    response = FileResponse(open(r'G:\SVBaL\python\eh_util\eh_app\test.pdf', 'rb'))
 +    return response
++
+ def ehmeldung(request, verein):
+     # if this is a POST request we need to process the form data
+     if request.method == 'POST':
+         # create a form instance and populate it with data from the request:
+         form = EhmeldungForm(request.POST, request.FILES)
+         # check whether it's valid:
+         if form.is_valid():
+             # bei Änderungen Konfiguration aktualisieren
+             routines.erstelle_ehmeldung(form.cleaned_data)
+             # redirect to a new URL:
+             return HttpResponseRedirect('/thanks/')
+     # if a GET (or any other method) we'll create a blank form
+     else:
+         form = EhmeldungForm()
+     return render(request, 'ehmeldung.html', {'form': form, 'verein': verein})
+