]> wagnertech.de Git - SVBaL.git/commitdiff
bazuna
authorMichael Wagner <michael@wagnertech.de>
Mon, 24 Mar 2025 09:31:02 +0000 (10:31 +0100)
committerMichael Wagner <michael@wagnertech.de>
Mon, 24 Mar 2025 09:31:02 +0000 (10:31 +0100)
bin/pdfersteller [new file with mode: 0755]
latex/brief.lco
latex/brief.tex [changed from file to symlink]
python/eh_util/eh_app/AWK/pdf_ersteller.py [new file with mode: 0644]
python/eh_util/eh_app/AWK/routines.py
python/eh_util/eh_app/views.py

diff --git a/bin/pdfersteller b/bin/pdfersteller
new file mode 100755 (executable)
index 0000000..9ba870d
--- /dev/null
@@ -0,0 +1,4 @@
+#/bin/bash
+
+cd /home/sparky2021/SVBaL/latex
+pdflatex $1
index ab870bab7c98ffdd7a05f99252b6e7fd0d2c5fea..91817baff8e7d12f0cb10d9810bd1fa4f53ce72f 100644 (file)
@@ -9,15 +9,17 @@
 \hypersetup{pdfpagemode=None}
 \KOMAoptions{
         paper=a4,
-        pagenumber=botcenter,
+        pagenumber=false,
 %        fromalign=right,
 %        fromrule=afteraddress,
 %        fromphone,
 %       fromfax,
-%        fromlogo,fromurl,fromemail,
+        fromlogo,
+%        fromurl,fromemail,
 %        backaddress,
         foldmarks,
 %        headsepline,footsepline,
+        headsepline=true,    % Linie unter dem Header der Folgeseite
         enlargefirstpage,
         parskip=half
 }
 \setkomavar{frombank}{Eine Bank\\IBAN~123\,45\,678}
 \setkomavar{place}{München}
 \setkomavar{signature}{Michael Wagner\\1.Vorsitzender}
-\setkomavar{fromlogo}{\parbox[b]{8cm}{\usekomafont{fromaddress}%
-        {\mbox{\LARGE \bfseries Dr.\ rer.\ nat.\ Joachim~Schlosser}}
-        \smallskip}
-}
+%\setkomavar{fromlogo}{\parbox[b]{8cm}{\usekomafont{fromaddress}%
+%        {\mbox{\LARGE \bfseries Dr.\ rer.\ nat.\ Joachim~Schlosser}}
+%        \smallskip}
+%}
 \setkomafont{backaddress}{\sffamily}
 \setkomafont{fromaddress}{\sffamily}
-\addtokomafont{fromname}{\scriptsize}
+%\setkomavar{fromlogo}{\parbox[b]{8cm}{\includegraphics[width=2cm]{logo.jpeg}}}
+\setkomavar{fromlogo}{\includegraphics[width=2cm]{logo.jpeg}}
+\setkomavar{nexthead}{\mbox{\textbf{Siedlervereinigung Berg am Laim}} \usekomavar{fromlogo}}
+\headheight=2cm
+\setkomafont{fromname}{\sffamily}
 \addtokomafont{fromaddress}{\scriptsize}
 \pagestyle{headings}
 %\CenterWallPaper{1}{MitgliederausweisSVBaLVorlage_leer_v2.pdf}
