new settings class
This commit is contained in:
@@ -48,7 +48,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
|
||||
# LineEdits
|
||||
self.input_userno.returnPressed.connect(
|
||||
lambda: self.checkUser("id", self.input_userno.text())
|
||||
lambda: self.checkUser("user_id", self.input_userno.text())
|
||||
)
|
||||
self.input_username.returnPressed.connect(
|
||||
lambda: self.checkUser("username", self.input_username.text())
|
||||
@@ -72,7 +72,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
# variables
|
||||
self.db = Database()
|
||||
self.currentDate = QtCore.QDate.currentDate()
|
||||
loanDate = self.currentDate.addDays(config.default_loan_duration)
|
||||
loanDate = self.currentDate.addDays(config.loan_duration)
|
||||
self.activeUser = None
|
||||
self.activeState = "Rückgabe"
|
||||
|
||||
@@ -107,6 +107,9 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
log.info("Showing Settings")
|
||||
settings = Settings()
|
||||
settings.exec()
|
||||
if settings.settingschanged:
|
||||
# reload settings
|
||||
print(config)
|
||||
|
||||
def changeMode(self):
|
||||
log.info("Changing Mode")
|
||||
@@ -119,8 +122,10 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.label_7.hide()
|
||||
self.nextReturnDate.hide()
|
||||
self.mediaOverview.setRowCount(0)
|
||||
self.activeUser = None #! remove if last user should be kept
|
||||
if self.activeState == "Rückgabe":
|
||||
self.activateLoanMode()
|
||||
|
||||
else:
|
||||
self.activateReturnMode()
|
||||
|
||||
@@ -135,6 +140,11 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.mode.setStyleSheet("background-color: #1E90FF")
|
||||
self.mode.setText("Ausleihe")
|
||||
self.activeState = "Ausleihe"
|
||||
if self.input_userno.text() == "" or self.input_username.text() == "":
|
||||
self.input_file_ident.setEnabled(False)
|
||||
self.input_file_ident.setPlaceholderText("Bitte zuerst Nutzerdaten eingeben")
|
||||
else:
|
||||
self.input_file_ident.setEnabled(True)
|
||||
|
||||
def activateReturnMode(self):
|
||||
dbg("Activating Return Mode")
|
||||
@@ -145,6 +155,8 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.duedate.setEnabled(False)
|
||||
self.activeState = "Rückgabe"
|
||||
self.mode.setText("Rückgabe")
|
||||
self.input_file_ident.setEnabled(True)
|
||||
self.input_file_ident.setPlaceholderText("Buchidentifikation eingeben")
|
||||
|
||||
def showUser(self):
|
||||
log.info(f"Showing User {self.activeUser}")
|
||||
@@ -160,18 +172,18 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
return
|
||||
|
||||
self.user_ui = UserUI(
|
||||
self.activeUser.username, self.activeUser.id, self.activeUser.email
|
||||
self.activeUser
|
||||
)
|
||||
# self.user_ui.setFields("John Doe", "123456789", "test@mail.com")
|
||||
self.user_ui.show()
|
||||
|
||||
def setUserData(self):
|
||||
log.info("Setting User Data")
|
||||
self.input_username.setText(self.activeUser.username)
|
||||
self.input_userno.setText(str(self.activeUser.id))
|
||||
self.input_username.setText(str(self.activeUser.username))
|
||||
self.input_userno.setText(str(self.activeUser.userid))
|
||||
self.userdata.setText(self.activeUser.__repr__())
|
||||
today = QtCore.QDate.currentDate().toString("yyyy-MM-dd")
|
||||
self.db.setUserActiveDate(self.activeUser.id, today)
|
||||
self.db.setUserActiveDate(self.activeUser.userid, today)
|
||||
# self.mode.setText("Ausleihe")
|
||||
|
||||
def createUser(self):
|
||||
@@ -222,14 +234,19 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.setUserData()
|
||||
self.input_file_ident.setFocus()
|
||||
self.mode.setText("Ausleihe")
|
||||
self.btn_show_lentmedia.setText(self.db.getActiveLoans(self.activeUser.id))
|
||||
print(self.activeUser.__dict__)
|
||||
loans = self.db.getActiveLoans(self.activeUser.id)
|
||||
dbg(loans=loans)
|
||||
self.btn_show_lentmedia.setText(loans)
|
||||
retdate = self.db.selectClosestReturnDate(self.activeUser.id)
|
||||
if retdate:
|
||||
date = stringToDate(retdate).toString("dd.MM.yyyy")
|
||||
self.nextReturnDate.setText(date)
|
||||
self.nextReturnDate.show()
|
||||
self.label_7.show()
|
||||
|
||||
self.input_file_ident.setEnabled(True)
|
||||
self.input_file_ident.setPlaceholderText("Buchidentifikation eingeben")
|
||||
self.input_file_ident.setFocus()
|
||||
def moveToLine(self, line):
|
||||
log.debug("Moving to Line", line)
|
||||
line.setFocus()
|
||||
@@ -253,9 +270,9 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
dialog.exec()
|
||||
return
|
||||
self.mediaAdd(value)
|
||||
|
||||
self.input_file_ident.setFocus()
|
||||
def mediaAdd(self, identifier):
|
||||
# print("Adding Media", identifier)
|
||||
dbg("Adding Media", identifier = identifier)
|
||||
self.input_file_ident.clear()
|
||||
self.input_file_ident.setEnabled(False)
|
||||
|
||||
@@ -282,7 +299,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
|
||||
elif book_id:
|
||||
if isinstance(book_id, list) and len(book_id) > 1:
|
||||
# print("Multiple Books found")
|
||||
print("Multiple Books found")
|
||||
# TODO: implement book selection dialog
|
||||
return
|
||||
else:
|
||||
@@ -324,15 +341,17 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
return
|
||||
else:
|
||||
# print("Book not loaned, loaning now")
|
||||
self.loanMedia(user_id, book_id, media)
|
||||
self.loanMedia(user_id, book_id)
|
||||
|
||||
def loanMedia(self, user_id, book_id, media):
|
||||
def loanMedia(self, user_id, book_id):
|
||||
self.db.insertLoan(
|
||||
user_id,
|
||||
book_id[0],
|
||||
self.currentDate.toString("yyyy-MM-dd"),
|
||||
self.duedate.date().toString("yyyy-MM-dd"),
|
||||
)
|
||||
media = self.db.getMedia(book_id[0])
|
||||
print(media)
|
||||
self.mediaOverview.insertRow(0)
|
||||
self.mediaOverview.setItem(0, 0, QtWidgets.QTableWidgetItem(media.signature))
|
||||
self.mediaOverview.setItem(0, 1, QtWidgets.QTableWidgetItem(media.title))
|
||||
@@ -369,7 +388,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
book_id[0], self.currentDate.toString("yyyy-MM-dd")
|
||||
)
|
||||
self.mediaOverview.insertRow(0)
|
||||
self.mediaOverview.setItem(0, 0, QtWidgets.QTableWidgetItem(book.isbn))
|
||||
self.mediaOverview.setItem(0, 0, QtWidgets.QTableWidgetItem(book.signature))
|
||||
self.mediaOverview.setItem(0, 1, QtWidgets.QTableWidgetItem(book.title))
|
||||
self.mediaOverview.setItem(
|
||||
0, 2, QtWidgets.QTableWidgetItem("Zurückgegeben")
|
||||
@@ -384,6 +403,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.input_file_ident.clear()
|
||||
else:
|
||||
print("Book not found")
|
||||
#self.input_file_ident.setPlaceholderText(f"Buch {identifier} nicht gefunden")
|
||||
|
||||
def setStatusTipMessage(self, message):
|
||||
dialog = QtWidgets.QMessageBox()
|
||||
@@ -397,7 +417,7 @@ def exit_handler():
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
print(backup.backup)
|
||||
# generate report if monday
|
||||
if datetime.datetime.now().weekday() == 0:
|
||||
if datetime.datetime.now().weekday() == config.report.report_day:
|
||||
generate_report()
|
||||
dbg("Generated Report")
|
||||
Database().renameInactiveUsers()
|
||||
@@ -427,8 +447,8 @@ def exit_handler():
|
||||
dialog.setWindowTitle("Backup nicht möglich")
|
||||
dialog.setText("Backup konnte nicht erstellt werden\nGrund: {}".format(reason))
|
||||
dialog.exec()
|
||||
def launch():
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
def launch(options = None):
|
||||
app = QtWidgets.QApplication(sys.argv if options is None else [options])
|
||||
main_ui = MainUI()
|
||||
atexit.register(exit_handler)
|
||||
sys.exit(app.exec())
|
||||
|
||||
Reference in New Issue
Block a user