diff --git a/config/settings.yaml b/config/settings.yaml
index 217b84f..6629edb 100644
--- a/config/settings.yaml
+++ b/config/settings.yaml
@@ -10,6 +10,7 @@ report:
generate_report: true
path: ./report
report_day: 0
+ show_signature: true
shortcuts:
- name: Rueckgabemodus
default: F5
diff --git a/src/__init__.py b/src/__init__.py
index c4637c0..6ec8960 100644
--- a/src/__init__.py
+++ b/src/__init__.py
@@ -8,6 +8,7 @@ import argparse
__version__ = "0.2.19"
__author__ = "Alexander Kirchner"
__email__ = "alexander.kirchner@ph-freiburg.de"
+__contacts__ = "alexander.kirchner@ph-freiburg.de,christian.berger@ph-freiburg.de"
__license__ = "MIT"
docport = 8000
diff --git a/src/ui/main_ui.py b/src/ui/main_ui.py
index 43848d6..f90432b 100644
--- a/src/ui/main_ui.py
+++ b/src/ui/main_ui.py
@@ -5,7 +5,7 @@ import datetime
import webbrowser
from PyQt6 import QtCore, QtWidgets
from omegaconf import OmegaConf
-from src import config, __email__, docport, log, restore_config
+from src import config, __contacts__, docport, log, restore_config
from src.logic import Database, Catalogue, Backup, DocumentationThread
from src.utils import stringToDate, Icon
from src.utils.createReport import generate_report
@@ -48,7 +48,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
self.actionBeenden.triggered.connect(self.shutdown)
def __mail():
- webbrowser.open(f"mailto:{__email__}")
+ webbrowser.open(f"mailto:{__contacts__}")
self.actionProblem_melden.triggered.connect(__mail)
# if close button is pressed call shutdown
@@ -265,7 +265,6 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
self.input_userno.setPlaceholderText("Bitte erst in den Ausleihmodus wechseln")
def showUser(self):
- log.info(f"Showing User {self.activeUser}")
if self.activeUser is None:
# create warning dialog
log.info("Showing no user selected warning")
diff --git a/src/ui/settings.py b/src/ui/settings.py
index 0f0ed85..82c43fe 100644
--- a/src/ui/settings.py
+++ b/src/ui/settings.py
@@ -164,6 +164,7 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
shortcuts = self.getShortcuts()
# shortcuts to omegaconf.DictConfig
shortcuts = OmegaConf.create(shortcuts)
+ signature = self.signature.isChecked()
if database_path != self.originalSettings.database.path:
os.makedirs(database_path, exist_ok=True)
@@ -179,9 +180,9 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
self.changedSettings.report.report_day = report_day
self.changedSettings.report.path = report_path
self.changedSettings.report.generate_report = report_generate
+ self.changedSettings.report.show_signature = signature
self.changedSettings.advanced_refresh = refresh_state
self.changedSettings.shortcuts = shortcuts
-
changed = self.changedSettings
original = self.originalSettings
@@ -228,6 +229,9 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
"advanced_refresh", self.changedSettings.advanced_refresh
)
config.updateValue("shortcuts", self.changedSettings.shortcuts)
+ config.updateValue(
+ "report.show_signature", self.changedSettings.report.show_signature
+ )
self.originalSettings = self.changedSettings
config.save()
@@ -251,6 +255,7 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
self.check_generate_report.setChecked(config.report.generate_report)
self.report_path.setText(config.report.path)
self.returnMode.setChecked(config.advanced_refresh)
+ self.signature.setChecked(config.report.show_signature)
pass
diff --git a/src/ui/sources/Ui_dialog_settings.py b/src/ui/sources/Ui_dialog_settings.py
index 08354bc..7ae97a9 100644
--- a/src/ui/sources/Ui_dialog_settings.py
+++ b/src/ui/sources/Ui_dialog_settings.py
@@ -92,25 +92,22 @@ class Ui_Dialog(object):
self.formLayout.setWidget(6, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_9)
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
- self.btn_select_report_path = QtWidgets.QToolButton(parent=Dialog)
- self.btn_select_report_path.setObjectName("btn_select_report_path")
- self.gridLayout.addWidget(self.btn_select_report_path, 2, 2, 1, 1)
- self.label_10 = QtWidgets.QLabel(parent=Dialog)
- self.label_10.setText("")
- self.label_10.setObjectName("label_10")
- self.gridLayout.addWidget(self.label_10, 1, 0, 1, 1)
+ self.label_8 = QtWidgets.QLabel(parent=Dialog)
+ self.label_8.setObjectName("label_8")
+ self.gridLayout.addWidget(self.label_8, 3, 0, 1, 1)
+ self.label_11 = QtWidgets.QLabel(parent=Dialog)
+ self.label_11.setObjectName("label_11")
+ self.gridLayout.addWidget(self.label_11, 0, 0, 1, 1)
self.check_generate_report = QtWidgets.QCheckBox(parent=Dialog)
self.check_generate_report.setObjectName("check_generate_report")
self.gridLayout.addWidget(self.check_generate_report, 1, 1, 1, 1)
self.report_path = QtWidgets.QLineEdit(parent=Dialog)
self.report_path.setObjectName("report_path")
- self.gridLayout.addWidget(self.report_path, 2, 1, 1, 1)
- self.label_8 = QtWidgets.QLabel(parent=Dialog)
- self.label_8.setObjectName("label_8")
- self.gridLayout.addWidget(self.label_8, 2, 0, 1, 1)
- self.label_11 = QtWidgets.QLabel(parent=Dialog)
- self.label_11.setObjectName("label_11")
- self.gridLayout.addWidget(self.label_11, 0, 0, 1, 1)
+ self.gridLayout.addWidget(self.report_path, 3, 1, 1, 1)
+ self.label_10 = QtWidgets.QLabel(parent=Dialog)
+ self.label_10.setText("")
+ self.label_10.setObjectName("label_10")
+ self.gridLayout.addWidget(self.label_10, 1, 0, 1, 1)
self.report_day = QtWidgets.QComboBox(parent=Dialog)
self.report_day.setObjectName("report_day")
self.report_day.addItem("")
@@ -119,6 +116,12 @@ class Ui_Dialog(object):
self.report_day.addItem("")
self.report_day.addItem("")
self.gridLayout.addWidget(self.report_day, 0, 1, 1, 1)
+ self.btn_select_report_path = QtWidgets.QToolButton(parent=Dialog)
+ self.btn_select_report_path.setObjectName("btn_select_report_path")
+ self.gridLayout.addWidget(self.btn_select_report_path, 3, 2, 1, 1)
+ self.signature = QtWidgets.QCheckBox(parent=Dialog)
+ self.signature.setObjectName("signature")
+ self.gridLayout.addWidget(self.signature, 2, 1, 1, 1)
self.formLayout.setLayout(6, QtWidgets.QFormLayout.ItemRole.FieldRole, self.gridLayout)
self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog)
self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
@@ -176,15 +179,16 @@ class Ui_Dialog(object):
self.btn_select_database_name.setText(_translate("Dialog", "..."))
self.btn_select_database_backupLocation.setText(_translate("Dialog", "..."))
self.label_9.setText(_translate("Dialog", "Bericht"))
- self.btn_select_report_path.setText(_translate("Dialog", "..."))
- self.check_generate_report.setText(_translate("Dialog", "Bericht erstellen"))
self.label_8.setText(_translate("Dialog", "Speicherpfad"))
self.label_11.setText(_translate("Dialog", "Tag"))
+ self.check_generate_report.setText(_translate("Dialog", "Bericht erstellen"))
self.report_day.setItemText(0, _translate("Dialog", "Montag"))
self.report_day.setItemText(1, _translate("Dialog", "Dienstag"))
self.report_day.setItemText(2, _translate("Dialog", "Mittwoch"))
self.report_day.setItemText(3, _translate("Dialog", "Donnerstag"))
self.report_day.setItemText(4, _translate("Dialog", "Freitag"))
+ self.btn_select_report_path.setText(_translate("Dialog", "..."))
+ self.signature.setText(_translate("Dialog", "Signatur anzeigen"))
item = self.shortcutchanger.horizontalHeaderItem(0)
item.setText(_translate("Dialog", "Name"))
item = self.shortcutchanger.horizontalHeaderItem(1)
diff --git a/src/ui/sources/dialog_settings.ui b/src/ui/sources/dialog_settings.ui
index 991da2d..4fc081a 100644
--- a/src/ui/sources/dialog_settings.ui
+++ b/src/ui/sources/dialog_settings.ui
@@ -174,31 +174,7 @@ Löschen nach
-
-
-
-
-
- ...
-
-
-
- -
-
-
-
-
-
-
- -
-
-
- Bericht erstellen
-
-
-
- -
-
-
- -
+
-
Speicherpfad
@@ -212,6 +188,23 @@ Löschen nach
+ -
+
+
+ Bericht erstellen
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
-
-
@@ -241,6 +234,20 @@ Löschen nach
+ -
+
+
+ ...
+
+
+
+ -
+
+
+ Signatur anzeigen
+
+
+
-
diff --git a/src/utils/createReport.py b/src/utils/createReport.py
index b641c4c..aa32fa3 100644
--- a/src/utils/createReport.py
+++ b/src/utils/createReport.py
@@ -27,6 +27,9 @@ def generate_report():
# print(query)
colnames = ["UserId", "Title", "Action", "Datum"]
+ if config.report.show_signature:
+ # insert the signature column at the second position
+ colnames.insert(2, "Signature")
table = PrettyTable(colnames)
table.align[colnames[0]] = "l"
table.align[colnames[1]] = "l"
@@ -42,14 +45,15 @@ def generate_report():
loan_action_date = stringToDate(
loan[3] if loan[5] == 0 else loan[6]
).toString("dd.MM.yyyy")
- table.add_row(
- [
- loan[1],
- db.getMedia(loan[2]).title,
- loan_action,
- loan_action_date,
- ]
- )
+ row = [
+ loan[1],
+ db.getMedia(loan[2]).title,
+ loan_action,
+ loan_action_date,
+ ]
+ if config.report.show_signature:
+ row.insert(2, db.getMedia(loan[2]).signature)
+ table.add_row(row)
tsv_table = table.get_csv_string().replace(",", "\t")
# write the file
with open(report_path, "w", encoding="utf-8") as f: