diff --git a/resources/forms/edit_subject.ui b/resources/forms/edit_subject.ui index d0ca196..cb04ad5 100644 --- a/resources/forms/edit_subject.ui +++ b/resources/forms/edit_subject.ui @@ -67,6 +67,16 @@ + + + + + + + + + + diff --git a/resources/forms/hometask_list.ui b/resources/forms/hometask_list.ui index b07f5d9..db50c30 100644 --- a/resources/forms/hometask_list.ui +++ b/resources/forms/hometask_list.ui @@ -32,6 +32,16 @@ + + + + false + + + false + + + @@ -51,20 +61,17 @@ - - - - false - - - false + + + + Добавить новые - - + + - Добавить новые + Обновить diff --git a/resources/forms/subject_list.ui b/resources/forms/subject_list.ui index afe1f18..011badd 100644 --- a/resources/forms/subject_list.ui +++ b/resources/forms/subject_list.ui @@ -14,7 +14,7 @@ Список предметов - + false @@ -24,6 +24,13 @@ + + + + Добавить новые + + + @@ -43,10 +50,10 @@ - - + + - Добавить новые + Обновить diff --git a/resources/forms/teacher_list.ui b/resources/forms/teacher_list.ui index 5c07e19..c6c8d87 100644 --- a/resources/forms/teacher_list.ui +++ b/resources/forms/teacher_list.ui @@ -14,16 +14,6 @@ Список учителей - - - - false - - - false - - - @@ -43,13 +33,30 @@ - + Добавить новых + + + + false + + + false + + + + + + + Обновить + + + diff --git a/src/student_journal/bootstrap/entrypoint/qt.py b/src/student_journal/bootstrap/entrypoint/qt.py index d43684a..813c951 100644 --- a/src/student_journal/bootstrap/entrypoint/qt.py +++ b/src/student_journal/bootstrap/entrypoint/qt.py @@ -1,3 +1,5 @@ +import logging +import signal import sys from functools import partial from types import TracebackType @@ -6,27 +8,51 @@ from student_journal.adapters.error_locator import ErrorLocator from student_journal.application.exceptions.base import ApplicationError +from student_journal.application.exceptions.student import ( + StudentIsNotAuthenticatedError, +) from student_journal.bootstrap.di.container import get_container_for_gui from student_journal.presentation.widget.main_window import MainWindow +logging.basicConfig( + level=logging.DEBUG, + format="%(asctime)s %(levelname)s %(name)s %(message)s", + datefmt="%Y-%m-%d %H:%M:%S", +) + + +def display_error_text(wnd: MainWindow, text: str) -> None: + msg = QMessageBox(wnd) + msg.setIcon(QMessageBox.Icon.Critical) + msg.setWindowTitle("Ошибка приложения") + msg.setText("Произошла ошибка!") + msg.setInformativeText(text) + msg.setStandardButtons(QMessageBox.StandardButton.Ok) + msg.exec() + def except_hook( + app: QApplication, error_locator: ErrorLocator, wnd: MainWindow, _exc_type: type[Exception], - exc_value: Exception, + exc_value: BaseException, _exc_traceback: TracebackType, ) -> None: match exc_value: + case StudentIsNotAuthenticatedError() as e: + text = error_locator.get_text(e) + display_error_text(wnd, text) + app.closeAllWindows() + wnd.show() + wnd.display_register() + case ApplicationError() as e: - msg = QMessageBox(wnd) - msg.setIcon(QMessageBox.Icon.Critical) - msg.setWindowTitle("Ошибка приложения") - msg.setText("Произошла ошибка!") - msg.setInformativeText(error_locator.get_text(e)) - msg.setStandardButtons(QMessageBox.StandardButton.Ok) - msg.exec() - case _: + text = error_locator.get_text(e) + display_error_text(wnd, text) + + case BaseException() as e: + logging.critical("Unhandled exception", exc_info=e) sys.exit() @@ -38,6 +64,7 @@ def main(_argv: list[str]) -> None: main_wnd.show() locator = container.get(ErrorLocator) - sys.excepthook = partial(except_hook, locator, main_wnd) + sys.excepthook = partial(except_hook, app, locator, main_wnd) + signal.signal(signal.SIGINT, signal.SIG_DFL) sys.exit(app.exec()) diff --git a/src/student_journal/presentation/ui/about_ui.py b/src/student_journal/presentation/ui/about_ui.py index 55c6263..897c3dd 100644 --- a/src/student_journal/presentation/ui/about_ui.py +++ b/src/student_journal/presentation/ui/about_ui.py @@ -13,7 +13,6 @@ class Ui_About(object): def setupUi(self, About): About.setObjectName("About") About.setWindowModality(QtCore.Qt.WindowModality.NonModal) - About.resize(920, 557) About.setWhatsThis("") self.gridLayout = QtWidgets.QGridLayout(About) self.gridLayout.setObjectName("gridLayout") @@ -27,14 +26,9 @@ def setupUi(self, About): self.textBrowser = QtWidgets.QTextBrowser(parent=About) self.textBrowser.setObjectName("textBrowser") self.gridLayout.addWidget(self.textBrowser, 1, 0, 1, 1) - self.close_btn = QtWidgets.QPushButton(parent=About) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.close_btn.sizePolicy().hasHeightForWidth()) - self.close_btn.setSizePolicy(sizePolicy) - self.close_btn.setObjectName("close_btn") - self.gridLayout.addWidget(self.close_btn, 2, 0, 1, 1) self.retranslateUi(About) QtCore.QMetaObject.connectSlotsByName(About) @@ -59,4 +53,3 @@ def retranslateUi(self, About): "

