add check for new db location, fixes #2

This commit is contained in:
WorldTeacher
2024-09-16 13:42:09 +02:00
parent 2bf382098f
commit f5bb5d3adc

View File

@@ -3,6 +3,7 @@ from PyQt6 import QtWidgets, QtCore
from src.utils import Icon from src.utils import Icon
from src import config from src import config
from omegaconf import OmegaConf from omegaconf import OmegaConf
import os
class Settings(QtWidgets.QDialog, Ui_Dialog): class Settings(QtWidgets.QDialog, Ui_Dialog):
@@ -125,6 +126,9 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
report_day = self.report_day.currentIndex() report_day = self.report_day.currentIndex()
report_generate = self.check_generate_report.isChecked() report_generate = self.check_generate_report.isChecked()
report_path = self.report_path.text() report_path = self.report_path.text()
if database_path != self.originalSettings.database.path :
os.makedirs(database_path, exist_ok=True)
self.restart()
# overwrite the original settings # overwrite the original settings
self.originalSettings.institution_name = institution_name self.originalSettings.institution_name = institution_name
self.originalSettings.loan_duration = default_loan_duration self.originalSettings.loan_duration = default_loan_duration
@@ -139,6 +143,18 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
config.save() config.save()
self.settingschanged = True self.settingschanged = True
self.close() self.close()
def restart(self):
dialog = QtWidgets.QMessageBox()
dialog.setIcon(QtWidgets.QMessageBox.Icon.Information)
dialog.setText("Neustart erforderlich")
dialog.setInformativeText(
"Das Programm muss neu gestartet werden, um die neue Datenbank zu verwenden."
)
dialog.setStandardButtons(QtWidgets.QMessageBox.StandardButton.Ok)
dialog.setDefaultButton(QtWidgets.QMessageBox.StandardButton.Ok)
dialog.setWindowTitle("Neustart erforderlich")
dialog.exec()
def DiscardSettings(self): def DiscardSettings(self):
self.loadSettings() self.loadSettings()