Merge pull request 'dev_pyside6' (#1) from dev_pyside6 into dev

Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2025-04-07 06:56:09 +01:00
8 changed files with 153 additions and 193 deletions

View File

@@ -37,6 +37,7 @@ class Mail:
sender: str sender: str
password: str password: str
use_user_name: bool use_user_name: bool
printer_mail: str
user_name: str user_name: str
signature: str | None = None signature: str | None = None
empty_signature = """<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> empty_signature = """<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

View File

@@ -0,0 +1,18 @@
Subject: Information zur Auflösung des Semesterapparates {AppNr} - {Appname}
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 8bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body style=" font-family:'Segoe UI'; font-size:9pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">{greeting}</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ihr Semesterapparat "{Appname} ({AppNr})" wurde wie besprochen aufgelöst. </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Die Medien sind von nun an wieder in den Regalen zu finden.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><pre class="moz-signature" cols="72">-- </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">{signature}</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></pre></p></body></html>

View File

@@ -47,6 +47,7 @@ class Database:
if db_path is None: if db_path is None:
self.db_path = self.database.path + self.database.name self.db_path = self.database.path + self.database.name
self.db_path = self.db_path.replace("~", str(Path.home())) self.db_path = self.db_path.replace("~", str(Path.home()))
logger.debug(self.db_path)
else: else:
self.db_path = db_path self.db_path = db_path
self.checkDatabaseStatus() self.checkDatabaseStatus()
@@ -54,7 +55,6 @@ class Database:
def checkDatabaseStatus(self): def checkDatabaseStatus(self):
path = self.database.path path = self.database.path
path = path.replace("~", str(Path.home())) path = path.replace("~", str(Path.home()))
# print(path)
path = os.path.abspath(path) path = os.path.abspath(path)
if not os.path.exists(path): if not os.path.exists(path):
# create path # create path
@@ -181,7 +181,7 @@ class Database:
# log_message = f"Querying database with query {query}" # log_message = f"Querying database with query {query}"
if "INTO user" in query: if "INTO user" in query:
log_message = f"Querying database with query {query}" log_message = f"Querying database with query {query}"
logger.debug(log_message) logger.debug(f"DB Query: {log_message}")
try: try:
cursor.execute(query, args) cursor.execute(query, args)
rv = cursor.fetchall() rv = cursor.fetchall()
@@ -816,7 +816,7 @@ class Database:
) )
else: else:
self.query_db( self.query_db(
"UPDATE semesterapparat SET verlängerung_bis=?, verlängerung_am=? WHERE appnr=?", "UPDATE semesterapparat SET verlängerung_bis=?, verlängert_am=? WHERE appnr=?",
(newDate, today, app_id), (newDate, today, app_id),
) )

View File

@@ -11,7 +11,9 @@ class Semester:
_semester: str | None = None _semester: str | None = None
_month: int | None = datetime.datetime.now().month _month: int | None = datetime.datetime.now().month
value: str = None value: str = None
logger.debug(
f"Initialized Semester class with values: month: {_month}, semester: {_semester}, year {_year}"
)
def __post_init__(self): def __post_init__(self):
if isinstance(self._year, str): if isinstance(self._year, str):
self._year = int(self._year) self._year = int(self._year)
@@ -27,7 +29,7 @@ class Semester:
return self.value return self.value
def generateSemester(self): def generateSemester(self):
if self._month < 4 or self._month < 9: if self._month <= 3 or self._month > 9:
self._semester = "WiSe" self._semester = "WiSe"
else: else:
self._semester = "SoSe" self._semester = "SoSe"
@@ -36,11 +38,12 @@ class Semester:
def computeValue(self): def computeValue(self):
# year is only last two digits # year is only last two digits
year = self._year year = self._year
valueyear = str(year)
if self._semester == "WiSe": if self._semester == "WiSe":
if self._month < 4: if self._month < 4:
valueyear = str(year - 1) + "/" + str(year) valueyear = str(year - 1) + "/" + str(year)
else: else:
valueyear = str(year) valueyear = str(year) + "/" + str(year + 1)
self.value = f"{self._semester} {valueyear}" self.value = f"{self._semester} {valueyear}"
@logger.catch @logger.catch

View File