Разработано этими замечательными людьми и многообещающими мужчинами:

\n" "

- Любавский Илья

\n" "

- Роман Мельниченко

")) - self.close_btn.setText(_translate("About", "Закрыть")) diff --git a/src/student_journal/presentation/ui/edit_subject_ui.py b/src/student_journal/presentation/ui/edit_subject_ui.py index b3d420c..62ebf0d 100644 --- a/src/student_journal/presentation/ui/edit_subject_ui.py +++ b/src/student_journal/presentation/ui/edit_subject_ui.py @@ -40,6 +40,10 @@ def setupUi(self, EditSubject): self.teacher_combo = QtWidgets.QComboBox(parent=EditSubject) self.teacher_combo.setObjectName("teacher_combo") self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.teacher_combo) + self.refresh = QtWidgets.QPushButton(parent=EditSubject) + self.refresh.setText("Обновить") + self.refresh.setObjectName("refresh") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.refresh) self.gridLayout.addLayout(self.formLayout, 1, 0, 1, 1) self.main_label = QtWidgets.QLabel(parent=EditSubject) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) diff --git a/src/student_journal/presentation/ui/edit_teacher_ui.py b/src/student_journal/presentation/ui/edit_teacher_ui.py index 8d96349..c0ce568 100644 --- a/src/student_journal/presentation/ui/edit_teacher_ui.py +++ b/src/student_journal/presentation/ui/edit_teacher_ui.py @@ -13,8 +13,7 @@ class Ui_EditTeacher(object): def setupUi(self, EditTeacher): EditTeacher.setObjectName("EditTeacher") EditTeacher.setWindowModality(QtCore.Qt.WindowModality.WindowModal) - EditTeacher.resize(500, 300) - EditTeacher.setMaximumSize(QtCore.QSize(500, 300)) + self.gridLayout = QtWidgets.QGridLayout(EditTeacher) self.gridLayout.setObjectName("gridLayout") self.submit_btn = QtWidgets.QPushButton(parent=EditTeacher) diff --git a/src/student_journal/presentation/ui/hometask_list_ui.py b/src/student_journal/presentation/ui/hometask_list_ui.py index 0797681..05b3203 100644 --- a/src/student_journal/presentation/ui/hometask_list_ui.py +++ b/src/student_journal/presentation/ui/hometask_list_ui.py @@ -25,6 +25,10 @@ def setupUi(self, HometaskList): self.show_done.setObjectName("show_done") self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.show_done) self.gridLayout.addLayout(self.formLayout, 1, 0, 1, 1) + self.list_hometask = QtWidgets.QListWidget(parent=HometaskList) + self.list_hometask.setSelectionRectVisible(False) + self.list_hometask.setObjectName("list_hometask") + self.gridLayout.addWidget(self.list_hometask, 3, 0, 1, 1) self.label = QtWidgets.QLabel(parent=HometaskList) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -37,13 +41,12 @@ def setupUi(self, HometaskList): self.label.setFont(font) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 0, 0, 1, 1) - self.list_hometask = QtWidgets.QListWidget(parent=HometaskList) - self.list_hometask.setSelectionRectVisible(False) - self.list_hometask.setObjectName("list_hometask") - self.gridLayout.addWidget(self.list_hometask, 2, 0, 1, 1) self.add_more = QtWidgets.QPushButton(parent=HometaskList) self.add_more.setObjectName("add_more") - self.gridLayout.addWidget(self.add_more, 3, 0, 1, 1) + self.gridLayout.addWidget(self.add_more, 4, 0, 1, 1) + self.refresh = QtWidgets.QPushButton(parent=HometaskList) + self.refresh.setObjectName("refresh") + self.gridLayout.addWidget(self.refresh, 2, 0, 1, 1) self.retranslateUi(HometaskList) QtCore.QMetaObject.connectSlotsByName(HometaskList) @@ -52,6 +55,7 @@ def retranslateUi(self, HometaskList): _translate = QtCore.QCoreApplication.translate HometaskList.setWindowTitle(_translate("HometaskList", "Список ДЗ")) self.label_2.setText(_translate("HometaskList", "Показать выполненные")) - self.label.setText(_translate("HometaskList", "Предстоящие задания")) self.list_hometask.setSortingEnabled(False) + self.label.setText(_translate("HometaskList", "Предстоящие задания")) self.add_more.setText(_translate("HometaskList", "Добавить новые")) + self.refresh.setText(_translate("HometaskList", "Обновить")) diff --git a/src/student_journal/presentation/ui/subject_list_ui.py b/src/student_journal/presentation/ui/subject_list_ui.py index f7076f1..76b9b09 100644 --- a/src/student_journal/presentation/ui/subject_list_ui.py +++ b/src/student_journal/presentation/ui/subject_list_ui.py @@ -18,7 +18,10 @@ def setupUi(self, SubjectList): self.list_subject = QtWidgets.QListWidget(parent=SubjectList) self.list_subject.setSelectionRectVisible(False) self.list_subject.setObjectName("list_subject") - self.gridLayout.addWidget(self.list_subject, 1, 0, 1, 1) + self.gridLayout.addWidget(self.list_subject, 2, 0, 1, 1) + self.add_more = QtWidgets.QPushButton(parent=SubjectList) + self.add_more.setObjectName("add_more") + self.gridLayout.addWidget(self.add_more, 3, 0, 1, 1) self.label = QtWidgets.QLabel(parent=SubjectList) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -31,9 +34,9 @@ def setupUi(self, SubjectList): self.label.setFont(font) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 0, 0, 1, 1) - self.add_more = QtWidgets.QPushButton(parent=SubjectList) - self.add_more.setObjectName("add_more") - self.gridLayout.addWidget(self.add_more, 2, 0, 1, 1) + self.refresh = QtWidgets.QPushButton(parent=SubjectList) + self.refresh.setObjectName("refresh") + self.gridLayout.addWidget(self.refresh, 1, 0, 1, 1) self.retranslateUi(SubjectList) QtCore.QMetaObject.connectSlotsByName(SubjectList) @@ -42,5 +45,6 @@ def retranslateUi(self, SubjectList): _translate = QtCore.QCoreApplication.translate SubjectList.setWindowTitle(_translate("SubjectList", "Список предметов")) self.list_subject.setSortingEnabled(False) - self.label.setText(_translate("SubjectList", "Список предметов")) self.add_more.setText(_translate("SubjectList", "Добавить новые")) + self.label.setText(_translate("SubjectList", "Список предметов")) + self.refresh.setText(_translate("SubjectList", "Обновить")) diff --git a/src/student_journal/presentation/ui/teacher_list_ui.py b/src/student_journal/presentation/ui/teacher_list_ui.py index 3840903..9d26916 100644 --- a/src/student_journal/presentation/ui/teacher_list_ui.py +++ b/src/student_journal/presentation/ui/teacher_list_ui.py @@ -15,10 +15,6 @@ def setupUi(self, TeacherList): TeacherList.resize(580, 290) self.gridLayout = QtWidgets.QGridLayout(TeacherList) self.gridLayout.setObjectName("gridLayout") - self.list_teacher = QtWidgets.QListWidget(parent=TeacherList) - self.list_teacher.setSelectionRectVisible(False) - self.list_teacher.setObjectName("list_teacher") - self.gridLayout.addWidget(self.list_teacher, 1, 0, 1, 1) self.label = QtWidgets.QLabel(parent=TeacherList) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -33,7 +29,14 @@ def setupUi(self, TeacherList): self.gridLayout.addWidget(self.label, 0, 0, 1, 1) self.add_more = QtWidgets.QPushButton(parent=TeacherList) self.add_more.setObjectName("add_more") - self.gridLayout.addWidget(self.add_more, 2, 0, 1, 1) + self.gridLayout.addWidget(self.add_more, 3, 0, 1, 1) + self.list_teacher = QtWidgets.QListWidget(parent=TeacherList) + self.list_teacher.setSelectionRectVisible(False) + self.list_teacher.setObjectName("list_teacher") + self.gridLayout.addWidget(self.list_teacher, 2, 0, 1, 1) + self.refresh = QtWidgets.QPushButton(parent=TeacherList) + self.refresh.setObjectName("refresh") + self.gridLayout.addWidget(self.refresh, 1, 0, 1, 1) self.retranslateUi(TeacherList) QtCore.QMetaObject.connectSlotsByName(TeacherList) @@ -41,6 +44,7 @@ def setupUi(self, TeacherList): def retranslateUi(self, TeacherList): _translate = QtCore.QCoreApplication.translate TeacherList.setWindowTitle(_translate("TeacherList", "Список учителей")) - self.list_teacher.setSortingEnabled(False) self.label.setText(_translate("TeacherList", "Список учителей")) self.add_more.setText(_translate("TeacherList", "Добавить новых")) + self.list_teacher.setSortingEnabled(False) + self.refresh.setText(_translate("TeacherList", "Обновить")) diff --git a/src/student_journal/presentation/widget/about.py b/src/student_journal/presentation/widget/about.py index 58f11e3..df75d39 100644 --- a/src/student_journal/presentation/widget/about.py +++ b/src/student_journal/presentation/widget/about.py @@ -8,8 +8,3 @@ def __init__(self) -> None: super().__init__() self.ui = Ui_About() self.ui.setupUi(self) - - self.ui.close_btn.clicked.connect(self.on_close) - - def on_close(self) -> None: - self.close() diff --git a/src/student_journal/presentation/widget/dashboard.py b/src/student_journal/presentation/widget/dashboard.py index 0884729..bdc20a2 100644 --- a/src/student_journal/presentation/widget/dashboard.py +++ b/src/student_journal/presentation/widget/dashboard.py @@ -1,9 +1,9 @@ from dishka import Container -from PyQt6 import QtCore from PyQt6.QtGui import QAction -from PyQt6.QtWidgets import QMainWindow, QMenu +from PyQt6.QtWidgets import QMainWindow, QMenu, QStackedWidget, QWidget from student_journal.presentation.widget.about import About +from student_journal.presentation.widget.edit_subject import EditSubject from student_journal.presentation.widget.edit_teacher import EditTeacher @@ -11,21 +11,40 @@ class Dashboard(QMainWindow): def __init__(self, container: Container) -> None: super().__init__() + self.stacked_widget = QStackedWidget() + self.setCentralWidget(self.stacked_widget) + self.about_form = About() - self.add_teacher_form = EditTeacher(container, self, None) + self.add_teacher_form = EditTeacher(container, None) + self.add_subject_form = EditSubject(container, None) self.about_action = QAction("&О программе", self) - self.about_action.triggered.connect(self.about_form.show) - self.add_teacher_action = QAction("&Добавить преподавателя", self) - self.add_teacher_action.triggered.connect(self.add_teacher_form.show) + self.add_subject_action = QAction("&Добавить предмет", self) + self.hometask_list_action = QAction("&Список заданий", self) + self.subject_list_action = QAction("&Список предметов", self) + self.teacher_list_action = QAction("&Список преподавателей", self) + self.schedule_action = QAction("&Расписание", self) + + self.stacked_widget.addWidget(self.about_form) + self.stacked_widget.addWidget(self.add_teacher_form) + self.stacked_widget.addWidget(self.add_subject_form) + + self.add_teacher_action.triggered.connect( + lambda: self.show_widget(self.add_teacher_form), + ) + self.about_action.triggered.connect( + lambda: self.show_widget(self.about_form), + ) + self.add_subject_action.triggered.connect( + lambda: self.show_widget(self.add_subject_form), + ) - self.init_ui() self.create_menu_bar() - def init_ui(self) -> None: - self.resize(500, 300) - self.setMaximumSize(QtCore.QSize(500, 300)) + def show_widget(self, widget: QWidget) -> None: + widget.show() + self.stacked_widget.setCurrentWidget(widget) def create_menu_bar(self) -> None: menu_bar = self.menuBar() @@ -37,15 +56,20 @@ def create_menu_bar(self) -> None: teacher_menu = QMenu("&Преподаватели", self) menu_bar.addMenu(teacher_menu) teacher_menu.addAction(self.add_teacher_action) + teacher_menu.addAction(self.teacher_list_action) subject_menu = QMenu("&Предметы", self) menu_bar.addMenu(subject_menu) + subject_menu.addAction(self.add_subject_action) + subject_menu.addAction(self.subject_list_action) hometask_menu = QMenu("&Задачи", self) menu_bar.addMenu(hometask_menu) + hometask_menu.addAction(self.hometask_list_action) lesson_menu = QMenu("&Уроки", self) menu_bar.addMenu(lesson_menu) + lesson_menu.addAction(self.schedule_action) student_menu = QMenu("&Профиль", self) menu_bar.addMenu(student_menu) diff --git a/src/student_journal/presentation/widget/edit_hometask.py b/src/student_journal/presentation/widget/edit_hometask.py index 416db4a..e0aada9 100644 --- a/src/student_journal/presentation/widget/edit_hometask.py +++ b/src/student_journal/presentation/widget/edit_hometask.py @@ -1,5 +1,5 @@ from dishka import Container -from PyQt6.QtWidgets import QMainWindow, QWidget +from PyQt6.QtWidgets import QWidget from student_journal.adapters.error_locator import ErrorLocator from student_journal.application.hometask.create_home_task import ( @@ -21,14 +21,12 @@ class EditHomeTask(QWidget): def __init__( self, container: Container, - main_window: QMainWindow, home_task_id: HomeTaskId | None, lesson: Lesson, ) -> None: super().__init__() self.container = container - self.main = main_window self.home_task_id = home_task_id self.lesson = lesson self.error_locator = container.get(ErrorLocator) diff --git a/src/student_journal/presentation/widget/edit_subject.py b/src/student_journal/presentation/widget/edit_subject.py index a3fb43e..69fe7f8 100644 --- a/src/student_journal/presentation/widget/edit_subject.py +++ b/src/student_journal/presentation/widget/edit_subject.py @@ -1,7 +1,5 @@ -from uuid import UUID - from dishka import Container -from PyQt6.QtWidgets import QMainWindow, QWidget +from PyQt6.QtWidgets import QWidget from student_journal.adapters.error_locator import ErrorLocator from student_journal.application.subject.create_subject import CreateSubject, NewSubject @@ -20,13 +18,11 @@ class EditSubject(QWidget): def __init__( self, container: Container, - main_window: QMainWindow, subject_id: SubjectId | None, ) -> None: super().__init__() self.container = container - self.main = main_window self.subject_id = subject_id self.error_locator = container.get(ErrorLocator) @@ -34,12 +30,13 @@ def __init__( self.ui.setupUi(self) self.title = "" - self.teacher_id: str | None = None + self.teacher_id: TeacherId | None = None self.ui.submit_btn.clicked.connect(self.on_submit_btn) self.ui.delete_btn.clicked.connect(self.on_delete_btn) self.ui.title_input.textChanged.connect(self.on_title_input) self.ui.teacher_combo.currentIndexChanged.connect(self.on_teacher_combo_changed) + self.ui.refresh.clicked.connect(self.load_teachers) if not self.subject_id: self.ui.delete_btn.hide() @@ -60,13 +57,11 @@ def on_submit_btn(self) -> None: if not self.teacher_id: return - teacher_id = TeacherId(UUID(self.teacher_id)) - with self.container() as r_container: if not self.subject_id: data = NewSubject( title=self.title, - teacher_id=teacher_id, + teacher_id=self.teacher_id, ) command = r_container.get(CreateSubject) command.execute(data) @@ -74,7 +69,7 @@ def on_submit_btn(self) -> None: data_update = UpdatedSubject( subject_id=self.subject_id, title=self.title, - teacher_id=teacher_id, + teacher_id=self.teacher_id, ) command_update = r_container.get(UpdateSubject) command_update.execute(data_update) diff --git a/src/student_journal/presentation/widget/edit_teacher.py b/src/student_journal/presentation/widget/edit_teacher.py index acf046e..260a6d6 100644 --- a/src/student_journal/presentation/widget/edit_teacher.py +++ b/src/student_journal/presentation/widget/edit_teacher.py @@ -1,5 +1,5 @@ from dishka import Container -from PyQt6.QtWidgets import QMainWindow, QWidget +from PyQt6.QtWidgets import QWidget from student_journal.adapters.error_locator import ErrorLocator from student_journal.application.teacher import ( @@ -17,13 +17,11 @@ class EditTeacher(QWidget): def __init__( self, container: Container, - main: QMainWindow, teacher_id: TeacherId | None, ) -> None: super().__init__() self.container = container - self.main = main self.teacher_id = teacher_id self.error_locator = container.get(ErrorLocator) diff --git a/src/student_journal/presentation/widget/main_window.py b/src/student_journal/presentation/widget/main_window.py index 46e9261..49d119f 100644 --- a/src/student_journal/presentation/widget/main_window.py +++ b/src/student_journal/presentation/widget/main_window.py @@ -1,7 +1,7 @@ from uuid import UUID from dishka import Container -from PyQt6.QtWidgets import QMainWindow +from PyQt6.QtWidgets import QMainWindow, QStackedWidget from student_journal.adapters.id_provider import FileIdProvider from student_journal.application.exceptions.student import ( @@ -18,25 +18,32 @@ def __init__(self, container: Container) -> None: self.container = container self.idp = container.get(FileIdProvider) - self.register_form = Register(container, self) + + self.register_form = Register(container) + self.register_form.finish.connect(self.finish_register) + self.dashboard = Dashboard(container) + self.stacked_widget = QStackedWidget() + self.stacked_widget.addWidget(self.register_form) + self.stacked_widget.addWidget(self.dashboard) + self.setCentralWidget(self.stacked_widget) + try: self.idp.ensure_is_auth() except StudentIsNotAuthenticatedError: - self.register() + self.display_register() return else: - self.setCentralWidget(self.dashboard) - self.dashboard.show() + self.display_dashboard() - def register(self) -> None: - self.setCentralWidget(self.register_form) - self.register_form.finish.connect(self.finish_register) - self.register_form.show() + def display_register(self) -> None: + self.stacked_widget.setCurrentWidget(self.register_form) + + def display_dashboard(self) -> None: + self.stacked_widget.setCurrentWidget(self.dashboard) def finish_register(self, student_id: str) -> None: student_id_uuid = StudentId(UUID(student_id)) self.idp.save(student_id_uuid) - self.setCentralWidget(self.dashboard) - self.dashboard.show() + self.display_dashboard() diff --git a/src/student_journal/presentation/widget/register.py b/src/student_journal/presentation/widget/register.py index 4140adf..e4e704e 100644 --- a/src/student_journal/presentation/widget/register.py +++ b/src/student_journal/presentation/widget/register.py @@ -1,6 +1,6 @@ from dishka import Container from PyQt6.QtCore import pyqtSignal -from PyQt6.QtWidgets import QMainWindow, QWidget +from PyQt6.QtWidgets import QWidget from student_journal.adapters.error_locator import ErrorLocator from student_journal.application.student.create_student import CreateStudent, NewStudent @@ -13,12 +13,10 @@ class Register(QWidget): def __init__( self, container: Container, - main: QMainWindow, ) -> None: super().__init__() self.container = container - self.main = main self.error_locator = container.get(ErrorLocator) self.ui = Ui_Register()