From e01f43dc3594920b6abbb285f73a7b28525381fb Mon Sep 17 00:00:00 2001 From: Xatiko <107261855+Anymorexxx@users.noreply.github.com> Date: Thu, 21 Nov 2024 01:01:03 +0300 Subject: [PATCH] =?UTF-8?q?+=20=D1=81=D1=82=D0=B0=D1=82=D0=B8=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=BA=D0=B0=20+=20=D0=BB=D0=BE=D0=B3=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C:=20=D1=83=D0=B2=D0=B5=D0=B4=D0=BE?= =?UTF-8?q?=D0=BC=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20(=D1=81=D0=BB=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D0=BB=D1=81=D1=8F=20=D1=81=D0=BE=D1=84=D1=82)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.py | 3 + database/DogAcademy.db | Bin 24576 -> 32768 bytes database/db_events.py | 19 +- database/db_session.py | 3 +- database/models.py | 34 ++- ishodniki/admin_panel.psd | Bin 0 -> 678398 bytes logs/logfile.log | 329 +++++++++++++++++++++++++++ src/admin_functions/admin_logging.py | 31 ++- src/admin_functions/db_management.py | 20 +- src/admin_functions/notification.py | 21 ++ src/admin_functions/security.py | 0 src/admin_functions/statistics.py | 90 +++++++- src/ui/admin_ui.py | 138 ++++++++--- 13 files changed, 637 insertions(+), 51 deletions(-) create mode 100644 ishodniki/admin_panel.psd create mode 100644 logs/logfile.log create mode 100644 src/admin_functions/notification.py create mode 100644 src/admin_functions/security.py diff --git a/config.py b/config.py index 9eb19e0..3e41e86 100644 --- a/config.py +++ b/config.py @@ -23,3 +23,6 @@ DATABASE_URL = "sqlite:///database/DogAcademy.db" # Обновлено на п # Иконки SETTINGS_IMG = "assets/settings.png" + +# Уровни уведомлений (для дальнейшей настройки) +NOTIFICATION_LEVEL = "info" # Возможные значения: "info", "warning", "error" \ No newline at end of file diff --git a/database/DogAcademy.db b/database/DogAcademy.db index 695b5476cb7740bca6d4b8e67b68641757c9941b..4e62794a8cd3328ff82a2a118ba5f00184ed82d9 100644 GIT binary patch delta 603 zcmZvY(MrNl7{|A?&5g~~MJS1Qu5yBu&=XjlWH>d(g1lNwPcd*RJ4bI@=3O_*9--?l z!WZZbdJJD7BB32o*sufN#rOa7o$vqq{7=^RcV2V*9K$fFur`mIl}~dVb3A^Lm2ZX@ z7L0PFe5H}BOJ(s#SbRLWf;rja`Ao6MK3l}T>!JRDIQLG+CeEObV@>MZfK?L$vwEgO z5VL?P3Q-~O+?28}Wh1s7p#KOkVj8xu5JVO{GwHHZ^h#CC_^B3xl= z4MD}7X9@*&Dg>tVe(3bWC?4t%%O(W5LxMLE=1YlB%#)R0g%#&) MB>~=&6+rvKAAab#X#fBK delta 397 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 F_+JF4<*NVy literal 0 HcmV?d00001 diff --git a/logs/logfile.log b/logs/logfile.log new file mode 100644 index 0000000..1b57012 --- /dev/null +++ b/logs/logfile.log @@ -0,0 +1,329 @@ +2024-11-20 12:59:15 - BEGIN (implicit) +2024-11-20 12:59:15 - SELECT count(*) AS count_1 +FROM (SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users) AS anon_1 +2024-11-20 12:59:15 - [generated in 0.00054s] () +2024-11-20 12:59:15 - SELECT game_sessions.level AS game_sessions_level, count(game_sessions.session_id) AS count_1 +FROM game_sessions GROUP BY game_sessions.level +2024-11-20 12:59:15 - [generated in 0.00030s] () +2024-11-20 13:00:56 - BEGIN (implicit) +2024-11-20 13:00:56 - PRAGMA main.table_info("auth") +2024-11-20 13:00:56 - [raw sql] () +2024-11-20 13:00:56 - PRAGMA temp.table_info("auth") +2024-11-20 13:00:56 - [raw sql] () +2024-11-20 13:00:56 - PRAGMA main.table_info("users") +2024-11-20 13:00:56 - [raw sql] () +2024-11-20 13:00:56 - PRAGMA temp.table_info("users") +2024-11-20 13:00:56 - [raw sql] () +2024-11-20 13:00:56 - PRAGMA main.table_info("dogs") +2024-11-20 13:00:56 - [raw sql] () +2024-11-20 13:00:56 - PRAGMA temp.table_info("dogs") +2024-11-20 13:00:56 - [raw sql] () +2024-11-20 13:00:56 - PRAGMA main.table_info("questions") +2024-11-20 13:00:56 - [raw sql] () +2024-11-20 13:00:56 - PRAGMA temp.table_info("questions") +2024-11-20 13:00:56 - [raw sql] () +2024-11-20 13:00:56 - PRAGMA main.table_info("game_sessions") +2024-11-20 13:00:56 - [raw sql] () +2024-11-20 13:00:56 - PRAGMA temp.table_info("game_sessions") +2024-11-20 13:00:56 - [raw sql] () +2024-11-20 13:00:56 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-20 13:00:56 - [no key 0.00011s] () +2024-11-20 13:00:56 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-20 13:00:56 - [no key 0.00017s] () +2024-11-20 13:00:56 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-20 13:00:56 - [no key 0.00019s] () +2024-11-20 13:00:56 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-20 13:00:56 - [no key 0.00017s] () +2024-11-20 13:00:57 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + PRIMARY KEY (session_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-20 13:00:57 - [no key 0.00023s] () +2024-11-20 13:00:57 - COMMIT +2024-11-20 13:01:13 - BEGIN (implicit) +2024-11-20 13:01:13 - SELECT count(*) AS count_1 +FROM (SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users) AS anon_1 +2024-11-20 13:01:13 - [generated in 0.00032s] () +2024-11-20 13:01:13 - SELECT game_sessions.level AS game_sessions_level, count(game_sessions.session_id) AS count_1 +FROM game_sessions GROUP BY game_sessions.level +2024-11-20 13:01:13 - [generated in 0.00025s] () +2024-11-20 13:01:13 - SELECT questions.question_text AS questions_question_text, questions.incorrect_attempts AS questions_incorrect_attempts +FROM questions ORDER BY questions.incorrect_attempts DESC +2024-11-20 13:01:13 - [generated in 0.00028s] () +2024-11-20 13:01:13 - SELECT avg(game_sessions.duration) AS avg_1 +FROM game_sessions +2024-11-20 13:01:13 - [generated in 0.00023s] () +2024-11-20 13:01:13 - ROLLBACK +2024-11-20 13:01:13 - BEGIN (implicit) +2024-11-20 13:01:13 - SELECT game_sessions.start_time AS game_sessions_start_time +FROM game_sessions +2024-11-20 13:01:13 - [generated in 0.00028s] () +2024-11-20 13:01:13 - ROLLBACK +2024-11-20 13:40:04 - BEGIN (implicit) +2024-11-20 13:40:04 - PRAGMA main.table_info("auth") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - PRAGMA temp.table_info("auth") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - PRAGMA main.table_info("users") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - PRAGMA temp.table_info("users") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - PRAGMA main.table_info("dogs") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - PRAGMA temp.table_info("dogs") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - PRAGMA main.table_info("questions") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - PRAGMA temp.table_info("questions") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - PRAGMA main.table_info("game_sessions") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - PRAGMA temp.table_info("game_sessions") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - PRAGMA main.table_info("notifications") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - PRAGMA temp.table_info("notifications") +2024-11-20 13:40:04 - [raw sql] () +2024-11-20 13:40:04 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-20 13:40:04 - [no key 0.00011s] () +2024-11-20 13:40:04 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-20 13:40:04 - [no key 0.00019s] () +2024-11-20 13:40:04 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-20 13:40:04 - [no key 0.00023s] () +2024-11-20 13:40:04 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-20 13:40:04 - [no key 0.00020s] () +2024-11-20 13:40:04 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + PRIMARY KEY (session_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-20 13:40:04 - [no key 0.00020s] () +2024-11-20 13:40:05 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read INTEGER, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-20 13:40:05 - [no key 0.00017s] () +2024-11-20 13:40:05 - COMMIT +2024-11-20 17:07:30 - BEGIN (implicit) +2024-11-20 17:07:30 - PRAGMA main.table_info("auth") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - PRAGMA temp.table_info("auth") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - PRAGMA main.table_info("users") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - PRAGMA temp.table_info("users") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - PRAGMA main.table_info("dogs") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - PRAGMA temp.table_info("dogs") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - PRAGMA main.table_info("questions") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - PRAGMA temp.table_info("questions") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - PRAGMA main.table_info("game_sessions") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - PRAGMA temp.table_info("game_sessions") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - PRAGMA main.table_info("notifications") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - PRAGMA temp.table_info("notifications") +2024-11-20 17:07:30 - [raw sql] () +2024-11-20 17:07:30 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-20 17:07:30 - [no key 0.00010s] () +2024-11-20 17:07:30 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-20 17:07:30 - [no key 0.00025s] () +2024-11-20 17:07:30 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-20 17:07:30 - [no key 0.00023s] () +2024-11-20 17:07:30 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-20 17:07:30 - [no key 0.00019s] () +2024-11-20 17:07:30 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + PRIMARY KEY (session_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-20 17:07:30 - [no key 0.00038s] () +2024-11-20 17:07:30 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read INTEGER, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-20 17:07:30 - [no key 0.00018s] () +2024-11-20 17:07:30 - COMMIT diff --git a/src/admin_functions/admin_logging.py b/src/admin_functions/admin_logging.py index 5a2204b..411a4d2 100644 --- a/src/admin_functions/admin_logging.py +++ b/src/admin_functions/admin_logging.py @@ -2,22 +2,45 @@ import tkinter as tk from tkinter import ttk import csv from src.utils import clear_frame +import logging +from datetime import datetime +BACKGROUND_COLOR = "#403d49" +TEXT_COLOR = "#b2acc0" +HEADER_COLOR = "#2f2b38" +BUTTON_COLOR = "#444444" + +logging.basicConfig( + filename="logs/logfile.log", + level=logging.INFO, + format="%(asctime)s - %(message)s", + datefmt="%Y-%m-%d %H:%M:%S" +) + + +def log_action(action, user): + logging.info(f"{action} - Пользователь: {user}") + def show_logs(frame): - """Отображение логов действий пользователей.""" + """Отображение логов действий пользователей в тёмной теме.""" clear_frame(frame) - tk.Label(frame, text="Логи действий", font=("Comic Sans MS", 16)).pack() + tk.Label(frame, text="Логи действий", font=("Comic Sans MS", 16), bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10) - table = ttk.Treeview(frame, columns=("Время", "Действие", "Пользователь"), show="headings") + # Настройка таблицы с логами + table = ttk.Treeview(frame, columns=("Время", "Действие", "Пользователь"), show="headings", style="Dark.Treeview") table.heading("Время", text="Время") table.heading("Действие", text="Действие") table.heading("Пользователь", text="Пользователь") table.pack(fill="both", expand=True) - # Добавьте логи для примера + # Добавление логов для примера table.insert("", "end", values=("2024-11-19 12:30", "Добавление вопроса", "admin")) table.insert("", "end", values=("2024-11-19 13:00", "Удаление пользователя", "moderator")) + # Применение стиля к таблице + style = ttk.Style() + style.configure("Dark.Treeview", background=BACKGROUND_COLOR, foreground=TEXT_COLOR, fieldbackground=BACKGROUND_COLOR) + style.configure("Dark.Treeview.Heading", background=HEADER_COLOR, foreground=TEXT_COLOR) def export_logs(): data = [ diff --git a/src/admin_functions/db_management.py b/src/admin_functions/db_management.py index 23c9fe0..b1c161f 100644 --- a/src/admin_functions/db_management.py +++ b/src/admin_functions/db_management.py @@ -1,7 +1,7 @@ import tkinter as tk from tkinter import ttk from sqlalchemy.orm import sessionmaker -from database.models import Questions +from database.models import Questions, Notifications from database.db_session import engine from src.utils import clear_frame @@ -33,4 +33,20 @@ def manage_questions(frame): for question in questions: table.insert("", "end", values=(question.id, question.text, question.answer)) - session.close() \ No newline at end of file + session.close() + +def add_user_to_db(user_data, root): + # Логика добавления пользователя в базу данных + try: + # Пример кода для добавления в базу (зависит от реализации вашей базы данных) + # db_session.add(user_data) + # db_session.commit() + + # Если добавление прошло успешно + notification = Notifications(root) + notification.show_info("Успех", f"Пользователь {user_data['username']} успешно добавлен!") + + except Exception as e: + # Если возникла ошибка + notification = Notifications(root) + notification.show_error("Ошибка", f"Ошибка при добавлении пользователя: {str(e)}") \ No newline at end of file diff --git a/src/admin_functions/notification.py b/src/admin_functions/notification.py new file mode 100644 index 0000000..2d17ae5 --- /dev/null +++ b/src/admin_functions/notification.py @@ -0,0 +1,21 @@ +from tkinter import messagebox + +class Notification: + def __init__(self, root): + self.root = root + + def show_info(self, title, message): + """Отображение информационного уведомления""" + messagebox.showinfo(title, message) + + def show_warning(self, title, message): + """Отображение предупреждения""" + messagebox.showwarning(title, message) + + def show_error(self, title, message): + """Отображение ошибки""" + messagebox.showerror(title, message) + + def show_notification(self, title, message): + """Отображение общего уведомления""" + self.show_info(title, message) diff --git a/src/admin_functions/security.py b/src/admin_functions/security.py new file mode 100644 index 0000000..e69de29 diff --git a/src/admin_functions/statistics.py b/src/admin_functions/statistics.py index adb4ca2..c86431f 100644 --- a/src/admin_functions/statistics.py +++ b/src/admin_functions/statistics.py @@ -3,22 +3,96 @@ from tkinter import ttk import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg from src.utils import clear_frame +from database.db_session import get_session +from sqlalchemy.sql import func +from database.models import Users, GameSession, Questions # Пример моделей def show_statistics(frame): - """Отображение статистики пользователей и уровней.""" + """Отображение статистики.""" clear_frame(frame) - tk.Label(frame, text="Статистика пользователей", font=("Comic Sans MS", 16)).pack() + tk.Label(frame, text="Статистика", font=("Comic Sans MS", 16), bg="#403d49", fg="#b2acc0").pack(pady=10) - # Пример: график с количеством пользователей - fig, ax = plt.subplots() - ax.bar(["Level 1", "Level 2", "Level 3"], [10, 15, 8]) # Пример данных - ax.set_title("Популярность уровней") - ax.set_xlabel("Уровни") - ax.set_ylabel("Количество прохождений") + # Таблица с общей статистикой + table = ttk.Treeview(frame, columns=("Metric", "Value"), show="headings", height=5) + table.heading("Metric", text="Параметр") + table.heading("Value", text="Значение") + table.pack(pady=10, padx=20, fill="x", expand=True) + + # Получение данных для таблицы + stats = gather_statistics() + for metric, value in stats.items(): + table.insert("", tk.END, values=(metric, value)) + + # График активности пользователей + tk.Label(frame, text="Активность пользователей", font=("Comic Sans MS", 14), bg="#403d49", fg="#b2acc0").pack(pady=10) + + fig, ax = plt.subplots(figsize=(6, 4)) + time_labels, activity_values = get_user_activity() + ax.plot(time_labels, activity_values, marker="o") + ax.set_title("Активность пользователей по времени") + ax.set_xlabel("Время") + ax.set_ylabel("Количество действий") + ax.grid() canvas = FigureCanvasTkAgg(fig, master=frame) canvas.get_tk_widget().pack(fill="both", expand=True) canvas.draw() +def gather_statistics(): + """Собирает основные метрики для таблицы статистики.""" + session = get_session() + # Количество зарегистрированных пользователей + user_count = session.query(Users).count() + # Популярные уровни + level_data = session.query(GameSession.level, func.count(GameSession.session_id)).group_by(GameSession.level).all() + popular_levels = sorted(level_data, key=lambda x: x[1], reverse=True)[:3] + + # Трудные вопросы + question_data = session.query(Questions.question_text, Questions.incorrect_attempts).order_by(Questions.incorrect_attempts.desc()).all() + hardest_questions = question_data[:3] + + # Средняя продолжительность игры + avg_duration = session.query(func.avg(GameSession.duration)).scalar() or 0 + + # Состояние базы данных + db_size = get_database_size() + + session.close() + + return { + "Количество пользователей": user_count, + "Популярные уровни": ", ".join([f"Уровень {lvl} ({cnt} раз)" for lvl, cnt in popular_levels]), + "Трудные вопросы": ", ".join([f"'{text}' ({cnt} ошибок)" for text, cnt in hardest_questions]), + "Средняя продолжительность игры": f"{avg_duration:.2f} секунд", + "Объем базы данных": f"{db_size} КБ" + } + +def get_user_activity(): + """Генерирует данные для графика активности пользователей.""" + session = get_session() + activity_data = session.query(GameSession.start_time).all() + + activity_by_hour = {} + for time in activity_data: + hour = time.start_time.hour + activity_by_hour[hour] = activity_by_hour.get(hour, 0) + 1 + + session.close() + + if not activity_by_hour: + return ["Нет данных"], [0] + + hours = sorted(activity_by_hour.keys()) + activity = [activity_by_hour[hour] for hour in hours] + hours = [f"{hour}:00" for hour in hours] + return hours, activity + +def get_database_size(): + """Возвращает размер базы данных в КБ.""" + import os + db_path = "database/db.sqlite" + if os.path.exists(db_path): + return round(os.path.getsize(db_path) / 1024, 2) + return 0 diff --git a/src/ui/admin_ui.py b/src/ui/admin_ui.py index 7390bb8..3561b5a 100644 --- a/src/ui/admin_ui.py +++ b/src/ui/admin_ui.py @@ -3,6 +3,9 @@ from PIL import Image, ImageTk from config import SETTINGS_IMG from src.admin_functions import db_management, admin_logging, statistics, content, knowledge_base from src.utils import clear_frame # Импортируем общую функцию для очистки фрейма +from database.db_session import get_session +from database.models import Notifications +from src.admin_functions.notification import Notification # Конфигурация цветов из config.py @@ -14,12 +17,26 @@ MENU_COLOR = "#2f2b38" MENU_OPACITY = 0.9 # Прозрачность меню class AdminApp: - def __init__(self, root): + def __init__(self, root, master): self.root = root + self.master = master self.root.title("Админ-Панель") self.root.geometry("1920x1080") self.root.config(bg=BACKGROUND_COLOR) + self.notification = Notification(self.master) + + def edit_database(self): + # Логика редактирования базы данных + # Например, успешное редактирование + self.notification.show_info("Успех", "База данных успешно обновлена!") + + def show_error(self, message): + self.notification.show_error("Ошибка", message) + + def show_warning(self, message): + self.notification.show_warning("Предупреждение", message) + # Верхняя панель self.top_bar = tk.Frame(self.root, bg=TOP_BAR_COLOR, height=60) self.top_bar.pack(side="top", fill="x") @@ -71,43 +88,94 @@ class AdminApp: def toggle_menu(self): """Показ или скрытие меню.""" - print( - f"Кнопка меню нажата. Меню сейчас {'видимо' if self.menu_visible else 'скрыто'}") # Отладка - if self.menu_visible: # Используем флаг для проверки состояния - print("Скрываем меню") # Отладка - self.menu_frame.lower() # Скрываем меню + if self.menu_visible: + self.menu_frame.lower() self.menu_visible = False else: - print("Показываем меню") # Отладка - self.menu_frame.lift() # Показываем меню + self.menu_frame.lift() self.menu_visible = True - self.populate_menu() # Наполнение меню элементами + self.populate_menu() def populate_menu(self): # Очистка меню for widget in self.menu_frame.winfo_children(): widget.destroy() - # Создание пунктов меню - self.create_menu_section("Работа с базой данных", [ - ("Редактирование пользователей", db_management.edit_users), - ("Управление вопросами", db_management.manage_questions), - ("Просмотр таблиц", db_management.view_tables), - ]) - self.create_menu_section("Управление игровым контентом", [ - ("Создание и настройка уровней", content.manage_levels), - ("Настройка параметров собаки", content.manage_dog_params), - ]) - self.create_menu_section("Управление интерфейсом пользователя", [ - ("Изменение цветовой схемы, фона и логотипа", self.change_ui_settings), - ("Добавление подсказок в интерфейс", self.manage_ui_tips), - ]) - self.create_menu_section("Работа с базой знаний", [ - ("Добавление информации", knowledge_base.add_info), - ("Редактирование записей", knowledge_base.edit_records), - ("Удаление записей", knowledge_base.delete_records), - ("Просмотр базы знаний", knowledge_base.view_knowledge_base), - ("Генерация вопросов", knowledge_base.generate_questions), - ]) + + # Список разделов и их элементов + menu_sections = [ + ("Работа с базой данных", [ + ("Редактирование пользователей", db_management.edit_users), + ("Управление вопросами", db_management.manage_questions), + ("Просмотр таблиц", db_management.view_tables), + ]), + ("Управление игровым контентом", [ + ("Создание и настройка уровней", content.manage_levels), + ("Настройка параметров собаки", content.manage_dog_params), + ]), + ("Управление интерфейсом пользователя", [ + ("Добавление подсказок в интерфейс", self.manage_ui_tips), + ]), + ("Работа с базой знаний", [ + ("Добавление информации", knowledge_base.add_info), + ("Редактирование записей", knowledge_base.edit_records), + ("Удаление записей", knowledge_base.delete_records), + ("Просмотр базы знаний", knowledge_base.view_knowledge_base), + ("Генерация вопросов", knowledge_base.generate_questions), + ]), + ] + + # Определяем максимальную ширину текста для настройки ширины меню и кнопок + max_text_length = max( + len(title) for title, items in menu_sections + ) + max( + max(len(text) for text, _ in items) for _, items in menu_sections + ) + menu_width = max(300, max_text_length * 10) # Устанавливаем минимальную ширину + + # Обновляем ширину меню + self.menu_frame.config(width=menu_width) + + # Высота одной кнопки и отступов + button_height = 40 + button_spacing = 10 + section_spacing = 15 + + total_height = 0 + + for title, items in menu_sections: + # Заголовок раздела + section_label = tk.Label( + self.menu_frame, + text=title, + bg=MENU_COLOR, + fg=TEXT_COLOR, + font=("Comic Sans MS", 14, "bold"), + anchor="center" # Выравнивание по центру + ) + section_label.pack(fill="x", padx=10, pady=5) + total_height += button_height + section_spacing + + # Кнопки раздела + for text, command in items: + item_button = tk.Button( + self.menu_frame, + text=text, + bg=BUTTON_COLOR, + fg=TEXT_COLOR, + font=("Comic Sans MS", 12), + width=int(menu_width / 10) - 3, # Ширина кнопок зависит от ширины меню + height=1, + activebackground=BUTTON_COLOR, + activeforeground=TEXT_COLOR, + bd=0, + anchor="w", # Выравнивание текста по левому краю + command=lambda: command(self.main_frame) # Вызываем функцию и передаём фрейм + ) + item_button.pack(fill="x", padx=20, pady=5) + total_height += button_height + button_spacing + + # Подстройка высоты меню + self.menu_frame.config(height=total_height) def create_menu_section(self, title, items): section_label = tk.Label(self.menu_frame, text=title, bg=MENU_COLOR, fg=TEXT_COLOR, font=("Comic Sans MS", 14, "bold")) @@ -150,8 +218,14 @@ class AdminApp: tk.Label(frame, text="Здесь будут подсказки для интерфейса", bg=BACKGROUND_COLOR, fg=TEXT_COLOR, font=("Comic Sans MS", 16)).pack() def show_notifications(self, frame): - clear_frame(frame) - tk.Label(frame, text="Здесь будут уведомления", bg=BACKGROUND_COLOR, fg=TEXT_COLOR, font=("Comic Sans MS", 16)).pack() + clear_frame(frame) # Очищаем текущий экран + session = get_session() + notifications = session.query(Notifications).filter_by( + is_read=0).all() # Получаем все непрочитанные уведомления + for notification in notifications: + tk.Label(frame, text=notification.message, bg=BACKGROUND_COLOR, fg=TEXT_COLOR, + font=("Comic Sans MS", 16)).pack() + session.close() def show_security(self, frame): clear_frame(frame)