Исправлена админ-панель: работа с бд теперь доступна (нужно добавить кнопки), добавлены кнопки 'Открыть сессию пользователя' - для того чтобы администратор мог открыть игру, не выходя из админ-панели, создав при этом дополнительное окно, и 'Выйти'(бургер-меню) - закрыть приложение. Исправлен процесс регистрации: при регистрации пользователя данные из таблицы Auth автоматически переносятся в таблицу Users и GameSession для дальнейшего просмотра, редактирования, удаления данных в админ-панели, добавлен параметр username для корректрой работы базы данных и процесса регистрации, исправлен интерфейс: добавлены наименования полей, для удобства пользователя. Изменения в коде: работа с бд перенесена в файл с интерфейсом админ-панели, потому что Python по-другому не воспринимает мои страдания((( Изменения в логировании: при запуске игры создаётся/обновляется файл game.log (импортировать в админ-панель, также как и logfile.log).

This commit is contained in:
Xatiko 2024-11-28 17:17:19 +03:00
parent 0e42442310
commit 815f432536
22 changed files with 2180 additions and 2724 deletions

View file

@ -74,10 +74,14 @@ class DogAcademyApp:
title.pack(pady=50)
# Логин
login_label = tk.Label(self.current_frame, text="Логин:", bg=BACKGROUND_COLOR, fg=PRIMARY_COLOR, font=FONT)
login_label.pack()
self.login_entry = tk.Entry(self.current_frame, font=FONT)
self.login_entry.pack(pady=10)
# Пароль
password_label = tk.Label(self.current_frame, text="Пароль:", bg=BACKGROUND_COLOR, fg=PRIMARY_COLOR, font=FONT)
password_label.pack()
self.password_entry = tk.Entry(self.current_frame, show="*", font=FONT)
self.password_entry.pack(pady=10)
@ -157,23 +161,22 @@ class DogAcademyApp:
title.pack(pady=50)
# Логин
login_label = tk.Label(self.current_frame, text="Логин:", bg=BACKGROUND_COLOR, fg=PRIMARY_COLOR, font=FONT)
login_label.pack()
self.reg_login_entry = tk.Entry(self.current_frame, font=FONT)
self.reg_login_entry.pack(pady=10)
# Пароль
password_label = tk.Label(self.current_frame, text="Пароль:", bg=BACKGROUND_COLOR, fg=PRIMARY_COLOR, font=FONT)
password_label.pack()
self.reg_password_entry = tk.Entry(self.current_frame, show="*", font=FONT)
self.reg_password_entry.pack(pady=10)
# Кнопка "Показать пароль"
show_password_button = tk.Button(
self.current_frame,
text="Показать пароль",
bg=BUTTON_COLOR,
fg=BUTTON_TEXT_COLOR,
font=FONT,
command=self.toggle_registration_password,
)
show_password_button.pack(pady=10)
# Никнейм
username_label = tk.Label(self.current_frame, text="Никнейм:", bg=BACKGROUND_COLOR, fg=PRIMARY_COLOR, font=FONT)
username_label.pack()
self.username_entry = tk.Entry(self.current_frame, font=FONT)
self.username_entry.pack(pady=10)
# Кнопка "Зарегистрироваться"
register_button = tk.Button(
@ -208,11 +211,15 @@ class DogAcademyApp:
"""Регистрация нового пользователя."""
login = self.reg_login_entry.get()
password = self.reg_password_entry.get()
username = self.username_entry.get() # Получаем имя пользователя
if login and password:
create_user(login, password)
messagebox.showinfo("Успех", "Вы успешно зарегистрированы!")
self.show_login_screen()
if login and password and username:
success, message = create_user(login, password, username) # Передаем имя пользователя
if success:
messagebox.showinfo("Успех", message)
self.show_login_screen()
else:
messagebox.showerror("Ошибка", message)
else:
messagebox.showerror("Ошибка", "Пожалуйста, заполните все поля.")