@@ -14,10 +14,7 @@ class Ui_Dialog(object):
Dialog.setObjectName("Dialog") Dialog.setObjectName("Dialog")
Dialog.setWindowModality(QtCore.Qt.WindowModality.NonModal) Dialog.setWindowModality(QtCore.Qt.WindowModality.NonModal)
Dialog.resize(651, 679) Dialog.resize(651, 679)
sizePolicy = QtWidgets.QSizePolicy( sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding)
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth())
@@ -25,10 +22,7 @@ class Ui_Dialog(object):
self.verticalLayout = QtWidgets.QVBoxLayout(Dialog) self.verticalLayout = QtWidgets.QVBoxLayout(Dialog)
self.verticalLayout.setObjectName("verticalLayout") self.verticalLayout.setObjectName("verticalLayout")
self.toolBox = QtWidgets.QToolBox(parent=Dialog) self.toolBox = QtWidgets.QToolBox(parent=Dialog)
sizePolicy = QtWidgets.QSizePolicy( sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding)
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.toolBox.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.toolBox.sizePolicy().hasHeightForWidth())
@@ -37,10 +31,7 @@ class Ui_Dialog(object):
self.toolBox.setObjectName("toolBox") self.toolBox.setObjectName("toolBox")
self.page_1 = QtWidgets.QWidget() self.page_1 = QtWidgets.QWidget()
self.page_1.setGeometry(QtCore.QRect(0, 0, 633, 511)) self.page_1.setGeometry(QtCore.QRect(0, 0, 633, 511))
sizePolicy = QtWidgets.QSizePolicy( sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding)
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.page_1.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.page_1.sizePolicy().hasHeightForWidth())
@@ -73,12 +64,7 @@ class Ui_Dialog(object):
self.save_path = QtWidgets.QLineEdit(parent=self.page_1) self.save_path = QtWidgets.QLineEdit(parent=self.page_1)
self.save_path.setObjectName("save_path") self.save_path.setObjectName("save_path")
self.gridLayout_3.addWidget(self.save_path, 2, 1, 1, 1) self.gridLayout_3.addWidget(self.save_path, 2, 1, 1, 1)
spacerItem = QtWidgets.QSpacerItem( spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
20,
40,
QtWidgets.QSizePolicy.Policy.Minimum,
QtWidgets.QSizePolicy.Policy.Expanding,
)
self.gridLayout_3.addItem(spacerItem, 3, 1, 1, 1) self.gridLayout_3.addItem(spacerItem, 3, 1, 1, 1)
self.toolBox.addItem(self.page_1, "") self.toolBox.addItem(self.page_1, "")
self.page_2 = QtWidgets.QWidget() self.page_2 = QtWidgets.QWidget()
@@ -99,10 +85,7 @@ class Ui_Dialog(object):
self.label_3.setObjectName("label_3") self.label_3.setObjectName("label_3")
self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1) self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
self.zotero_api_key = QtWidgets.QLineEdit(parent=self.page_2) self.zotero_api_key = QtWidgets.QLineEdit(parent=self.page_2)
self.zotero_api_key.setInputMethodHints( self.zotero_api_key.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhHiddenText|QtCore.Qt.InputMethodHint.ImhSensitiveData)
QtCore.Qt.InputMethodHint.ImhHiddenText
| QtCore.Qt.InputMethodHint.ImhSensitiveData
)
self.zotero_api_key.setObjectName("zotero_api_key") self.zotero_api_key.setObjectName("zotero_api_key")
self.gridLayout.addWidget(self.zotero_api_key, 0, 2, 1, 1) self.gridLayout.addWidget(self.zotero_api_key, 0, 2, 1, 1)
self.label_2 = QtWidgets.QLabel(parent=self.page_2) self.label_2 = QtWidgets.QLabel(parent=self.page_2)
@@ -112,12 +95,7 @@ class Ui_Dialog(object):
self.toggle_api_visibility.setText("") self.toggle_api_visibility.setText("")
self.toggle_api_visibility.setObjectName("toggle_api_visibility") self.toggle_api_visibility.setObjectName("toggle_api_visibility")
self.gridLayout.addWidget(self.toggle_api_visibility, 0, 3, 1, 1) self.gridLayout.addWidget(self.toggle_api_visibility, 0, 3, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem( spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
20,
40,
QtWidgets.QSizePolicy.Policy.Minimum,
QtWidgets.QSizePolicy.Policy.Expanding,
)
self.gridLayout.addItem(spacerItem1, 3, 2, 1, 1) self.gridLayout.addItem(spacerItem1, 3, 2, 1, 1)
self.toolBox.addItem(self.page_2, "") self.toolBox.addItem(self.page_2, "")
self.page_3 = QtWidgets.QWidget() self.page_3 = QtWidgets.QWidget()
@@ -133,67 +111,63 @@ class Ui_Dialog(object):
self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2 = QtWidgets.QGridLayout()
self.gridLayout_2.setObjectName("gridLayout_2") self.gridLayout_2.setObjectName("gridLayout_2")
self.smtp_address = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2) self.use_username_smtp_login = QtWidgets.QCheckBox(parent=self.email_settingsPage1_2)
self.smtp_address.setClearButtonEnabled(True)
self.smtp_address.setObjectName("smtp_address")
self.gridLayout_2.addWidget(self.smtp_address, 0, 1, 1, 1)
self.label_8 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
self.label_8.setObjectName("label_8")
self.gridLayout_2.addWidget(self.label_8, 3, 0, 1, 1)
self.use_username_smtp_login = QtWidgets.QCheckBox(
parent=self.email_settingsPage1_2
)
self.use_username_smtp_login.setTristate(False) self.use_username_smtp_login.setTristate(False)
self.use_username_smtp_login.setObjectName("use_username_smtp_login") self.use_username_smtp_login.setObjectName("use_username_smtp_login")
self.gridLayout_2.addWidget(self.use_username_smtp_login, 4, 1, 1, 1) self.gridLayout_2.addWidget(self.use_username_smtp_login, 4, 1, 1, 1)
self.label_6 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
self.label_6.setObjectName("label_6")
self.gridLayout_2.addWidget(self.label_6, 1, 0, 1, 1)
self.smtp_port = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
self.smtp_port.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhDigitsOnly|QtCore.Qt.InputMethodHint.ImhPreferNumbers)
self.smtp_port.setClearButtonEnabled(True)
self.smtp_port.setObjectName("smtp_port")
self.gridLayout_2.addWidget(self.smtp_port, 1, 1, 1, 1)
self.label_7 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
self.label_7.setObjectName("label_7")
self.gridLayout_2.addWidget(self.label_7, 2, 0, 1, 1)
self.sender_email = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
self.sender_email.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhEmailCharactersOnly)
self.sender_email.setClearButtonEnabled(True)
self.sender_email.setObjectName("sender_email")
self.gridLayout_2.addWidget(self.sender_email, 2, 1, 1, 1)
self.mail_username = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2) self.mail_username = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
self.mail_username.setClearButtonEnabled(True) self.mail_username.setClearButtonEnabled(True)
self.mail_username.setObjectName("mail_username") self.mail_username.setObjectName("mail_username")
self.gridLayout_2.addWidget(self.mail_username, 3, 1, 1, 1) self.gridLayout_2.addWidget(self.mail_username, 3, 1, 1, 1)
self.smtp_port = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
self.smtp_port.setInputMethodHints(
QtCore.Qt.InputMethodHint.ImhDigitsOnly
| QtCore.Qt.InputMethodHint.ImhPreferNumbers
)
self.smtp_port.setClearButtonEnabled(True)
self.smtp_port.setObjectName("smtp_port")
self.gridLayout_2.addWidget(self.smtp_port, 1, 1, 1, 1)
self.label_10 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
self.label_10.setObjectName("label_10")
self.gridLayout_2.addWidget(self.label_10, 5, 0, 1, 1)
self.label_7 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
self.label_7.setObjectName("label_7")
self.gridLayout_2.addWidget(self.label_7, 2, 0, 1, 1)
self.label_9 = QtWidgets.QLabel(parent=self.email_settingsPage1_2) self.label_9 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
self.label_9.setText("") self.label_9.setText("")
self.label_9.setObjectName("label_9") self.label_9.setObjectName("label_9")
self.gridLayout_2.addWidget(self.label_9, 6, 0, 1, 1) self.gridLayout_2.addWidget(self.label_9, 7, 0, 1, 1)
self.sender_email = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
self.sender_email.setInputMethodHints(
QtCore.Qt.InputMethodHint.ImhEmailCharactersOnly
)
self.sender_email.setClearButtonEnabled(True)
self.sender_email.setObjectName("sender_email")
self.gridLayout_2.addWidget(self.sender_email, 2, 1, 1, 1)
self.label = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
self.label.setObjectName("label")
self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
self.password = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2) self.password = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
self.password.setInputMethodHints( self.password.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhHiddenText|QtCore.Qt.InputMethodHint.ImhSensitiveData)
QtCore.Qt.InputMethodHint.ImhHiddenText
| QtCore.Qt.InputMethodHint.ImhSensitiveData
)
self.password.setClearButtonEnabled(True) self.password.setClearButtonEnabled(True)
self.password.setObjectName("password") self.password.setObjectName("password")
self.gridLayout_2.addWidget(self.password, 5, 1, 1, 1) self.gridLayout_2.addWidget(self.password, 5, 1, 1, 1)
self.label_6 = QtWidgets.QLabel(parent=self.email_settingsPage1_2) self.smtp_address = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
self.label_6.setObjectName("label_6") self.smtp_address.setClearButtonEnabled(True)
self.gridLayout_2.addWidget(self.label_6, 1, 0, 1, 1) self.smtp_address.setObjectName("smtp_address")
self.gridLayout_2.addWidget(self.smtp_address, 0, 1, 1, 1)
self.label = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
self.label.setObjectName("label")
self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
self.label_10 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
self.label_10.setObjectName("label_10")
self.gridLayout_2.addWidget(self.label_10, 5, 0, 1, 1)
self.togglePassword = QtWidgets.QPushButton(parent=self.email_settingsPage1_2) self.togglePassword = QtWidgets.QPushButton(parent=self.email_settingsPage1_2)
self.togglePassword.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus) self.togglePassword.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
self.togglePassword.setText("") self.togglePassword.setText("")
self.togglePassword.setObjectName("togglePassword") self.togglePassword.setObjectName("togglePassword")
self.gridLayout_2.addWidget(self.togglePassword, 5, 2, 1, 1) self.gridLayout_2.addWidget(self.togglePassword, 5, 2, 1, 1)
self.label_8 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
self.label_8.setObjectName("label_8")
self.gridLayout_2.addWidget(self.label_8, 3, 0, 1, 1)
self.label_13 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
self.label_13.setObjectName("label_13")
self.gridLayout_2.addWidget(self.label_13, 6, 0, 1, 1)
self.printermail = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
self.printermail.setObjectName("printermail")
self.gridLayout_2.addWidget(self.printermail, 6, 1, 1, 1)
self.horizontalLayout_4.addLayout(self.gridLayout_2) self.horizontalLayout_4.addLayout(self.gridLayout_2)
self.email_settings.addTab(self.email_settingsPage1_2, "") self.email_settings.addTab(self.email_settingsPage1_2, "")
self.email_settingsPage2_2 = QtWidgets.QWidget() self.email_settingsPage2_2 = QtWidgets.QWidget()
@@ -204,12 +178,7 @@ class Ui_Dialog(object):
self.verticalLayout_2.setObjectName("verticalLayout_2") self.verticalLayout_2.setObjectName("verticalLayout_2")
self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.horizontalLayout_3.setObjectName("horizontalLayout_3")
spacerItem2 = QtWidgets.QSpacerItem( spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
40,
20,
QtWidgets.QSizePolicy.Policy.Expanding,
QtWidgets.QSizePolicy.Policy.Minimum,
)
self.horizontalLayout_3.addItem(spacerItem2) self.horizontalLayout_3.addItem(spacerItem2)
self.bold = QtWidgets.QPushButton(parent=self.email_settingsPage2_2) self.bold = QtWidgets.QPushButton(parent=self.email_settingsPage2_2)
self.bold.setCheckable(True) self.bold.setCheckable(True)
@@ -223,12 +192,7 @@ class Ui_Dialog(object):
self.underscore.setCheckable(True) self.underscore.setCheckable(True)
self.underscore.setObjectName("underscore") self.underscore.setObjectName("underscore")
self.horizontalLayout_3.addWidget(self.underscore) self.horizontalLayout_3.addWidget(self.underscore)
spacerItem3 = QtWidgets.QSpacerItem( spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
40,
20,
QtWidgets.QSizePolicy.Policy.Expanding,
QtWidgets.QSizePolicy.Policy.Minimum,
)
self.horizontalLayout_3.addItem(spacerItem3) self.horizontalLayout_3.addItem(spacerItem3)
self.verticalLayout_2.addLayout(self.horizontalLayout_3) self.verticalLayout_2.addLayout(self.horizontalLayout_3)
self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout = QtWidgets.QHBoxLayout()
@@ -254,12 +218,7 @@ class Ui_Dialog(object):
self.font_size.addItem("") self.font_size.addItem("")
self.font_size.addItem("") self.font_size.addItem("")
self.horizontalLayout.addWidget(self.font_size) self.horizontalLayout.addWidget(self.font_size)
spacerItem4 = QtWidgets.QSpacerItem( spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
40,
20,
QtWidgets.QSizePolicy.Policy.Expanding,
QtWidgets.QSizePolicy.Policy.Minimum,
)
self.horizontalLayout.addItem(spacerItem4) self.horizontalLayout.addItem(spacerItem4)
self.verticalLayout_2.addLayout(self.horizontalLayout) self.verticalLayout_2.addLayout(self.horizontalLayout)
self.verticalLayout_3.addLayout(self.verticalLayout_2) self.verticalLayout_3.addLayout(self.verticalLayout_2)
@@ -316,10 +275,7 @@ class Ui_Dialog(object):
self.verticalLayout.addWidget(self.toolBox) self.verticalLayout.addWidget(self.toolBox)
self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog) self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog)
self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.buttonBox.setStandardButtons( self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
QtWidgets.QDialogButtonBox.StandardButton.Cancel
| QtWidgets.QDialogButtonBox.StandardButton.Ok
)
self.buttonBox.setObjectName("buttonBox") self.buttonBox.setObjectName("buttonBox")
self.verticalLayout.addWidget(self.buttonBox) self.verticalLayout.addWidget(self.buttonBox)
self.label_5.setBuddy(self.db_name) self.label_5.setBuddy(self.db_name)
@@ -327,7 +283,7 @@ class Ui_Dialog(object):
self.label_11.setBuddy(self.db_path) self.label_11.setBuddy(self.db_path)
self.retranslateUi(Dialog) self.retranslateUi(Dialog)
self.toolBox.setCurrentIndex(3) self.toolBox.setCurrentIndex(2)
self.email_settings.setCurrentIndex(0) self.email_settings.setCurrentIndex(0)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
@@ -337,53 +293,29 @@ class Ui_Dialog(object):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog")) Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.db_name.setText(_translate("Dialog", "sap.db")) self.db_name.setText(_translate("Dialog", "sap.db"))
self.label_5.setToolTip( self.label_5.setToolTip(_translate("Dialog", "<html><head/><body><p>Name der Datenbank, welche verwendet werden soll. <span style=\" font-weight:600;\">Muss</span> auf .db enden</p></body></html>"))
_translate(
"Dialog",
'<html><head/><body><p>Name der Datenbank, welche verwendet werden soll. <span style=" font-weight:600;">Muss</span> auf .db enden</p></body></html>',
)
)
self.label_5.setText(_translate("Dialog", "Datenbankname")) self.label_5.setText(_translate("Dialog", "Datenbankname"))
self.label_12.setToolTip( self.label_12.setToolTip(_translate("Dialog", "Pfad, an dem heruntergeladene Dateien gespeichert werden sollen"))
_translate(
"Dialog",
"Pfad, an dem heruntergeladene Dateien gespeichert werden sollen",
)
)
self.label_12.setText(_translate("Dialog", "Temporäre Dateien")) self.label_12.setText(_translate("Dialog", "Temporäre Dateien"))
self.label_11.setText(_translate("Dialog", "Datenbankpfad")) self.label_11.setText(_translate("Dialog", "Datenbankpfad"))
self.tb_set_save_path.setText(_translate("Dialog", "...")) self.tb_set_save_path.setText(_translate("Dialog", "..."))
self.tb_select_db.setText(_translate("Dialog", "...")) self.tb_select_db.setText(_translate("Dialog", "..."))
self.toolBox.setItemText( self.toolBox.setItemText(self.toolBox.indexOf(self.page_1), _translate("Dialog", "Datenbank"))
self.toolBox.indexOf(self.page_1), _translate("Dialog", "Datenbank")
)
self.label_4.setText(_translate("Dialog", "Bibliothekstyp")) self.label_4.setText(_translate("Dialog", "Bibliothekstyp"))
self.label_3.setText(_translate("Dialog", "Bibliotheks-ID")) self.label_3.setText(_translate("Dialog", "Bibliotheks-ID"))
self.label_2.setText(_translate("Dialog", "API Key")) self.label_2.setText(_translate("Dialog", "API Key"))
self.toolBox.setItemText( self.toolBox.setItemText(self.toolBox.indexOf(self.page_2), _translate("Dialog", "Zotero"))
self.toolBox.indexOf(self.page_2), _translate("Dialog", "Zotero") self.use_username_smtp_login.setStatusTip(_translate("Dialog", "Anklicken, wenn Nutzername benötigt wird, um sich beim Server anzumelden"))
) self.use_username_smtp_login.setText(_translate("Dialog", "Nutzername zum\n"
self.label_8.setText(_translate("Dialog", "Nutzername")) " Anmelden verwenden"))
self.use_username_smtp_login.setStatusTip(
_translate(
"Dialog",
"Anklicken, wenn Nutzername benötigt wird, um sich beim Server anzumelden",
)
)
self.use_username_smtp_login.setText(
_translate("Dialog", "Nutzername zum\n Anmelden verwenden")
)
self.mail_username.setStatusTip(
_translate("Dialog", "Kürzel, von der Hochschule vergeben, bsp: Aky547")
)
self.label_10.setText(_translate("Dialog", "Passwort"))
self.label_7.setText(_translate("Dialog", "Sender-eMail"))
self.label.setText(_translate("Dialog", "SMTP-Server"))
self.label_6.setText(_translate("Dialog", "Port")) self.label_6.setText(_translate("Dialog", "Port"))
self.email_settings.setTabText( self.label_7.setText(_translate("Dialog", "Sender-eMail"))
self.email_settings.indexOf(self.email_settingsPage1_2), self.mail_username.setStatusTip(_translate("Dialog", "Kürzel, von der Hochschule vergeben, bsp: Aky547"))
_translate("Dialog", "Allgemeines"), self.label.setText(_translate("Dialog", "SMTP-Server"))
) self.label_10.setText(_translate("Dialog", "Passwort"))
self.label_8.setText(_translate("Dialog", "Nutzername"))
self.label_13.setText(_translate("Dialog", "Printmail"))
self.email_settings.setTabText(self.email_settings.indexOf(self.email_settingsPage1_2), _translate("Dialog", "Allgemeines"))
self.bold.setText(_translate("Dialog", "Fett")) self.bold.setText(_translate("Dialog", "Fett"))
self.italic.setText(_translate("Dialog", "Kursiv")) self.italic.setText(_translate("Dialog", "Kursiv"))
self.underscore.setText(_translate("Dialog", "Unterstrichen")) self.underscore.setText(_translate("Dialog", "Unterstrichen"))
@@ -403,14 +335,7 @@ class Ui_Dialog(object):
self.font_size.setItemText(13, _translate("Dialog", "48")) self.font_size.setItemText(13, _translate("Dialog", "48"))
self.font_size.setItemText(14, _translate("Dialog", "72")) self.font_size.setItemText(14, _translate("Dialog", "72"))
self.debug.setText(_translate("Dialog", "Debug")) self.debug.setText(_translate("Dialog", "Debug"))
self.email_settings.setTabText( self.email_settings.setTabText(self.email_settings.indexOf(self.email_settingsPage2_2), _translate("Dialog", "Signatur"))
self.email_settings.indexOf(self.email_settingsPage2_2), self.toolBox.setItemText(self.toolBox.indexOf(self.page_3), _translate("Dialog", "e-Mail"))
_translate("Dialog", "Signatur"),
)
self.toolBox.setItemText(
self.toolBox.indexOf(self.page_3), _translate("Dialog", "e-Mail")
)
self.groupBox.setTitle(_translate("Dialog", "Farben")) self.groupBox.setTitle(_translate("Dialog", "Farben"))
self.toolBox.setItemText( self.toolBox.setItemText(self.toolBox.indexOf(self.page_4), _translate("Dialog", "Icons"))
self.toolBox.indexOf(self.page_4), _translate("Dialog", "Icons")
)