deleted file mode 100644 (file)
index 897c89d5240283ce82ed21190d0fdf425f13892d..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1,59 +0,0 @@
-\documentclass{scrlttr2}
-\LoadLetterOption{brief}
-\setkomavar{date}{\vspace*{-6\baselineskip}\today}
-\begin{document}
-\begin{letter}{
-       %\today \par \vspace*{2\baselineskip}
-       \vspace*{11 mm}\small{Frau\\Erika Schwarze\\Wildenholzenerstr. 14\\81617 München}}
-
-\opening{\par \vspace*{3\baselineskip}Liebe Vereinsmitglieder!}
-\CenterWallPaper{1}{../Aktuell/BriefpapierSVBaLVorlage.pdf}
-Lass mich Dir die Welt zeigen,\\
-wie ich sie sehe ...\\
-Lass mich Deine Gefühle spüren,\\
-sodass ich sie verstehe ...\\
-Lass Dich in meine Arme sinken,\\
-Du bist nicht allein ...\\
-Lass Dich von meinen Träumen berühren,\\
-ich will bei dir sein.
-
-Ulrich Stamm
-
-\vspace*{1 cm}\hrule
-\vspace*{2 cm}
-In ungewissen Zeiten schafft die Beziehung zu einem geliebten Menschen uns Sicherheit, mit der wir voll Zuversicht ins neue Jahr gehen können.
-
-Der Vorstand der Siedlervereinigung Berg am Laim wünscht Ihnen gesegnete Weihnacht und viel Zuversicht im neuen Jahr.
-
-\pagebreak
-\ClearWallPaper
-
-\textbf{Nachrichten aus dem Verband}
-\begin{itemize}
-\item  Baumschutzverordnung und Wärmeplan
-
-    Die Vorstände der Siedlervereine des Münchner Ostens sind zu diesen im Gespräch mit Stadträten und Ausschüssen. Gerne halten wir Sie bei neuen Entwicklungen auf dem Laufenden.
-
-    Am 6.2.2025 um 18:00h hat der Eigenheimer Waldperlach-Neubiberg das Referat für Klima- und Umweltschutz im Leiberheim zu Gast. In einem Tandemvortrag soll die Wärmeplanung für dieses Stadtgebiet vorgestellt und im Anschluss diskutiert werden. Auch interessierte Vereinsmitglieder sind herzlich eingeladen.
-
-\item Neuer Justitiar Karl Schmelzing
-
-    Nach langjähriger Tätigkeit für den Verband ist Rainer Schmidt in den Ruhestand gegangen. Für rechtliche Fragen steht nun sein Nachfolger Hr. Karl Schmelzing zur Verfügung.
-
-\item Wärmepumpen und Wallboxen
-
-    Wärmepumpen und Wallboxen benötigen viel Strom, der durch das existierende Stromnetz den Verbrauchern zur Verfügung gestellt werden muss. Wir hören bereits von Fällen, dass die Stadtwerke die Installation solcher Einrichtungen ablehnen, da sie sonst eine Überlastung der Netze befürchten.
-
-    Bitte teilen Sie uns Ihre Erfahrungen zu diesen Themen mit, damit wir einen Überblick über die Situation erhalten.
-    Vergünstigungen
-
-\item  Wir weisen nochmal auf die bereits im Sommerrundbrief beschriebenen Vergünstigungen für die Mitglieder des Eihenheimerverbandes hin: Da sind zum einen Handelsunternehmen im Münchner Osten, die uns Rabatte gewähren, zum anderen gibt es die "Eigenheimervergünstigungen" auf der Internetseite des Verbands. Auf Rückfrage teile ich Ihnen Gerne nochmal die Möglichkeiten mit.
-
-
-\item Mitglieder werben Mitglieder
-
-    Ich darf Sie an die 20.- EUR Prämie für die Werbung neuer Mitglieder erinnern.
-\end{itemize}
-%\closing{Viele Grüße}
-\end{letter}
-\end{document}
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..289ee89a0d4ffb576bb38e95178eab320c382c0d
--- /dev/null
@@ -0,0 +1 @@
+brief_202503.tex
\ No newline at end of file
diff --git a/python/eh_util/eh_app/AWK/pdf_ersteller.py b/python/eh_util/eh_app/AWK/pdf_ersteller.py
new file mode 100644 (file)
index 0000000..3ad438e
--- /dev/null
@@ -0,0 +1,20 @@
+class PdfErsteller(object):
+    '''
+    Klasse zur Erstellung von PDFs
+    '''
+
+
+    def __init__(self, request, template, pfad):
+        self.request  = request
+        self.template = template
+        self.pfad     = pfad
+        
+    def erstellepdf(self, m):
+        tex_bearbeitet = self.template.render({"Anrede" : 'Frau', "Nachname" : 'Wagner'}, self.request)
+    
+        with open(f'{self.pfad}/{m.nachname}_brief.tex', 'w') as f: # öffnet ein neues Dokument mit dem Namen test.tex
+            f.write(tex_bearbeitet) # schreibt in dieses neue Dokument
+            
+        # AUfruf PDF latex tex -> pdf
+        import subprocess
+        subprocess.run(["bash", "../../bin/pdfersteller", f'{m.nachname}_brief.tex'])
index c60832830e1c364e12e8a4d96ad5ed5f8ab93927..1cf27bce9b3461e879ed2ec74640601c32b85558 100644 (file)
@@ -1,4 +1,5 @@
 import os
+from eh_app.AWK import config
 '''
 def handle_uploaded_file(csv_file):
     csv_file_name = str(csv_file)
@@ -25,12 +26,6 @@ def aktualisiere_config(config, data, file):
     if data["zusatzbeitrag"]:
         config.setConfig("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
@@ -82,3 +77,20 @@ def erstelle_ehmeldung(data):
     output.write(output_stream)
     output_stream.close()
       
+def pdfs_erstellen(request, verein):
+    from django.template import loader
+    
+    # lese alle Miglieder
+    cf = config.getInstance("svbal")
+    cf.setConfig("DataFile", "../../Test/etc/Export.csv")
+    from eh_app.qmodels import Mitglied
+    mm = Mitglied.objects.all()
+    template = loader.get_template("brief.tex")
+    
+    from eh_app.AWK.pdf_ersteller import PdfErsteller
+    pe = PdfErsteller(request, template, "../../latex")
+    
+    # Erstelle PDFs
+    for m in mm:
+        pe.erstellepdf(m)
+                   
index 5137ace6f346f9dc72d1482431cb3b5db9feda9c..820718a0075758f1bf5ecce152157f188840bced 100644 (file)
@@ -8,6 +8,7 @@ from django.template import loader
 from .AWK import config, routines
 #import .forms 
 from .forms import EhmeldungForm, KassenbriefForm
+from eh_app.AWK.pdf_ersteller import PdfErsteller
 
 # Create your views here.
 
@@ -26,11 +27,7 @@ def index(request, verein):
     template = loader.get_template("vbasis.html")
     return HttpResponse(template.render({"verein" : verein}, request))
 
-def tex_bearbeiten(request, verein):
-    template = loader.get_template("brief.tex")
-    tex_bearbeitet = template.render({"Anrede" : 'Frau'}, {"Nachname" : 'Wagner'}, request)
-                   
-@login_required
+#@login_required
 def kassenbrief(request, verein):
     fehlertext = ""
     # Hole Daten aus der Config
@@ -71,7 +68,7 @@ def kassenbrief(request, verein):
             
             # wenn Werte gefüllt 
             else:
-                routines.erstellepdf('Hallo Welt')
+                routines.pdfs_erstellen(request, verein)
                 
                 # redirect to a new URL:
                 return HttpResponseRedirect('erfolg')