rework logging, add more dataclasses, reworked config
This commit is contained in:
@@ -7,11 +7,16 @@ class UserCreate(QtWidgets.QDialog, Ui_Dialog):
|
||||
def __init__(self):
|
||||
super(UserCreate, self).__init__()
|
||||
self.setupUi(self)
|
||||
|
||||
self.user_frame_addUser.clicked.connect(self.add_user)
|
||||
|
||||
#Variables
|
||||
self.user_frame_addUser.clicked.connect(self.add_user)
|
||||
self.db = Database()
|
||||
self.roles = self.db.getRoles()
|
||||
|
||||
self.user_frame_userrole.addItems(self.roles)
|
||||
self.user_frame_userrole.addItem("")
|
||||
self.user_frame_userrole.setCurrentText("")
|
||||
|
||||
# Variables
|
||||
|
||||
def add_user(self):
|
||||
username = self.user_create_frame_username.text()
|
||||
@@ -26,9 +31,11 @@ class UserCreate(QtWidgets.QDialog, Ui_Dialog):
|
||||
salt=userdata[1],
|
||||
role=role,
|
||||
)
|
||||
if role not in self.roles:
|
||||
self.roles.append(role)
|
||||
self.user_frame_userrole.addItem(role)
|
||||
self.user_create_frame_username.clear()
|
||||
self.user_create_frame_password.clear()
|
||||
self.user_frame_userrole.setCurrentText("")
|
||||
self.admin_action_changed.emit()
|
||||
|
||||
def launch():
|
||||
|
||||
@@ -3,7 +3,7 @@ from PyQt6 import QtWidgets, QtCore
|
||||
from PyQt6.QtCore import pyqtSignal
|
||||
from icecream import ic
|
||||
from src.backend import Database
|
||||
|
||||
from src.logic import Prof
|
||||
class EditProf(QtWidgets.QDialog, Ui_Dialog):
|
||||
def __init__(self):
|
||||
super(EditProf, self).__init__()
|
||||
@@ -19,7 +19,21 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog):
|
||||
|
||||
def gather_data(self):
|
||||
self.add_faculty_member_data()
|
||||
|
||||
apparats = self.db.getApparatsByProf(
|
||||
self.db.getProfId(
|
||||
Prof(fullname=self.edit_faculty_member_select_member.currentText())
|
||||
)
|
||||
)
|
||||
if len(apparats) == 0:
|
||||
self.delete_faculty_member.setEnabled(True)
|
||||
for apparat in apparats:
|
||||
if apparat.deleted == 0:
|
||||
self.delete_faculty_member.setEnabled(False)
|
||||
self.delete_faculty_member.setToolTip(
|
||||
"Professoren mit Apparaten können nicht gelöscht werden"
|
||||
)
|
||||
break
|
||||
|
||||
def add_faculty_member_data(self):
|
||||
faculty_members = self.db.getFacultyMembers()
|
||||
names = [f"{member[5]}" for member in faculty_members]
|
||||
@@ -43,22 +57,19 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.faculty_member_oldmail.setText("")
|
||||
self.edit_faculty_member_title.setText("")
|
||||
else:
|
||||
# title = data[1]
|
||||
# if title is None:
|
||||
# title = ""
|
||||
# self.edit_faculty_member_title.setText(title)
|
||||
self.faculty_member_old_telnr.setText(data[6])
|
||||
self.faculty_member_oldmail.setText(data[5])
|
||||
self.faculty_member_old_telnr.setText(data.telnr)
|
||||
self.faculty_member_oldmail.setText(data.mail)
|
||||
ic(data)
|
||||
(
|
||||
self.edit_faculty_member_title.setText(data[1])
|
||||
if data[1] is not None
|
||||
self.edit_faculty_member_title.setText(data.title)
|
||||
if data.title is not None
|
||||
else self.edit_faculty_member_title.setText("")
|
||||
)
|
||||
|
||||
def edit_faculty_member_action(self):
|
||||
def __gen_fullname(fname, lname, data):
|
||||
if fname == "" and lname == "":
|
||||
return data[3]
|
||||
return data[0]
|
||||
if fname == "" and lname != "":
|
||||
return f"{lname} {data[1]}"
|
||||
if fname != "" and lname == "":
|
||||
@@ -69,13 +80,13 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog):
|
||||
# get the data and use new value if it is not none and does not mach the old value
|
||||
if self.edit_faculty_member_select_member.currentText() == "":
|
||||
return
|
||||
olddata = self.db.getFacultyMember(
|
||||
olddata = self.db.getProfByName(
|
||||
self.edit_faculty_member_select_member.currentText()
|
||||
)
|
||||
ic(olddata)
|
||||
data = olddata
|
||||
oldlname = data[2]
|
||||
oldfname = data[1]
|
||||
oldlname = data.lastname
|
||||
oldfname = data.firstname
|
||||
# take data except first and last entry
|
||||
|
||||
titel = (
|
||||
@@ -86,16 +97,12 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog):
|
||||
fname = (
|
||||
self.edit_faculty_member_new_surname.text()
|
||||
if self.edit_faculty_member_new_surname.text() != ""
|
||||
else self.edit_faculty_member_select_member.currentText()
|
||||
.split(" ")[1]
|
||||
.strip()
|
||||
else self.edit_faculty_member_select_member.currentText().strip()
|
||||
)
|
||||
lname = (
|
||||
self.user_faculty_member_new_name.text()
|
||||
if self.user_faculty_member_new_name.text() != ""
|
||||
else self.edit_faculty_member_select_member.currentText()
|
||||
.split(" ")[0]
|
||||
.strip()
|
||||
else self.edit_faculty_member_select_member.currentText().strip()
|
||||
)
|
||||
fullname = __gen_fullname(fname, lname, data)
|
||||
telnr = self.user_faculty_member_new_telnr.text()
|
||||
|
||||
@@ -4,16 +4,32 @@ from PyQt6.QtCore import pyqtSignal
|
||||
from icecream import ic
|
||||
from src.backend import Database
|
||||
from src.backend import AdminCommands
|
||||
admin = 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)
|
||||
|
||||
self.user_delete_frame_user_select.currentIndexChanged.connect(self.updateData)
|
||||
#Variables
|
||||
self.db = Database()
|
||||
|
||||
self.users = self.db.getUsers()
|
||||
for user in self.users:
|
||||
self.user_delete_frame_user_select.addItem(user[2])
|
||||
self.user_edit_frame_role_select.addItem(user[5])
|
||||
|
||||
def updateData(self):
|
||||
role = self.users[self.user_delete_frame_user_select.currentIndex()][5]
|
||||
self.user_edit_frame_role_select.setCurrentText(role)
|
||||
if role == "admin":
|
||||
self.user_edit_frame_role_select.setEnabled(False)
|
||||
self.btn_delete_user.setEnabled(False)
|
||||
self.btn_delete_user.setToolTip("Admins cannot be deleted")
|
||||
else:
|
||||
self.user_edit_frame_role_select.setEnabled(True)
|
||||
self.btn_delete_user.setEnabled(True)
|
||||
|
||||
def update_user_data(self):
|
||||
username = self.user_delete_frame_user_select.currentText()
|
||||
password = (
|
||||
@@ -27,7 +43,7 @@ class EditUser(QtWidgets.QDialog, Ui_Dialog):
|
||||
else None
|
||||
)
|
||||
|
||||
userdata = AdminCommands().create_password(password)
|
||||
userdata = admin.create_password(password)
|
||||
data = {
|
||||
"password": f"{userdata[1]}{userdata[0]}",
|
||||
"salt": userdata[1],
|
||||
|
||||
@@ -30,7 +30,7 @@ class StatusWidget(QWidget):
|
||||
while parent:
|
||||
parent_depth += 1
|
||||
parent = parent.parent()
|
||||
print(parent_depth)
|
||||
# print(parent_depth)
|
||||
# Emit the person_double_clicked signal with the name of the person and the parent depth
|
||||
self.person_double_clicked.emit(self.header, item.text(column), parent_depth)
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ from PyQt6.QtCore import QDate
|
||||
from src import Icon
|
||||
from src.backend import recreateElsaFile, generateSemesterByDate, Database
|
||||
from src.logic import elsa_word_to_csv, MyLogger, Prof
|
||||
from src.logic.log import log
|
||||
from src.ui import popus_confirm
|
||||
from src.ui.dialogs import ElsaAddEntry
|
||||
from src.ui.widgets import FilePicker
|
||||
@@ -69,6 +70,7 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.newProf_title.textChanged.connect(self.checkProfData)
|
||||
|
||||
self.loadFrame()
|
||||
log.info("Elsa Dialog loaded")
|
||||
# self.show()
|
||||
|
||||
def checkProfData(self):
|
||||
@@ -118,32 +120,26 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
selected_row = self.table_elsa_list.currentRow()
|
||||
signature = self.table_elsa_list.item(selected_row, 10).text()
|
||||
mediatype = self.table_elsa_list.item(selected_row, 11).text()
|
||||
pages = self.table_elsa_list.item(selected_row, 7).text().strip()
|
||||
data.searchIdent.setText(signature)
|
||||
if mediatype == "Zeitschriftenaufsätze":
|
||||
data.btn_zs.click()
|
||||
elif mediatype == "Herausgeberwerke":
|
||||
data.btn_hg.click()
|
||||
elif mediatype == "Monografien":
|
||||
data.btn_mono.click()
|
||||
|
||||
data.search()
|
||||
match mediatype:
|
||||
case "Monografien":
|
||||
data.btn_mono.click()
|
||||
case "Herausgeberwerke":
|
||||
data.btn_hg.click()
|
||||
case "Zeitschriftenaufsätze":
|
||||
data.btn_zs.click()
|
||||
if ";" in pages:
|
||||
data.search()
|
||||
else:
|
||||
data.search(pages=pages)
|
||||
data.exec()
|
||||
|
||||
def add_new_elsa(self):
|
||||
self.create_frame_elsa.setEnabled(True)
|
||||
self.elsa_cancel_create.setEnabled(True)
|
||||
self.dokument_list_elsa.setRowCount(0)
|
||||
profs = self.db.getProfs()
|
||||
profs = [f"{prof.lastname}, {prof.firstname}" for prof in profs]
|
||||
elsa_profs = self.db.getElsaProfs()
|
||||
profs.extend(elsa_profs)
|
||||
profs = list(set(profs))
|
||||
profs.sort()
|
||||
for prof in profs:
|
||||
self.elsa_prof.addItem(prof)
|
||||
self.elsa_prof.setCurrentText("")
|
||||
self.elsa_date.setText("")
|
||||
self.elsa_semester.setText("")
|
||||
|
||||
self.elsa_save.setEnabled(True)
|
||||
self.elsa_update.setEnabled(False)
|
||||
self.elsa_prof.setFocus()
|
||||
@@ -159,6 +155,8 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.quote_entry.setEnabled(False)
|
||||
self.elsa_save.setEnabled(False)
|
||||
self.elsa_update.setEnabled(False)
|
||||
self.seperateEntries.setChecked(False)
|
||||
|
||||
def generateTodayDateElsa(self):
|
||||
self.elsa_date.setText(QDate.currentDate().toString("dd.MM.yyyy"))
|
||||
|
||||
@@ -230,13 +228,12 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
files,
|
||||
elsa_id,
|
||||
)
|
||||
log.info("Stored {} files in the database", len(files))
|
||||
self.cancel_elsa_creation()
|
||||
self.refresh_elsa_table()
|
||||
self.elsa_prof.clear()
|
||||
self.elsa_prof.addItems(self.getProfs())
|
||||
self.elsa_prof.addItem("")
|
||||
self.elsa_prof.setCurrentText("")
|
||||
self.quote_entry.setEnabled(False)
|
||||
log.info("Saved apparat to database, id {}", elsa_id)
|
||||
|
||||
def refresh_elsa_table(self):
|
||||
self.elsa_table.setRowCount(0)
|
||||
@@ -272,7 +269,12 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
elsa_apparats = self.db.getElsaApparats()
|
||||
elsa_id = None
|
||||
for apparat in elsa_apparats:
|
||||
if apparat[1] == date and apparat[2] == semester and apparat[3] == prof:
|
||||
print(apparat)
|
||||
if (
|
||||
apparat[1] == date
|
||||
and apparat[2] == semester
|
||||
and apparat[3] == self.db.getProfId({"profname": prof})
|
||||
):
|
||||
elsa_id = apparat[0]
|
||||
# print(elsa_id)
|
||||
break
|
||||
@@ -281,7 +283,6 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.elsa_prof.setCurrentText(prof)
|
||||
ic(elsa_id)
|
||||
if elsa_id is None:
|
||||
log.
|
||||
return
|
||||
documents = self.db.getElsaFiles(elsa_id)
|
||||
for document in documents:
|
||||
@@ -397,24 +398,31 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
filename=filename, filetype=filetype, open=False
|
||||
)
|
||||
# print(file)
|
||||
data, doctype = elsa_word_to_csv(file)
|
||||
data, _ = elsa_word_to_csv(file)
|
||||
elsa_id = self.db.getElsaId(
|
||||
self.db.getProfId(Prof(fullname=self.elsa_prof.currentText())),
|
||||
self.elsa_semester.text(),
|
||||
self.elsa_date.text(),
|
||||
)
|
||||
ic(
|
||||
elsa_id,
|
||||
self.elsa_prof.currentText(),
|
||||
self.elsa_semester.text(),
|
||||
self.elsa_date.text(),
|
||||
)
|
||||
for row in data:
|
||||
if ";" in row["pages"]:
|
||||
count = row["pages"].split(";")
|
||||
for i in range(len(count)):
|
||||
row["pages"] = count[i]
|
||||
self.setElsaRow(
|
||||
row,
|
||||
)
|
||||
if self.seperateEntries.isChecked():
|
||||
if ";" in row["pages"]:
|
||||
count = row["pages"].split(";")
|
||||
for i in range(len(count)):
|
||||
row["pages"] = count[i]
|
||||
self.setElsaRow(
|
||||
row,
|
||||
)
|
||||
self.db.addElsaMedia(row, elsa_id)
|
||||
else:
|
||||
self.setElsaRow(row)
|
||||
|
||||
self.db.addElsaMedia(row, elsa_id)
|
||||
self.db.addElsaMedia(row, elsa_id)
|
||||
self.quote_entry.setEnabled(True)
|
||||
|
||||
def openDocumentElsa(self):
|
||||
@@ -471,6 +479,7 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.elsa_statistics.addTab(graph, "Graph")
|
||||
|
||||
def launch():
|
||||
log.debug("Launching Elsa Dialog")
|
||||
app = QtWidgets.QApplication([])
|
||||
window = ElsaDialog()
|
||||
window.show()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from .widget_sources.Ui_search_statistic_page import Ui_Dialog
|
||||
from PyQt6 import QtWidgets, QtGui
|
||||
from PyQt6 import QtWidgets, QtGui, QtCore
|
||||
from PyQt6.QtCore import pyqtSignal
|
||||
from src.backend import Database, generateSemesterByDate
|
||||
from src.logic import custom_sort, Prof
|
||||
@@ -55,13 +55,25 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.populate_tab()
|
||||
|
||||
def restore_apparat(self):
|
||||
row = self.tableWidget.currentRow()
|
||||
apparat = self.tableWidget.item(row, 1).text()
|
||||
ic(apparat)
|
||||
apparat_id = self.db.getApparatId(apparat)
|
||||
# restore the apparat
|
||||
self.db.restoreApparat(apparat_id)
|
||||
# update the table
|
||||
selected_rows = self.tableWidget.selectionModel().selectedRows()
|
||||
apparats = []
|
||||
if len(selected_rows) == 0:
|
||||
# get position of right click
|
||||
row = self.tableWidget.currentRow()
|
||||
apparats.append(self.tableWidget.item(row, 1).text())
|
||||
else:
|
||||
for row in selected_rows:
|
||||
apparats.append(self.tableWidget.item(row.row(), 1).text())
|
||||
for apparat in apparats:
|
||||
apparat_id = self.db.getApparatId(apparat)
|
||||
self.db.restoreApparat(apparat_id)
|
||||
# remove the red color from the row
|
||||
# get row where the apparat is
|
||||
row = self.tableWidget.findItems(apparat, QtCore.Qt.MatchFlag.MatchExactly)[
|
||||
0
|
||||
].row()
|
||||
for j in range(5):
|
||||
self.tableWidget.item(row, j).setBackground(QtGui.QColor(255, 255, 255))
|
||||
self.reloadSignal.emit()
|
||||
|
||||
def statistics_table_context_menu(self, position):
|
||||
@@ -140,7 +152,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
|
||||
app_id = i["app_id"]
|
||||
app_name = i["app_name"]
|
||||
prof_name = i["prof_name"]
|
||||
prof_mail = self.db.getProfData(prof_name)[0]
|
||||
prof_mail = self.db.getProfData(prof_name).mail
|
||||
self.mail_thread = Mail_Dialog(
|
||||
app_id=app_id,
|
||||
app_name=app_name,
|
||||
|
||||
@@ -31,6 +31,7 @@ class Ui_Dialog(object):
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.edit_faculty_member_title.sizePolicy().hasHeightForWidth())
|
||||
self.edit_faculty_member_title.setSizePolicy(sizePolicy)
|
||||
self.edit_faculty_member_title.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.edit_faculty_member_title.setReadOnly(True)
|
||||
self.edit_faculty_member_title.setObjectName("edit_faculty_member_title")
|
||||
self.gridLayout_2.addWidget(self.edit_faculty_member_title, 0, 0, 1, 1)
|
||||
@@ -122,6 +123,14 @@ class Ui_Dialog(object):
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
Dialog.setTabOrder(self.edit_faculty_member_select_member, self.faculty_member_old_telnr)
|
||||
Dialog.setTabOrder(self.faculty_member_old_telnr, self.faculty_member_oldmail)
|
||||
Dialog.setTabOrder(self.faculty_member_oldmail, self.edit_faculty_member_new_title)
|
||||
Dialog.setTabOrder(self.edit_faculty_member_new_title, self.edit_faculty_member_new_surname)
|
||||
Dialog.setTabOrder(self.edit_faculty_member_new_surname, self.user_faculty_member_new_name)
|
||||
Dialog.setTabOrder(self.user_faculty_member_new_name, self.user_faculty_member_new_telnr)
|
||||
Dialog.setTabOrder(self.user_faculty_member_new_telnr, self.user_faculty_member_new_mail)
|
||||
Dialog.setTabOrder(self.user_faculty_member_new_mail, self.edit_faculty_member_title)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
|
||||
@@ -32,7 +32,9 @@ class Ui_Dialog(object):
|
||||
self.verticalLayout_2.addItem(spacerItem1)
|
||||
self.horizontalLayout.addLayout(self.verticalLayout_2)
|
||||
self.elsa_table = QtWidgets.QTableWidget(parent=Dialog)
|
||||
self.elsa_table.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.elsa_table.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
|
||||
self.elsa_table.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||
self.elsa_table.setObjectName("elsa_table")
|
||||
self.elsa_table.setColumnCount(3)
|
||||
self.elsa_table.setRowCount(0)
|
||||
@@ -97,10 +99,58 @@ class Ui_Dialog(object):
|
||||
self.horizontalLayout_4.addWidget(self.elsa_update)
|
||||
self.gridLayout_2.addLayout(self.horizontalLayout_4, 4, 1, 1, 1)
|
||||
self.horizontalLayout_2.addLayout(self.gridLayout_2)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem3)
|
||||
self.newProf = QtWidgets.QFrame(parent=self.create_frame_elsa)
|
||||
self.newProf.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.newProf.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.newProf.setObjectName("newProf")
|
||||
self.formLayout_2 = QtWidgets.QFormLayout(self.newProf)
|
||||
self.formLayout_2.setObjectName("formLayout_2")
|
||||
self.label_4 = QtWidgets.QLabel(parent=self.newProf)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_4)
|
||||
self.label_5 = QtWidgets.QLabel(parent=self.newProf)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_5)
|
||||
self.label_6 = QtWidgets.QLabel(parent=self.newProf)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_6)
|
||||
self.newProf_title = QtWidgets.QLineEdit(parent=self.newProf)
|
||||
self.newProf_title.setObjectName("newProf_title")
|
||||
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_title)
|
||||
self.newProf_mail = QtWidgets.QLineEdit(parent=self.newProf)
|
||||
self.newProf_mail.setObjectName("newProf_mail")
|
||||
self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_mail)
|
||||
self.newProf_telnr = QtWidgets.QLineEdit(parent=self.newProf)
|
||||
self.newProf_telnr.setObjectName("newProf_telnr")
|
||||
self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_telnr)
|
||||
self.label_7 = QtWidgets.QLabel(parent=self.newProf)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
|
||||
self.label_7.setSizePolicy(sizePolicy)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.label_7)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
|
||||
self.formLayout_2.setItem(4, QtWidgets.QFormLayout.ItemRole.FieldRole, spacerItem3)
|
||||
self.prof_icon = QtWidgets.QToolButton(parent=self.newProf)
|
||||
self.prof_icon.setText("")
|
||||
self.prof_icon.setIconSize(QtCore.QSize(24, 24))
|
||||
self.prof_icon.setAutoRaise(True)
|
||||
self.prof_icon.setObjectName("prof_icon")
|
||||
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.prof_icon)
|
||||
self.horizontalLayout_2.addWidget(self.newProf)
|
||||
self.dokument_list_elsa = QtWidgets.QTableWidget(parent=self.create_frame_elsa)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.dokument_list_elsa.sizePolicy().hasHeightForWidth())
|
||||
self.dokument_list_elsa.setSizePolicy(sizePolicy)
|
||||
self.dokument_list_elsa.setMinimumSize(QtCore.QSize(350, 0))
|
||||
self.dokument_list_elsa.setBaseSize(QtCore.QSize(350, 0))
|
||||
self.dokument_list_elsa.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.dokument_list_elsa.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
|
||||
self.dokument_list_elsa.setDragDropMode(QtWidgets.QAbstractItemView.DragDropMode.NoDragDrop)
|
||||
self.dokument_list_elsa.setObjectName("dokument_list_elsa")
|
||||
self.dokument_list_elsa.setColumnCount(4)
|
||||
self.dokument_list_elsa.setRowCount(0)
|
||||
@@ -128,6 +178,9 @@ class Ui_Dialog(object):
|
||||
self.check_file_elsa = QtWidgets.QPushButton(parent=self.create_frame_elsa)
|
||||
self.check_file_elsa.setObjectName("check_file_elsa")
|
||||
self.verticalLayout_3.addWidget(self.check_file_elsa)
|
||||
self.seperateEntries = QtWidgets.QCheckBox(parent=self.create_frame_elsa)
|
||||
self.seperateEntries.setObjectName("seperateEntries")
|
||||
self.verticalLayout_3.addWidget(self.seperateEntries)
|
||||
spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
|
||||
self.verticalLayout_3.addItem(spacerItem4)
|
||||
self.horizontalLayout_2.addLayout(self.verticalLayout_3)
|
||||
@@ -143,12 +196,17 @@ class Ui_Dialog(object):
|
||||
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
|
||||
self.table_elsa_list = QtWidgets.QTableWidget(parent=Dialog)
|
||||
self.table_elsa_list.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.table_elsa_list.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||
self.table_elsa_list.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectItems)
|
||||
self.table_elsa_list.setObjectName("table_elsa_list")
|
||||
self.table_elsa_list.setColumnCount(12)
|
||||
self.table_elsa_list.setRowCount(0)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignVCenter)
|
||||
self.table_elsa_list.setHorizontalHeaderItem(0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignVCenter)
|
||||
self.table_elsa_list.setHorizontalHeaderItem(1, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.table_elsa_list.setHorizontalHeaderItem(2, item)
|
||||
@@ -180,7 +238,9 @@ class Ui_Dialog(object):
|
||||
self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.tab)
|
||||
self.horizontalLayout_7.setObjectName("horizontalLayout_7")
|
||||
self.elsa_statistics_table = QtWidgets.QTableWidget(parent=self.tab)
|
||||
self.elsa_statistics_table.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.elsa_statistics_table.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
|
||||
self.elsa_statistics_table.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||
self.elsa_statistics_table.setTextElideMode(QtCore.Qt.TextElideMode.ElideMiddle)
|
||||
self.elsa_statistics_table.setObjectName("elsa_statistics_table")
|
||||
self.elsa_statistics_table.setColumnCount(2)
|
||||
@@ -196,12 +256,33 @@ class Ui_Dialog(object):
|
||||
self.horizontalLayout_5.setStretch(0, 7)
|
||||
self.horizontalLayout_5.setStretch(1, 3)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_5)
|
||||
self.verticalLayout.setStretch(1, 1)
|
||||
self.verticalLayout.setStretch(0, 1)
|
||||
self.verticalLayout.setStretch(3, 2)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.elsa_statistics.setCurrentIndex(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
Dialog.setTabOrder(self.elsa_add_new, self.elsa_cancel_create)
|
||||
Dialog.setTabOrder(self.elsa_cancel_create, self.elsa_prof)
|
||||
Dialog.setTabOrder(self.elsa_prof, self.newProf_title)
|
||||
Dialog.setTabOrder(self.newProf_title, self.newProf_mail)
|
||||
Dialog.setTabOrder(self.newProf_mail, self.newProf_telnr)
|
||||
Dialog.setTabOrder(self.newProf_telnr, self.elsa_date)
|
||||
Dialog.setTabOrder(self.elsa_date, self.elsa_date_today)
|
||||
Dialog.setTabOrder(self.elsa_date_today, self.elsa_semester)
|
||||
Dialog.setTabOrder(self.elsa_semester, self.active_semester)
|
||||
Dialog.setTabOrder(self.active_semester, self.btn_add_document_elsa)
|
||||
Dialog.setTabOrder(self.btn_add_document_elsa, self.btn_open_document_elsa)
|
||||
Dialog.setTabOrder(self.btn_open_document_elsa, self.seperateEntries)
|
||||
Dialog.setTabOrder(self.seperateEntries, self.check_file_elsa)
|
||||
Dialog.setTabOrder(self.check_file_elsa, self.elsa_save)
|
||||
Dialog.setTabOrder(self.elsa_save, self.elsa_update)
|
||||
Dialog.setTabOrder(self.elsa_update, self.quote_entry)
|
||||
Dialog.setTabOrder(self.quote_entry, self.elsa_statistics)
|
||||
Dialog.setTabOrder(self.elsa_statistics, self.table_elsa_list)
|
||||
Dialog.setTabOrder(self.table_elsa_list, self.elsa_table)
|
||||
Dialog.setTabOrder(self.elsa_table, self.elsa_statistics_table)
|
||||
Dialog.setTabOrder(self.elsa_statistics_table, self.dokument_list_elsa)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
@@ -215,11 +296,15 @@ class Ui_Dialog(object):
|
||||
item = self.elsa_table.horizontalHeaderItem(2)
|
||||
item.setText(_translate("Dialog", "Semester"))
|
||||
self.create_frame_elsa.setTitle(_translate("Dialog", "Auftragsdaten"))
|
||||
self.label.setText(_translate("Dialog", "Professor"))
|
||||
self.label.setText(_translate("Dialog", "Prof."))
|
||||
self.label_3.setText(_translate("Dialog", "Semester"))
|
||||
self.label_2.setText(_translate("Dialog", "Auftragsdatum"))
|
||||
self.elsa_save.setText(_translate("Dialog", "Speichern"))
|
||||
self.elsa_update.setText(_translate("Dialog", "Aktualisieren"))
|
||||
self.label_4.setText(_translate("Dialog", "Titel"))
|
||||
self.label_5.setText(_translate("Dialog", "Mail"))
|
||||
self.label_6.setText(_translate("Dialog", "TelNr"))
|
||||
self.label_7.setText(_translate("Dialog", "Kontaktdaten eingeben:"))
|
||||
item = self.dokument_list_elsa.horizontalHeaderItem(0)
|
||||
item.setText(_translate("Dialog", "Dokumentname"))
|
||||
item = self.dokument_list_elsa.horizontalHeaderItem(1)
|
||||
@@ -232,6 +317,7 @@ class Ui_Dialog(object):
|
||||
self.btn_open_document_elsa.setText(_translate("Dialog", "Dokument öffnen"))
|
||||
self.check_file_elsa.setText(_translate("Dialog", "Medien aus Dokument\n"
|
||||
"hinzufügen"))
|
||||
self.seperateEntries.setText(_translate("Dialog", "Abschnitte trennen"))
|
||||
self.quote_entry.setText(_translate("Dialog", " Eintrag zitieren "))
|
||||
item = self.table_elsa_list.horizontalHeaderItem(0)
|
||||
item.setText(_translate("Dialog", "Autor(en) des Werks"))
|
||||
|
||||
@@ -41,6 +41,9 @@
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@@ -206,6 +209,17 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>edit_faculty_member_select_member</tabstop>
|
||||
<tabstop>faculty_member_old_telnr</tabstop>
|
||||
<tabstop>faculty_member_oldmail</tabstop>
|
||||
<tabstop>edit_faculty_member_new_title</tabstop>
|
||||
<tabstop>edit_faculty_member_new_surname</tabstop>
|
||||
<tabstop>user_faculty_member_new_name</tabstop>
|
||||
<tabstop>user_faculty_member_new_telnr</tabstop>
|
||||
<tabstop>user_faculty_member_new_mail</tabstop>
|
||||
<tabstop>edit_faculty_member_title</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,0,2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,0,0,2">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
@@ -65,9 +65,15 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="elsa_table">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||
<number>374</number>
|
||||
</attribute>
|
||||
@@ -104,7 +110,7 @@
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Professor</string>
|
||||
<string>Prof.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -201,23 +207,118 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<widget class="QFrame" name="newProf">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
</spacer>
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Titel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Mail</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>TelNr</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="newProf_title"/>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="newProf_mail"/>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="newProf_telnr"/>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Kontaktdaten eingeben:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QToolButton" name="prof_icon">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>24</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="dokument_list_elsa">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>350</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="baseSize">
|
||||
<size>
|
||||
<width>350</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="dragDropMode">
|
||||
<enum>QAbstractItemView::NoDragDrop</enum>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderMinimumSectionSize">
|
||||
<number>43</number>
|
||||
</attribute>
|
||||
@@ -276,6 +377,13 @@ hinzufügen</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="seperateEntries">
|
||||
<property name="text">
|
||||
<string>Abschnitte trennen</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
@@ -322,6 +430,15 @@ hinzufügen</string>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5" stretch="7,3">
|
||||
<item>
|
||||
<widget class="QTableWidget" name="table_elsa_list">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectItems</enum>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderMinimumSectionSize">
|
||||
<number>31</number>
|
||||
</attribute>
|
||||
@@ -332,11 +449,17 @@ hinzufügen</string>
|
||||
<property name="text">
|
||||
<string>Autor(en) des Werks</string>
|
||||
</property>
|
||||
<property name="textAlignment">
|
||||
<set>AlignLeading|AlignVCenter</set>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Autor(en) des Beitrags</string>
|
||||
</property>
|
||||
<property name="textAlignment">
|
||||
<set>AlignLeading|AlignVCenter</set>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
@@ -402,9 +525,15 @@ hinzufügen</string>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<item>
|
||||
<widget class="QTableWidget" name="elsa_statistics_table">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="textElideMode">
|
||||
<enum>Qt::ElideMiddle</enum>
|
||||
</property>
|
||||
@@ -431,6 +560,30 @@ hinzufügen</string>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>elsa_add_new</tabstop>
|
||||
<tabstop>elsa_cancel_create</tabstop>
|
||||
<tabstop>elsa_prof</tabstop>
|
||||
<tabstop>newProf_title</tabstop>
|
||||
<tabstop>newProf_mail</tabstop>
|
||||
<tabstop>newProf_telnr</tabstop>
|
||||
<tabstop>elsa_date</tabstop>
|
||||
<tabstop>elsa_date_today</tabstop>
|
||||
<tabstop>elsa_semester</tabstop>
|
||||
<tabstop>active_semester</tabstop>
|
||||
<tabstop>btn_add_document_elsa</tabstop>
|
||||
<tabstop>btn_open_document_elsa</tabstop>
|
||||
<tabstop>seperateEntries</tabstop>
|
||||
<tabstop>check_file_elsa</tabstop>
|
||||
<tabstop>elsa_save</tabstop>
|
||||
<tabstop>elsa_update</tabstop>
|
||||
<tabstop>quote_entry</tabstop>
|
||||
<tabstop>elsa_statistics</tabstop>
|
||||
<tabstop>table_elsa_list</tabstop>
|
||||
<tabstop>elsa_table</tabstop>
|
||||
<tabstop>elsa_statistics_table</tabstop>
|
||||
<tabstop>dokument_list_elsa</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
Reference in New Issue
Block a user