View File

@@ -35,7 +35,7 @@
<set>Qt::ImhNone</set> <set>Qt::ImhNone</set>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>3</number> <number>2</number>
</property> </property>
<widget class="QWidget" name="page_1"> <widget class="QWidget" name="page_1">
<property name="geometry"> <property name="geometry">
@@ -232,20 +232,6 @@
<layout class="QHBoxLayout" name="horizontalLayout_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<item> <item>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="1">
<widget class="QLineEdit" name="smtp_address">
<property name="clearButtonEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Nutzername</string>
</property>
</widget>
</item>
<item row="4" column="1"> <item row="4" column="1">
<widget class="QCheckBox" name="use_username_smtp_login"> <widget class="QCheckBox" name="use_username_smtp_login">
<property name="statusTip"> <property name="statusTip">
@@ -260,13 +246,10 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item row="1" column="0">
<widget class="QLineEdit" name="mail_username"> <widget class="QLabel" name="label_6">
<property name="statusTip"> <property name="text">
<string>Kürzel, von der Hochschule vergeben, bsp: Aky547</string> <string>Port</string>
</property>
<property name="clearButtonEnabled">
<bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
@@ -280,13 +263,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Passwort</string>
</property>
</widget>
</item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="label_7"> <widget class="QLabel" name="label_7">
<property name="text"> <property name="text">
@@ -294,13 +270,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="2" column="1"> <item row="2" column="1">
<widget class="QLineEdit" name="sender_email"> <widget class="QLineEdit" name="sender_email">
<property name="inputMethodHints"> <property name="inputMethodHints">
@@ -311,10 +280,20 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="0"> <item row="3" column="1">
<widget class="QLabel" name="label"> <widget class="QLineEdit" name="mail_username">
<property name="statusTip">
<string>Kürzel, von der Hochschule vergeben, bsp: Aky547</string>
</property>
<property name="clearButtonEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_9">
<property name="text"> <property name="text">
<string>SMTP-Server</string> <string/>
</property> </property>
</widget> </widget>
</item> </item>
@@ -328,10 +307,24 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="0" column="1">
<widget class="QLabel" name="label_6"> <widget class="QLineEdit" name="smtp_address">
<property name="clearButtonEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text"> <property name="text">
<string>Port</string> <string>SMTP-Server</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Passwort</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -345,6 +338,23 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Nutzername</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Printmail</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="printermail"/>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>

