from models.user_model import UserModel from views.login_view import LoginView from controllers.catalog_controller import CatalogController class AuthController: def __init__(self, database): self.database = database self.model = UserModel(database) self.view = LoginView() self.view.login_button.clicked.connect( self.login ) self.view.guest_button.clicked.connect( self.login_as_guest ) def show(self): self.view.show() def login(self): login = self.view.login_input.text() password = self.view.password_input.text() user = self.model.authenticate(login, password) if user: self.open_catalog( user["full_name"], user["role_name"], ) else: self.view.status_label.setText( "Неверный логин или пароль" ) def login_as_guest(self): self.open_catalog("Гость", "Гость") def open_catalog(self, full_name: str, role: str): self.catalog = CatalogController( self.database, full_name, role, self, ) self.catalog.show() self.view.close()