diff --git a/src/ui/createUser.py b/src/ui/createUser.py new file mode 100644 index 0000000..6481aa3 --- /dev/null +++ b/src/ui/createUser.py @@ -0,0 +1,48 @@ +from .sources.Ui_dialog_createUser import Ui_Dialog +from PyQt6 import QtCore, QtGui, QtWidgets +from src.logic import Database +from src.schemas import User + + +class CreateUser(QtWidgets.QDialog, Ui_Dialog): + def __init__(self, fieldname, data): + super(CreateUser, self).__init__() + self.setupUi(self) + # disable buttonbox save + self.db = Database() + self.buttonBox.button( + QtWidgets.QDialogButtonBox.StandardButton.Save + ).setEnabled(False) + self.username.setFocus() + if fieldname == "id": + self.userno.setText(data) + else: + self.username.setText(data) + self.user_mail.textChanged.connect(self.checkFields) + self.username.textChanged.connect(self.checkFields) + self.userno.textChanged.connect(self.checkFields) + self.buttonBox.button( + QtWidgets.QDialogButtonBox.StandardButton.Save + ).clicked.connect(self.saveUser) + self.userid = None + + def checkFields(self): + if ( + self.username.text() != "" + and self.userno.text() != "" + and self.user_mail.text() != "" + ): + self.buttonBox.button( + QtWidgets.QDialogButtonBox.StandardButton.Save + ).setEnabled(True) + else: + self.buttonBox.button( + QtWidgets.QDialogButtonBox.StandardButton.Save + ).setEnabled(False) + + def saveUser(self): + username = self.username.text() + userno = int(self.userno.text()) + usermail = self.user_mail.text() + self.db.insertUser(username, userno, usermail) + self.userid = userno