Skip to content

Commit

Permalink
Merge pull request #37 from ikhit/ikhit-dev
Browse files Browse the repository at this point in the history
Ikhit dev
  • Loading branch information
GreenVibesOnly authored Oct 20, 2024
2 parents 8561842 + 637f29c commit 9ee75c5
Show file tree
Hide file tree
Showing 27 changed files with 635 additions and 719 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ cython_debug/

#poetry
.poetry.lock
poetry.lock

#redis
.redisdata/
27 changes: 27 additions & 0 deletions ADMIN_DOC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Документация админки бота

## Введение
Эта документация предназначена для администраторов и менеджеров, которые используют админку нашего бота. Здесь описаны основные функции и команды, доступные в админском интерфейсе.

## Автоматическое создание пользователей
При запуске бота автоматически создаются пользователи с ролью администратора, если их Telegram ID указаны в файле .env. Убедитесь, что вы добавили свои ID в этот файл.

## Вход в админку
Чтобы войти в админку, используйте команду /admin. Эта команда доступна только пользователям с ролью администратора или менеджера.

## Основные функции админки

1. Управление контентом:
- Администраторы и менеджеры могут добавлять, удалять и редактировать контент в основных меню бота.

2. Дополнительно:
- В этом разделе можно просмотреть текущие открытые заявки на обратный звонок от менеджеров и службы поддержки.
- Также доступны отзывы пользователей.

3. Управление персоналом:
- Администраторы могут изменять роли пользователей, назначая их админами, менеджерами или обычными пользователями.
- Для этого пользователь должен зарегистрироваться в боте, введя команду /start.

4. Статистика:
- Администраторы могут получить список всех администраторов и менеджеров.
- Также доступна статистика по всем закрытым заявкам, включая дату последней закрытой заявки для каждого администратора или менеджера.
1 change: 1 addition & 0 deletions app/admin/admin_managers/delete_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ class DeleteManager(BaseAdminManager):
delete_obj(callback: CallbackQuery, state: FSMContext, session: AsyncSession) -> None:
Удаляет выбранный объект из базы данных и сбрасывает состояние.
"""

def __init__(
self,
model_crud: CRUDBase,
Expand Down
6 changes: 3 additions & 3 deletions app/admin/admin_managers/question_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ async def select_question(
self.question_type = await self.set_question_type(state)
questions = await self.get_question_list(session)
await callback.message.edit_text(
"Выберте вопрос:",
"Выберте категорию вопросов:",
reply_markup=await get_inline_keyboard(
questions, previous_menu=self.back_option
),
Expand All @@ -90,7 +90,7 @@ async def add_question_text(
question_type=await self.set_question_type(state)
)
await callback.message.answer(
"Введите текст вопроса:",
"Введите название для категории вопров:",
reply_markup=await get_inline_keyboard(
previous_menu=self.back_option
),
Expand All @@ -116,7 +116,7 @@ async def add_answer_text(self, message: Message, state: FSMContext):
return
await state.update_data(question=message.text)
await message.answer(
"Введите ответ на этот вопрос:",
"Введите вопросы и ответы для данной категории:",
reply_markup=await get_inline_keyboard(
previous_menu=self.back_option
),
Expand Down
3 changes: 2 additions & 1 deletion app/admin/admin_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ def get_buttons(menu: dict[str, str]) -> list[str]:
SUPPORT_OPTIONS = {
"general_questions": "Общие вопросы",
"problems_with_products": "Проблемы с продуктами",
"callback_request": "Запрос на обратный звонок",
}
SUPPROT_MENU_BUTTONS = get_buttons(SUPPORT_OPTIONS)

Expand Down Expand Up @@ -117,3 +116,5 @@ def get_buttons(menu: dict[str, str]) -> list[str]:
# Константы проекта
PHONE_NUMBER_REGEX = r"(\+\d{5,25}$|\d{5,25}$)"
DATETIME_FORMAT = '%d-%m-%Y %H:%M'
FEEDBACKS_PER_PAGE = 5
REQUESTS_PER_PAGE = 5
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

from .admin import SectionState
from bot.exceptions import message_exception_handler
from crud.about_crud import company_info_crud
from crud import company_info_crud
from admin.filters.filters import ChatTypeFilter, IsManagerOrAdmin
from admin.admin_managers import (
DeleteManager,
Expand Down
11 changes: 6 additions & 5 deletions app/admin/handlers/admin_handlers/admin_category_handlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@
CategoryUpdateState,
CategoryDeleteState,
)
from admin.handlers.admin_handlers.admin_main_handlers import ProductCategory
from admin.handlers.admin_handlers.admin_main_handlers import (
ProductCategoryStates,
)
from admin.admin_settings import (
ADMIN_BASE_OPTIONS,
ADMIN_CONTENT_OPTIONS,
Expand All @@ -26,8 +28,7 @@
)
from admin.keyboards.keyboards import get_inline_keyboard
from bot.exceptions import message_exception_handler
from crud.category_product import category_product_crud
from crud.product_crud import product_crud
from crud import category_product_crud, products_crud

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -67,7 +68,7 @@ async def get_back_to_category_menu(
):
"""Корутина для реализации кнопки 'Назад'."""
fsm_data = await state.get_data()
product = await product_crud.get(fsm_data.get("product_id"), session)
product = await products_crud.get(fsm_data.get("product_id"), session)
categories = await category_product_crud.get_category_by_product_id(
fsm_data.get("product_id"), session
)
Expand All @@ -82,7 +83,7 @@ async def get_back_to_category_menu(
admin_update_menu=callback.data,
),
)
await state.set_state(ProductCategory.product_id)
await state.set_state(ProductCategoryStates.product_id)
logger.info(
f"Пользователь {callback.from_user.id} вернулся в меню категорий."
)
Expand Down
Loading

0 comments on commit 9ee75c5

Please sign in to comment.