update files, bring to latest code
This commit is contained in:
@@ -4,9 +4,10 @@ from .user import UserUI
|
||||
from .createUser import CreateUser
|
||||
from .multiUserInfo import MultiUserFound
|
||||
from .newentry import NewEntry
|
||||
from .settings import Settings
|
||||
from src import config
|
||||
from src.logic import Database, Catalogue, Backup
|
||||
from src.utils import stringToDate
|
||||
from src.utils import stringToDate, Icon
|
||||
from src.schemas import User, Book
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
import sys
|
||||
@@ -18,6 +19,8 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
def __init__(self):
|
||||
super(MainUI, self).__init__()
|
||||
self.setupUi(self)
|
||||
self.setWindowTitle("Handbibliotheksleihsystem")
|
||||
self.setWindowIcon(Icon("main").icon)
|
||||
self.db = Database()
|
||||
self.currentDate = QtCore.QDate.currentDate()
|
||||
self.label_7.hide()
|
||||
@@ -29,7 +32,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
# hotkeys
|
||||
self.actionRueckgabemodus.triggered.connect(self.changeMode)
|
||||
self.actionNutzer.triggered.connect(self.showUser)
|
||||
|
||||
self.actionEinstellungen.triggered.connect(self.showSettings)
|
||||
#Buttons
|
||||
self.btn_show_lentmedia.clicked.connect(self.showUser)
|
||||
|
||||
@@ -40,7 +43,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.input_username.returnPressed.connect(
|
||||
lambda: self.checkUser("username", self.input_username.text())
|
||||
)
|
||||
self.input_file_ident.returnPressed.connect(self.addMedia)
|
||||
self.input_file_ident.returnPressed.connect(self.handleLineInput)
|
||||
self.input_userno.setValidator(QtGui.QIntValidator())
|
||||
|
||||
# TableWidget
|
||||
@@ -52,29 +55,29 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
|
||||
self.show()
|
||||
|
||||
def showSettings(self):
|
||||
settings = Settings()
|
||||
settings.exec()
|
||||
|
||||
def changeMode(self):
|
||||
current = self.mode.text()
|
||||
if current == "Ausleihe":
|
||||
self.mode.setText("Rückgabe")
|
||||
self.input_username.clear()
|
||||
self.input_userno.clear()
|
||||
self.userdata.clear()
|
||||
self.btn_show_lentmedia.setText("")
|
||||
self.label_7.hide()
|
||||
self.nextReturnDate.hide()
|
||||
if current == "Rückgabe":
|
||||
self.input_username.clear()
|
||||
self.input_userno.clear()
|
||||
self.userdata.clear()
|
||||
self.mediaOverview.setRowCount(0)
|
||||
self.btn_show_lentmedia.setText("")
|
||||
self.input_file_ident.clear()
|
||||
self.nextReturnDate.hide()
|
||||
self.label_7.hide()
|
||||
self.mode.setText("Rückgabe")
|
||||
self.input_username.clear()
|
||||
self.input_userno.clear()
|
||||
self.userdata.clear()
|
||||
self.btn_show_lentmedia.setText("")
|
||||
self.input_file_ident.clear()
|
||||
self.label_7.hide()
|
||||
self.nextReturnDate.hide()
|
||||
|
||||
def showUser(self):
|
||||
if self.activeUser is None:
|
||||
# create warning dialog
|
||||
dialog = QtWidgets.QMessageBox()
|
||||
dialog.setWindowTitle("Kein Nutzer ausgewählt")
|
||||
dialog.setIcon(QtWidgets.QMessageBox.Icon.Warning)
|
||||
dialog.setWindowIcon(Icon("warning").overwriteColor("#EA3323"))
|
||||
dialog.setText("Kein Nutzer ausgewählt")
|
||||
dialog.exec()
|
||||
return
|
||||
|
||||
self.user_ui = UserUI(
|
||||
@@ -123,7 +126,18 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
def moveToLine(self, line):
|
||||
line.setFocus()
|
||||
|
||||
def handleLineInput(self):
|
||||
value = self.input_file_ident.text().strip()
|
||||
if len(value) <= 2:
|
||||
self.callShortcut(value)
|
||||
else:
|
||||
if self.mode.text() == "Rückgabe":
|
||||
self.returnMedia(value)
|
||||
else:
|
||||
self.mediaAdd(value)
|
||||
|
||||
def mediaAdd(self, identifier):
|
||||
self.clearStatusTip
|
||||
print("Adding Media", identifier)
|
||||
self.setStatusTip("")
|
||||
self.input_file_ident.clear()
|
||||
@@ -138,13 +152,33 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
if book_id:
|
||||
if len(book_id) > 1:
|
||||
print("Multiple Books found")
|
||||
# TODO: implement book selection dialog
|
||||
return
|
||||
else:
|
||||
# check if book is already loaned
|
||||
loaned = self.db.checkLoanState(book_id[0])
|
||||
if loaned:
|
||||
print("Book already loaned")
|
||||
self.setStatusTip("Book already loaned")
|
||||
self.setStatusTipMessage("Buch bereits entliehen")
|
||||
# dialog with yes no to create new entry
|
||||
dialog = QtWidgets.QMessageBox()
|
||||
dialog.setText(
|
||||
"Buch bereits entliehen, soll ein neues hinzugefügt werden?"
|
||||
)
|
||||
dialog.setStandardButtons(
|
||||
QtWidgets.QMessageBox.StandardButton.Yes
|
||||
| QtWidgets.QMessageBox.StandardButton.No
|
||||
)
|
||||
dialog.setDefaultButton(QtWidgets.QMessageBox.StandardButton.No)
|
||||
dialog.exec()
|
||||
result = dialog.result()
|
||||
if result == QtWidgets.QMessageBox.StandardButton.No:
|
||||
return
|
||||
newentry = NewEntry([book_id[0]])
|
||||
newentry.exec()
|
||||
self.setStatusTipMessage("Neues Exemplar hinzugefügt")
|
||||
created_ids = newentry.newIds
|
||||
print(created_ids)
|
||||
self.input_file_ident.setEnabled(True)
|
||||
|
||||
return
|
||||
@@ -189,14 +223,6 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
sysem_shortcuts = None
|
||||
print(sysem_shortcuts)
|
||||
|
||||
def addMedia(self):
|
||||
mode = self.mode.text()
|
||||
value = self.input_file_ident.text()
|
||||
# if vaule is string, call shortcut, else mediaAdd
|
||||
if mode == "Rückgabe":
|
||||
self.returnMedia(value)
|
||||
else:
|
||||
self.lendMedia(value)
|
||||
|
||||
def returnMedia(self, identifier):
|
||||
print("Returning Media", identifier)
|
||||
@@ -232,15 +258,12 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
else:
|
||||
print("Book not found")
|
||||
|
||||
def lendMedia(self, value):
|
||||
value = value.strip()
|
||||
if value.isnumeric():
|
||||
self.mediaAdd(value)
|
||||
else:
|
||||
if len(value) <= 2:
|
||||
self.callShortcut(value)
|
||||
else:
|
||||
self.mediaAdd(value)
|
||||
def setStatusTipMessage(self, message):
|
||||
self.setStatusTip(message)
|
||||
|
||||
@property
|
||||
def clearStatusTip(self):
|
||||
self.setStatusTip("")
|
||||
|
||||
def exit_handler():
|
||||
print("Exiting")
|
||||
@@ -258,6 +281,6 @@ def exit_handler():
|
||||
def launch():
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
main_ui = MainUI()
|
||||
atexit.register(exit_handler)
|
||||
# atexit.register(exit_handler)
|
||||
sys.exit(app.exec())
|
||||
# sys.exit(app.exec())
|
||||
|
||||
Reference in New Issue
Block a user