various updates and changes, move admin widgets into different seperate dialogs

This commit is contained in:
WorldTeacher
2024-08-08 14:40:38 +02:00
parent ee8862a220
commit fba35cdf25
32 changed files with 2175 additions and 2594 deletions

View File

@@ -0,0 +1,53 @@
from .widget_sources.Ui_admin_edit_user import Ui_Dialog
from PyQt6 import QtWidgets, QtCore
from PyQt6.QtCore import pyqtSignal
from icecream import ic
from src.backend import Database
from src.backend import AdminCommands
class EditUser(QtWidgets.QDialog, Ui_Dialog):
def __init__(self):
super(EditUser, self).__init__()
self.setupUi(self)
self.btn_delete_user.clicked.connect(self.delete_user)
self.update_user.clicked.connect(self.update_user_data)
#Variables
self.db = Database()
def update_user_data(self):
username = self.user_delete_frame_user_select.currentText()
password = (
self.user_edit_frame_new_password.text()
if self.user_edit_frame_new_password.text() != ""
else None
)
role = (
self.user_edit_frame_role_select.currentText()
if self.user_edit_frame_role_select.currentText() != ""
else None
)
userdata = AdminCommands().create_password(password)
data = {
"password": f"{userdata[1]}{userdata[0]}",
"salt": userdata[1],
"role": role,
}
data = {key: value for key, value in data.items() if value is not None}
# print(data)
self.db.updateUser(username=username, data=data)
self.user_delete_frame_user_select.setCurrentText("")
self.user_edit_frame_new_password.clear()
self.user_edit_frame_role_select.setCurrentText("")
def delete_user(self):
if self.user_delete_confirm.isChecked():
username = self.user_delete_frame_user_select.currentText()
self.db.deleteUser(username)
self.user_delete_frame_user_select.removeItem(
self.user_delete_frame_user_select.currentIndex()
)
self.user_delete_confirm.setChecked(False)
else:
pass