update to files

This commit is contained in:
WorldTeacher
2024-02-13 14:13:40 +01:00
parent 8ef39dfade
commit e4a8ac7d41
13 changed files with 410 additions and 98 deletions

View File

@@ -161,8 +161,6 @@ class Ui(Ui_Semesterapparat):
self.calendarWidget.setObjectName("MessageCalendar")
self.calendarWidget.clicked.connect(self.open_reminder)
# assign a context menu to the calendar
self.calendarWidget.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
self.calendarWidget.customContextMenuRequested.connect(self.calendar_context_menu)
self.tableWidget_apparat_media.horizontalHeader().setSectionResizeMode(
QtWidgets.QHeaderView.ResizeMode.Stretch
@@ -839,7 +837,7 @@ class Ui(Ui_Semesterapparat):
appdata = ApparatData()
appdata.app_fach = self.app_fach.currentText()
appdata.appname = self.app_name.text()
appdata.appnr = self.active_apparat()
appdata.appnr = self.active_apparat
appdata.dauerapp = self.check_eternal_app.isChecked()
appdata.prof_mail = self.prof_mail.text()
appdata.prof_tel = self.prof_tel_nr.text()
@@ -1037,7 +1035,7 @@ class Ui(Ui_Semesterapparat):
self.update_documemt_list()
def update_documemt_list(self):
app_id = self.active_apparat()
app_id = self.active_apparat
prof_id = self.db.getProfId(
self.drpdwn_prof_name.currentText().replace(", ", " ")
)
@@ -1129,7 +1127,7 @@ class Ui(Ui_Semesterapparat):
if data == []:
self.confirm_popup("Bitte mindestens ein Medium hinzufügen!")
app_id = self.active_apparat()
app_id = self.active_apparat
prof_id = self.db.getProfId(self.drpdwn_prof_name.currentText())
# check if app_id is in database
if not self.db.checkApparatExists(app_id):
@@ -1195,13 +1193,13 @@ class Ui(Ui_Semesterapparat):
self.avail_status.setText(f"0/{items}")
self.avail_status.show()
books = self.db.getBooks(
self.active_apparat(),
self.active_apparat,
self.db.getProfId(self.drpdwn_prof_name.currentText()),
deleted=0,
)
# thread = QThread()
appnumber = self.active_apparat()
appnumber = self.active_apparat
print(links)
availcheck = AvailChecker(links, appnumber, books=books)
# availcheck.moveToThread(thread)
@@ -1227,7 +1225,7 @@ class Ui(Ui_Semesterapparat):
def update_app_media_list(self):
deleted = 0 if not self.chkbx_show_del_media.isChecked() else 1
app_id = self.active_apparat()
app_id = self.active_apparat
prof_id = self.db.getProfId(self.drpdwn_prof_name.currentText())
books: list[dict[int, BookData, int]] = self.db.getBooks(
app_id, prof_id, deleted
@@ -1315,7 +1313,7 @@ class Ui(Ui_Semesterapparat):
pass
def text_to_clipboard(self):
app_id = self.active_apparat()
app_id = self.active_apparat
text = f"SQ=select distinct akkey from aupr01 where aufst='{app_id}' union select pr_isn from aks4pd where akruf ='{app_id}'"
clipboard = QtWidgets.QApplication.clipboard()
clipboard.setText(text)
@@ -1344,7 +1342,7 @@ class Ui(Ui_Semesterapparat):
# set tooltip of row 3 to the file path for each row
self.dokument_list.item(0, 3).setToolTip(file)
# self.db.insert_file(files, self.active_apparat(), self.db.get_prof_id(self.drpdwn_prof_name.currentText()))
# self.db.insert_file(files, self.active_apparat, self.db.get_prof_id(self.drpdwn_prof_name.currentText()))
def open_document(self):
_selected_doc_name = ""
@@ -1372,7 +1370,7 @@ class Ui(Ui_Semesterapparat):
path = path.resolve()
os.system(f"open {path}")
else:
recreateFile(_selected_doc_name,self.active_apparat() ,filetype=_selected_doc_filetype)
recreateFile(_selected_doc_name,self.active_apparat ,filetype=_selected_doc_filetype)
# # if ~ in path, replace it with the home directory
# if "~" in path:
# path = path.replace("~", str(Path.home()))
@@ -1424,7 +1422,7 @@ class Ui(Ui_Semesterapparat):
delete=False, suffix="." + file_type
)
temp_file.write(
self.db.getBlob(file_name, int(self.active_apparat()))
self.db.getBlob(file_name, int(self.active_apparat))
)
temp_file.close()
file = temp_file.name
@@ -1437,7 +1435,7 @@ class Ui(Ui_Semesterapparat):
signatures = csv_to_list(file)
data = __open_dialog(signatures)
# get the app_id and prof_id
app_id = self.active_apparat()
app_id = self.active_apparat
prof_id = self.db.getProfId(self.drpdwn_prof_name.currentText())
# add the data to the database
for book in data:
@@ -1458,7 +1456,7 @@ class Ui(Ui_Semesterapparat):
if data == []:
return
# get the app_id and prof_id
app_id = self.active_apparat()
app_id = self.active_apparat
prof_id = self.db.getProfId(self.drpdwn_prof_name.currentText())
# add the data to the database
for book in data:
@@ -1477,7 +1475,7 @@ class Ui(Ui_Semesterapparat):
self.tableWidget_apparate.setToolTip(
"Bitte warten, bis alle Medien hinzugefügt wurden"
)
app_id = self.active_apparat()
app_id = self.active_apparat
prof_id = self.db.getProfId(self.drpdwn_prof_name.currentText())
# check if apparat in database
@@ -1583,7 +1581,7 @@ class Ui(Ui_Semesterapparat):
self.confirm_popup("Bitte alle Pflichtfelder ausfüllen!")
return
appd = ApparatData()
appd.appnr = self.active_apparat()
appd.appnr = self.active_apparat
appd.prof_title = (
None
if self.prof_title.text() == ""
@@ -1616,7 +1614,12 @@ class Ui(Ui_Semesterapparat):
# self.btn_load_apparat()
__clear_fields()
if self.check_send_mail.isChecked():
self.contact_prof()
def send_mail_preview(self):
pass
@property
def active_apparat(self):
return self.drpdwn_app_nr.currentText()
@@ -1632,7 +1635,7 @@ class Ui(Ui_Semesterapparat):
}
)
self.dokument_list.item(i, 2).setText("")
self.db.insertFile(files, self.active_apparat(), self.db.getProfId(self.drpdwn_prof_name.currentText()))
self.db.insertFile(files, self.active_apparat, self.db.getProfId(self.drpdwn_prof_name.currentText()))
def update_apparat_list(self):
# get a list of new apparats based on self.apparats and self.old_apparats
@@ -1681,14 +1684,7 @@ class Ui(Ui_Semesterapparat):
)
self.logger.log_info(f"Inserted apparat {apparat[4]}")
def calendar_context_menu(self):
# create a context menu for the calendar
menu = QtWidgets.QMenu()
create_reminder = menu.addAction("Erinnerung erstellen")
create_reminder.triggered.connect(self.reminder(date=self.calendarWidget.selectedDate().toString("yyyy-MM-dd")))
menu.exec(QtGui.QCursor.pos())
return menu
def open_context_menu(self, position):
menu = QtWidgets.QMenu()
extend_action = menu.addAction("Verlängern")
@@ -1715,7 +1711,7 @@ class Ui(Ui_Semesterapparat):
self.db.addMessage(
data,
self.active_user,
self.active_apparat if self.active_apparat() != "" else None,
self.active_apparat if self.active_apparat != "" else None,
)
self.calendarWidget.setMessages([data])
self.calendarWidget.updateCells()
@@ -1739,8 +1735,10 @@ class Ui(Ui_Semesterapparat):
self.message_frame.hide()
return
self.message_box.setText(message["message"])
appnr = message["appnr"]
appnr = "/" if appnr is None else str(appnr)
self.line_app_info.setText(
message["appnr"] if message["appnr"] != None else "/"
appnr
)
def __delete_message():
@@ -1751,6 +1749,7 @@ class Ui(Ui_Semesterapparat):
self.spin_select_message.setMaximum(len(messages))
self.spin_select_message.setValue(1)
self.label_total_day_messages.setText("/ " + str(len(messages)))
selected_date = self.calendarWidget.selectedDate().toString("yyyy-MM-dd")
print(selected_date)
@@ -1812,11 +1811,11 @@ class Ui(Ui_Semesterapparat):
self.tableWidget_apparat_media.currentRow(), 1
).text()
data = self.db.getBookBasedOnSignature(
app_id=self.active_apparat(),
app_id=self.active_apparat,
signature=book,
prof_id=self.db.getProfId(self.drpdwn_prof_name.currentText()),
)
book_id = self.db.getBookIdBasedOnSignature(self.active_apparat(),self.db.getProfId(self.drpdwn_prof_name.currentText()),book)
book_id = self.db.getBookIdBasedOnSignature(self.active_apparat,self.db.getProfId(self.drpdwn_prof_name.currentText()),book)
widget = QtWidgets.QDialog()
bookedit = edit_bookdata_ui()
bookedit.setupUi(widget)
@@ -1907,34 +1906,36 @@ class Ui(Ui_Semesterapparat):
return
def contact_prof(self):
if self.active_apparat == "":
self.confirm_popup("Bitte erst einen Apparat auswählen!")
return
dialog = QtWidgets.QDialog()
mail_prev = Mail_Dialog()
mail_prev.setupUi(dialog)
mail_prevs = os.listdir("mail_vorlagen")
if self.app_name.text() == "":
mail_prevs.remove("Information zum Semesterapparat.eml")
mail_prev.comboBox.addItems(mail_prevs)
active_apparat_id = self.tableWidget_apparate.item(
self.tableWidget_apparate.currentRow(), 0
).text()
general_data = {
"Appname": self.app_name.text(),
"AppName": self.app_name.text(),
"AppSubject": self.app_fach.currentText(),
"appnr": active_apparat_id,
"AppNr": active_apparat_id,
}
print(active_apparat_id)
mail_prev.appid = active_apparat_id
base_data = self.db.getProfData(id=active_apparat_id)
profname = self.db.getProfNameById(base_data["id"])
profname = self.drpdwn_prof_name.currentText().replace(",", "")
profname = profname.split(" ")
profname = f"{profname[1]} {profname[0]}"
prof_id = self.db.getProfId(self.drpdwn_prof_name.currentText())
mail = self.db.getSpecificProfData(prof_id, ["mail"])
pass_data = {
"prof_name": profname,
"mail_name": base_data["prof_mail"],
"mail_name": mail,
"general": general_data,
}
mail_prev.set_data(pass_data)
mail_prev = Mail_Dialog(app_id = self.active_apparat,data = pass_data,app_name = self.app_name.text(),app_subject = self.app_fach.currentText())
mail_prev.setupUi(dialog)
mail_prev.comboBox.addItems(mail_prevs)
mail_prev.set_mail()
dialog.exec()
@@ -1987,7 +1988,7 @@ def launch_gui():
print(aui.active_user)
MainWindow.show()
atexit.register()
# atexit.register()
atexit.register(delete_temp_contents)
atexit.register(aui.validate_thread.quit)
sys.exit(app.exec())