View File

@@ -78,6 +78,8 @@ class Settings(QtWidgets.QDialog, _settings):
self.sender_email.setText(settings.mail.sender) self.sender_email.setText(settings.mail.sender)
self.mail_username.setText(settings.mail.user_name) self.mail_username.setText(settings.mail.user_name)
self.password.setText(settings.mail.password) self.password.setText(settings.mail.password)
self.printermail.setText(settings.mail.printer_mail)
self.printermail.setPlaceholderText("E-Mail-Adresse des Druckers")
self.use_username_smtp_login.setChecked( self.use_username_smtp_login.setChecked(
settings.mail.use_user_name if settings.mail.use_user_name else False settings.mail.use_user_name if settings.mail.use_user_name else False
) )
@@ -200,6 +202,7 @@ class Settings(QtWidgets.QDialog, _settings):
settings.set_mail_attr( settings.set_mail_attr(
"use_user_name", self.use_username_smtp_login.isChecked() "use_user_name", self.use_username_smtp_login.isChecked()
) )
settings.set_mail_attr("printer_mail", self.printermail.text())
settings.set_mail_attr("signature", signature) settings.set_mail_attr("signature", signature)
settings.set_zotero_attr("api_key", self.zotero_api_key.text()) settings.set_zotero_attr("api_key", self.zotero_api_key.text())
settings.set_zotero_attr("library_id", self.zotero_library_id.text()) settings.set_zotero_attr("library_id", self.zotero_library_id.text())

View File

@@ -167,7 +167,7 @@ class SemesterDocument:
port = config.mail.port port = config.mail.port
sender_email = config.mail.sender sender_email = config.mail.sender
password = config.mail.password password = config.mail.password
receiver = "mobileprint@ph-freiburg.de" receiver = config.mail.printer_mail
message = MIMEMultipart() message = MIMEMultipart()
message["From"] = sender_email message["From"] = sender_email
message["To"] = receiver message["To"] = receiver