From e4a8ac7d4119fe119713eea48645b242a609eb4f Mon Sep 17 00:00:00 2001 From: WorldTeacher <41587052+WorldTeacher@users.noreply.github.com> Date: Tue, 13 Feb 2024 14:13:40 +0100 Subject: [PATCH] update to files --- ...hner (alexander.kirchner@ph-freiburg.de).eml | 54 ++++++++++ ...Auflösung des Semesterapparates {AppNr}.eml | 54 ++++++++++ ...um Semesterapparat {AppNr} - {AppName}.eml | 46 +++++++++ sap.db | Bin 647168 -> 647168 bytes src/logic/userInterface.py | 83 ++++++++-------- src/ui/Ui_semesterapparat_ui.py | 3 +- src/ui/dialogs/Ui_mail_preview.py | 92 ++++++++++++++++++ src/ui/dialogs/Ui_reminder.py | 38 ++++---- src/ui/dialogs/app_ext.py | 2 +- src/ui/dialogs/mail.py | 50 ++++++---- src/ui/dialogs/mail_preview.ui | 73 +++++++++++--- src/ui/dialogs/reminder.ui | 8 +- src/ui/semesterapparat_ui.ui | 5 +- 13 files changed, 410 insertions(+), 98 deletions(-) create mode 100644 mail_vorlagen/Information bezüglich der Auflösung des Semesterapparates {AppNr} - Alexander Kirchner (alexander.kirchner@ph-freiburg.de).eml create mode 100644 mail_vorlagen/Information bezüglich der Auflösung des Semesterapparates {AppNr}.eml create mode 100644 mail_vorlagen/Information zum Semesterapparat {AppNr} - {AppName}.eml create mode 100644 src/ui/dialogs/Ui_mail_preview.py diff --git a/mail_vorlagen/Information bezüglich der Auflösung des Semesterapparates {AppNr} - Alexander Kirchner (alexander.kirchner@ph-freiburg.de).eml b/mail_vorlagen/Information bezüglich der Auflösung des Semesterapparates {AppNr} - Alexander Kirchner (alexander.kirchner@ph-freiburg.de).eml new file mode 100644 index 0000000..9bc91f4 --- /dev/null +++ b/mail_vorlagen/Information bezüglich der Auflösung des Semesterapparates {AppNr} - Alexander Kirchner (alexander.kirchner@ph-freiburg.de).eml @@ -0,0 +1,54 @@ +Message-ID: <987b46cf-2d8b-4a27-acb3-c50f61d3d85d@ph-freiburg.de> +Date: Tue, 31 Oct 2023 11:38:34 +0100 +MIME-Version: 1.0 +User-Agent: Mozilla Thunderbird +From: Alexander Kirchner +Subject: =?UTF-8?Q?Information_bez=C3=BCglich_der_Aufl=C3=B6sung_des_Semeste?= + =?UTF-8?Q?rapparates_=7BAppNr=7D?= +Content-Language: de-DE +X-Mozilla-Draft-Info: internal/draft; vcard=0; receipt=0; DSN=0; uuencode=0; + attachmentreminder=0; deliveryformat=0 +X-Identity-Key: id1 +Fcc: imap://aky547@imap.ph-freiburg.de/INBOX/Sent +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + + + + + + +

Sehr geehrte/r {Profname},
+

+


+