View File

@@ -1201,7 +1201,7 @@ class Ui_MainWindow(object):
self.spin_select_message.setMinimum(1)
self.spin_select_message.setObjectName("spin_select_message")
self.label_total_day_messages = QtWidgets.QLabel(self.message_frame)
self.label_total_day_messages.setGeometry(QtCore.QRect(260, 10, 21, 22))
self.label_total_day_messages.setGeometry(QtCore.QRect(240, 10, 21, 22))
self.label_total_day_messages.setObjectName("label_total_day_messages")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
@@ -1345,6 +1345,7 @@ class Ui_MainWindow(object):
self.tableWidget_apparat_media.setSortingEnabled(True)
item = self.tableWidget_apparat_media.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "Buchtitel"))
item.setToolTip(_translate("MainWindow", "Es kann sein, dass der Buchtitel leer ist, dies kommt vor, wenn der Titel nicht passend formatiert ist"))
item = self.tableWidget_apparat_media.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "Signatur"))
item = self.tableWidget_apparat_media.horizontalHeaderItem(2)

View File

@@ -0,0 +1,92 @@
# Form implementation generated from reading ui file 'c:\Users\aky547\GitHub\SemesterapparatsManager\src\ui\dialogs\mail_preview.ui'
#
# Created by: PyQt6 UI code generator 6.3.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_eMailPreview(object):
def setupUi(self, eMailPreview):
eMailPreview.setObjectName("eMailPreview")
eMailPreview.resize(676, 676)
self.buttonBox = QtWidgets.QDialogButtonBox(eMailPreview)
self.buttonBox.setGeometry(QtCore.QRect(310, 630, 341, 32))
self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
self.buttonBox.setObjectName("buttonBox")
self.gridLayoutWidget = QtWidgets.QWidget(eMailPreview)
self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 10, 661, 621))
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.label_5 = QtWidgets.QLabel(self.gridLayoutWidget)
self.label_5.setObjectName("label_5")
self.gridLayout.addWidget(self.label_5, 0, 0, 1, 1)
self.prof_name = QtWidgets.QLineEdit(self.gridLayoutWidget)
self.prof_name.setObjectName("prof_name")
self.gridLayout.addWidget(self.prof_name, 2, 2, 1, 1)
self.label_3 = QtWidgets.QLabel(self.gridLayoutWidget)
self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)
self.label_3.setObjectName("label_3")
self.gridLayout.addWidget(self.label_3, 5, 0, 1, 1)
self.mail_name = QtWidgets.QLineEdit(self.gridLayoutWidget)
self.mail_name.setObjectName("mail_name")
self.gridLayout.addWidget(self.mail_name, 1, 2, 1, 1)
self.label_2 = QtWidgets.QLabel(self.gridLayoutWidget)
self.label_2.setObjectName("label_2")
self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
self.label_4 = QtWidgets.QLabel(self.gridLayoutWidget)
self.label_4.setObjectName("label_4")
self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
self.mail_header = QtWidgets.QLineEdit(self.gridLayoutWidget)
self.mail_header.setObjectName("mail_header")
self.gridLayout.addWidget(self.mail_header, 3, 2, 1, 1)
self.label = QtWidgets.QLabel(self.gridLayoutWidget)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
self.comboBox = QtWidgets.QComboBox(self.gridLayoutWidget)
self.comboBox.setObjectName("comboBox")
self.gridLayout.addWidget(self.comboBox, 0, 2, 1, 1)
self.mail_body = QtWidgets.QTextEdit(self.gridLayoutWidget)
self.mail_body.setObjectName("mail_body")
self.gridLayout.addWidget(self.mail_body, 5, 2, 1, 1)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.gender_male = QtWidgets.QRadioButton(self.gridLayoutWidget)
self.gender_male.setObjectName("gender_male")
self.horizontalLayout_3.addWidget(self.gender_male)
self.gender_female = QtWidgets.QRadioButton(self.gridLayoutWidget)
self.gender_female.setObjectName("gender_female")
self.horizontalLayout_3.addWidget(self.gender_female)
self.gender_non = QtWidgets.QRadioButton(self.gridLayoutWidget)
self.gender_non.setObjectName("gender_non")
self.horizontalLayout_3.addWidget(self.gender_non)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_3.addItem(spacerItem)
self.gridLayout.addLayout(self.horizontalLayout_3, 4, 2, 1, 1)
self.label_6 = QtWidgets.QLabel(self.gridLayoutWidget)
self.label_6.setObjectName("label_6")
self.gridLayout.addWidget(self.label_6, 4, 0, 1, 1)
self.retranslateUi(eMailPreview)
self.buttonBox.accepted.connect(eMailPreview.accept) # type: ignore
self.buttonBox.rejected.connect(eMailPreview.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(eMailPreview)
def retranslateUi(self, eMailPreview):
_translate = QtCore.QCoreApplication.translate
eMailPreview.setWindowTitle(_translate("eMailPreview", "Dialog"))
self.label_5.setText(_translate("eMailPreview", "Art"))
self.label_3.setText(_translate("eMailPreview", "Mail"))
self.label_2.setText(_translate("eMailPreview", "Prof"))
self.label_4.setText(_translate("eMailPreview", "Betreff"))
self.label.setText(_translate("eMailPreview", "eMail"))
self.gender_male.setText(_translate("eMailPreview", "M"))
self.gender_female.setText(_translate("eMailPreview", "W"))
self.gender_non.setText(_translate("eMailPreview", "Divers"))
self.label_6.setText(_translate("eMailPreview", "Geschlecht"))

View File

@@ -1,4 +1,4 @@
# Form implementation generated from reading ui file 'c:\Users\aky547\GitHub\Semesterapparate\ui\dialogs\reminder.ui'
# Form implementation generated from reading ui file 'c:\Users\aky547\GitHub\SemesterapparatsManager\src\ui\dialogs\reminder.ui'
#
# Created by: PyQt6 UI code generator 6.3.1
#
@@ -6,14 +6,14 @@
# run again. Do not edit this file unless you know what you are doing.
from PyQt6 import QtCore, QtWidgets
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(369, 308)
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
def setupUi(self, Erinnerung):
Erinnerung.setObjectName("Erinnerung")
Erinnerung.resize(369, 308)
self.buttonBox = QtWidgets.QDialogButtonBox(Erinnerung)
self.buttonBox.setGeometry(QtCore.QRect(190, 270, 161, 32))
self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.buttonBox.setStandardButtons(
@@ -21,29 +21,29 @@ class Ui_Dialog(object):
| QtWidgets.QDialogButtonBox.StandardButton.Ok
)
self.buttonBox.setObjectName("buttonBox")
self.message_box = QtWidgets.QTextEdit(Dialog)
self.message_box = QtWidgets.QTextEdit(Erinnerung)
self.message_box.setGeometry(QtCore.QRect(10, 60, 341, 201))
self.message_box.setObjectName("message_box")
self.label = QtWidgets.QLabel(Dialog)
self.label = QtWidgets.QLabel(Erinnerung)
self.label.setGeometry(QtCore.QRect(10, 30, 61, 21))
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(Dialog)
self.label_2 = QtWidgets.QLabel(Erinnerung)
self.label_2.setGeometry(QtCore.QRect(150, 30, 81, 21))
self.label_2.setObjectName("label_2")
self.dateEdit = QtWidgets.QDateEdit(Dialog)
self.dateEdit = QtWidgets.QDateEdit(Erinnerung)
self.dateEdit.setGeometry(QtCore.QRect(240, 30, 110, 22))
self.dateEdit.setObjectName("dateEdit")
self.dateEdit.setDateTime(QtCore.QDateTime.currentDateTime())
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
self.dateEdit.setDate(QtCore.QDate.currentDate())
self.retranslateUi(Erinnerung)
self.buttonBox.accepted.connect(Erinnerung.accept) # type: ignore
self.buttonBox.rejected.connect(Erinnerung.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Erinnerung)
def retranslateUi(self, Dialog):
def retranslateUi(self, Erinnerung):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.label.setText(_translate("Dialog", "Nachricht:"))
self.label_2.setText(_translate("Dialog", "Erinnerung am:"))
Erinnerung.setWindowTitle(_translate("Erinnerung", "Dialog"))
self.label.setText(_translate("Erinnerung", "Nachricht:"))
self.label_2.setText(_translate("Erinnerung", "Erinnerung am:"))
def return_message(self) -> dict:
return {

View File

@@ -7,7 +7,7 @@
from PyQt6 import QtCore, QtGui, QtWidgets
from src.backend.semester import generateSemesterByDate
class Ui_Dialog(object):
def setupUi(self, Dialog):

View File

@@ -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("<html>")[0]
mail_html = mail_template.split("<html>")[1]
mail_html = "<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)

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<class>eMailPreview</class>
<widget class="QDialog" name="eMailPreview">
<property name="geometry">
<rect>
<x>0</x>
@@ -39,10 +39,17 @@
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Art</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLineEdit" name="prof_name"/>
</item>
<item row="4" column="0">
<item row="5" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Mail</string>
@@ -52,6 +59,9 @@
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLineEdit" name="mail_name"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
@@ -69,12 +79,6 @@
<item row="3" column="2">
<widget class="QLineEdit" name="mail_header"/>
</item>
<item row="1" column="2">
<widget class="QLineEdit" name="mail_name"/>
</item>
<item row="4" column="2">
<widget class="QTextEdit" name="mail_body"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
@@ -85,10 +89,51 @@
<item row="0" column="2">
<widget class="QComboBox" name="comboBox"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_5">
<item row="5" column="2">
<widget class="QTextEdit" name="mail_body"/>
</item>
<item row="4" column="2">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QRadioButton" name="gender_male">
<property name="text">
<string>M</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="gender_female">
<property name="text">
<string>W</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="gender_non">
<property name="text">
<string>Divers</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Art</string>
<string>Geschlecht</string>
</property>
</widget>
</item>
@@ -100,7 +145,7 @@
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>Dialog</receiver>
<receiver>eMailPreview</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
@@ -116,7 +161,7 @@
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>Dialog</receiver>
<receiver>eMailPreview</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<class>Erinnerung</class>
<widget class="QDialog" name="Erinnerung">
<property name="geometry">
<rect>
<x>0</x>
@@ -81,7 +81,7 @@
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>Dialog</receiver>
<receiver>Erinnerung</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
@@ -97,7 +97,7 @@
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>Dialog</receiver>
<receiver>Erinnerung</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">

View File

@@ -1216,6 +1216,9 @@
<property name="text">
<string>Buchtitel</string>
</property>
<property name="toolTip">
<string>Es kann sein, dass der Buchtitel leer ist, dies kommt vor, wenn der Titel nicht passend formatiert ist</string>
</property>
</column>
<column>
<property name="text">
@@ -2796,7 +2799,7 @@
<widget class="QLabel" name="label_total_day_messages">
<property name="geometry">
<rect>
<x>260</x>
<x>240</x>
<y>10</y>
<width>21</width>
<height>22</height>