+ auf die E-Mail bezüglich der Auflösung oder Verlängerung der + Semesterapparate haben wir von Ihnen keine Rückmeldung erhalten. + Deshalb gehen wir davon aus, dass der Apparat aufgelöst werden kann. + Die Medien, die im Apparat aufgestellt waren, werden nun wieder + regulär ausleihbar und sind dann an ihren Standorten bei den Fächern + zu finden.
+
+ Falls Sie den Apparat erneut, oder einen neuen Apparat anlegen + wollen, können Sie mir das ausgefüllte Formular zur Einrichtung des + Apparates (https://www.ph-freiburg.de/bibliothek/lernen/semesterapparate/info-lehrende-sem.html) + zukommen lassen. Im Falle einer Verlängerung des Apparates reicht + eine Antwort auf diese Mail. +


+

+

Bei Fragen können Sie sich jederzeit an mich wenden.
+

+


+

+
-- 
+Freundliche Grüße
+
+Alexander Kirchner
+
+
+Bibliothek der Pädagogischen Hochschule Freiburg
+Tel. 0761/682-778
+ + diff --git a/mail_vorlagen/Information bezüglich der Auflösung des Semesterapparates {AppNr}.eml b/mail_vorlagen/Information bezüglich der Auflösung des Semesterapparates {AppNr}.eml new file mode 100644 index 0000000..f415583 --- /dev/null +++ b/mail_vorlagen/Information bezüglich der Auflösung des Semesterapparates {AppNr}.eml @@ -0,0 +1,54 @@ +Message-ID: +Date: Mon, 17 Jul 2023 12:59:04 +0200 +MIME-Version: 1.0 +User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 + Thunderbird/102.13.0 +Content-Language: de-DE +From: {user_name} <{user_mail}> +Subject: =?UTF-8?Q?Information_bez=c3=bcglich_der_Aufl=c3=b6sung_des_Semeste?= + =?UTF-8?Q?rapparates_=7bAppNr=7d?= +X-Mozilla-Draft-Info: internal/draft; vcard=0; receipt=0; DSN=0; uuencode=0; + attachmentreminder=0; deliveryformat=0 +X-Identity-Key: id1 +Fcc: imap://aky547@imap.ph-freiburg.de/INBOX/Sent +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + + + + + + +

Sehr geehrte/r Herr/Frau {Profname},
+

+


+

+

da Sie nicht auf die Mail bezüglich der Apparatsverlängerung + reagiert haben, wird Ihr Semesterapparat nun gelöscht.

+

Dies bedeutet, dass alle Medien, welche im Apparat verzeichnet + waren, nun wieder regulär ausleihbar und in den entsprechenden + Stockwerken sind.

+


+

+

Falls Sie den Apparat erneut, oder einen neuen Apparat anlege + wollen, können Sie mir das ausgefüllte Formular zur Einrichtung + des Apparates +(https://www.ph-freiburg.de/bibliothek/lernen/semesterapparate/info-lehrende-sem.html) + zukommen lassen.

+


+

+

Bei Fragen können Sie sich jederzeit an mich wenden.
+

+


+

+
-- 
+Freundliche Grüße
+
+Alexander Kirchner
+
+
+Bibliothek der Pädagogischen Hochschule Freiburg
+Tel. 0761/682-778
+ + diff --git a/mail_vorlagen/Information zum Semesterapparat {AppNr} - {AppName}.eml b/mail_vorlagen/Information zum Semesterapparat {AppNr} - {AppName}.eml new file mode 100644 index 0000000..d4d2232 --- /dev/null +++ b/mail_vorlagen/Information zum Semesterapparat {AppNr} - {AppName}.eml @@ -0,0 +1,46 @@ +Message-ID: +Date: Tue, 12 Sep 2023 13:01:35 +0200 +MIME-Version: 1.0 +User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 + Thunderbird/102.15.0 +From: Alexander Kirchner +Subject: Information zum Semesterapparat {AppNr} - {Appname} +Content-Language: de-DE +X-Mozilla-Draft-Info: internal/draft; vcard=0; receipt=0; DSN=0; uuencode=0; + attachmentreminder=0; deliveryformat=0 +X-Identity-Key: id1 +Fcc: imap://aky547@imap.ph-freiburg.de/INBOX/Sent +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + + + + + +

{greeting} {Profname},
+

+


+

+

Ihr Semesterapparat {Appname} wurde angelegt.

+

Unter folgendem Link können Sie die Apparate einsehen:

+

https://bsz.ibs-bw.de/aDISWeb/app?service=direct/0/Home/$DirectLink&sp=SOPAC42&sp=SWI00000002&noRedir

+

Ihr Apparat ist unter {AppSubject} > {Profname} > {AppNr} {Appname}.
+

+


+

+

Noch nicht vorhandene Medien wurden vorgemerkt und werden nach + Rückkehr in die Bibliothek eingearbeitet.

+

Bei Fragen können Sie sich per Mail bei mir melden.
+

+
-- 
+Freundliche Grüße
+
+Alexander Kirchner
+
+
+Bibliothek der Pädagogischen Hochschule Freiburg
+Tel. 0761/682-778
+ + diff --git a/sap.db b/sap.db index 54d1ca278c347e2362018278091ef5439dfd896d..adc66bafab03827e30c6e1a67bf9be526bd41a83 100644 GIT binary patch delta 196 zcmZoTpx$smeS$Qj)JshbM5pP-8p~?8T42=8RQullr@DJT#ED*a!Yec^itA_fk+`OH7ymy03wH! z;xxUqR3jrpF8=onto(h<{PXzl@^9fk#^1MH@B(8EzW_h8G9!{k*5-Ns?eqK@ftU%1 YnSq!Eh*^P{4T#x+m}C1qf6k-{08U&xh5!Hn delta 129 zcmZoTpx$smeS$Qj=0q81M$L^0Q}kt67#JA18FN!pG85~0`A;yg@Xcl5o6FzGugCX( zv!X&T-{!e?dW?(~lNA+A1i1L$GqCW_W9Fa7f0us?|FO-21-<-?{LS dict: return { diff --git a/src/ui/dialogs/app_ext.py b/src/ui/dialogs/app_ext.py index af9c0e3..517db78 100644 --- a/src/ui/dialogs/app_ext.py +++ b/src/ui/dialogs/app_ext.py @@ -7,7 +7,7 @@ from PyQt6 import QtCore, QtGui, QtWidgets - +from src.backend.semester import generateSemesterByDate class Ui_Dialog(object): def setupUi(self, Dialog): diff --git a/src/ui/dialogs/mail.py b/src/ui/dialogs/mail.py index cd57712..a380f9a 100644 --- a/src/ui/dialogs/mail.py +++ b/src/ui/dialogs/mail.py @@ -1,25 +1,40 @@ import subprocess import tempfile - +import os from PyQt6 import QtCore, QtGui, QtWidgets -from src.ui.dialogs.mail_preview import Ui_Dialog - +from src.ui.dialogs.Ui_mail_preview import Ui_eMailPreview as Ui_Dialog +from omegaconf import OmegaConf +config = OmegaConf.load("config.yaml") class Mail_Dialog(QtWidgets.QDialog, Ui_Dialog): - def __init__(self, parent=None): + def __init__(self, parent=None, app_id="", app_name="", app_subject="", prof_name="", data = None): super().__init__(parent) self.setupUi(self) - self.appid = "" + self.appid = app_id + self.appname = app_name + self.subject = app_subject + self.profname = prof_name self.mail_data = "" - self.data = None + self.data = data self.buttonBox.accepted.connect(self.save_mail) + self.comboBox.selec - def set_data(self, data: dict): - self.prof_name.setText(data["prof_name"]) - self.mail_name.setText(data["mail_name"]) - # assign data["general"] to self.data - self.data = data["general"] + # def set_data(self, data: dict): + # print(data) + # self.prof_name.setText(data["prof_name"]) + # self.mail_name.setText(data["mail_name"]) + # # assign data["general"] to self.data + # self.data = data["general"] + + def get_greeting(self): + if self.gender_male.isChecked(): + return "Sehr geehrter Herr" + elif self.gender_female.isChecked(): + return "Sehr geehrte Frau" + elif self.gender_non.isChecked(): + return "Guten Tag" + def set_mail(self): email_template = self.comboBox.currentText() @@ -27,15 +42,14 @@ class Mail_Dialog(QtWidgets.QDialog, Ui_Dialog): mail_template = f.read() email_header = email_template.split(".eml")[0] if "{AppNr}" in email_template: - email_header = email_template.split(".eml")[0].format(AppNr=self.appid) + email_header = email_template.split(".eml")[0] self.mail_header.setText(email_header) self.mail_data = mail_template.split("")[0] mail_html = mail_template.split("")[1] mail_html = "" + mail_html - print(self.data) - Appname = self.data["Appname"] + Appname = self.appname mail_html = mail_html.format( - Profname=self.prof_name.text().split(" ")[-1], Appname=Appname + Profname=self.prof_name.text().split(" ")[-1], Appname=Appname, AppNr=self.appid, AppSubject = self.subject,greeting = self.get_greeting() ) self.mail_body.setHtml(mail_html) @@ -46,14 +60,16 @@ class Mail_Dialog(QtWidgets.QDialog, Ui_Dialog): mail_body = self.mail_body.toHtml() mail = self.mail_data + mail_body mail = mail.replace("Subject:", f"Subject: {mail_header}") + directory = config["database"]["tempdir"] + directory = directory.replace("~", str(os.path.expanduser("~"))) with tempfile.NamedTemporaryFile( - mode="w", delete=False, suffix=".eml", encoding="utf-8", dir="mails" + mode="w", delete=False, suffix=".eml", encoding="utf-8", dir=directory ) as f: f.write(mail) self.mail_path = f.name print(self.mail_path) # open the file using thunderbird - subprocess.Popen(["thunderbird", f"{self.mail_path}"]) + subprocess.Popen([f"{self.mail_path}"]) # delete the file # os.remove(self.mail_path) diff --git a/src/ui/dialogs/mail_preview.ui b/src/ui/dialogs/mail_preview.ui index 847ea39..eb4ce62 100644 --- a/src/ui/dialogs/mail_preview.ui +++ b/src/ui/dialogs/mail_preview.ui @@ -1,7 +1,7 @@ - Dialog - + eMailPreview + 0 @@ -39,10 +39,17 @@ + + + + Art + + + - + Mail @@ -52,6 +59,9 @@ + + + @@ -69,12 +79,6 @@ - - - - - - @@ -85,10 +89,51 @@ - - + + + + + + + + + M + + + + + + + W + + + + + + + Divers + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + - Art + Geschlecht @@ -100,7 +145,7 @@ buttonBox accepted() - Dialog + eMailPreview accept() @@ -116,7 +161,7 @@ buttonBox rejected() - Dialog + eMailPreview reject() diff --git a/src/ui/dialogs/reminder.ui b/src/ui/dialogs/reminder.ui index a461a74..0a945c7 100644 --- a/src/ui/dialogs/reminder.ui +++ b/src/ui/dialogs/reminder.ui @@ -1,7 +1,7 @@ - Dialog - + Erinnerung + 0 @@ -81,7 +81,7 @@ buttonBox accepted() - Dialog + Erinnerung accept() @@ -97,7 +97,7 @@ buttonBox rejected() - Dialog + Erinnerung reject() diff --git a/src/ui/semesterapparat_ui.ui b/src/ui/semesterapparat_ui.ui index c4ba01e..1774522 100644 --- a/src/ui/semesterapparat_ui.ui +++ b/src/ui/semesterapparat_ui.ui @@ -1216,6 +1216,9 @@ Buchtitel + + Es kann sein, dass der Buchtitel leer ist, dies kommt vor, wenn der Titel nicht passend formatiert ist + @@ -2796,7 +2799,7 @@ - 260 + 240 10 21 22