Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dev to master #40

Merged
merged 24 commits into from
Oct 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
9c39ef7
some fixes
ikhit Oct 18, 2024
dbb9974
change alembic in compose
GreenVibesOnly Oct 18, 2024
c75329b
change alembic in compose
GreenVibesOnly Oct 18, 2024
f780bc6
Merge branch 'master' into Vladimir_ci_cd
GreenVibesOnly Oct 18, 2024
6ceb26f
Merge pull request #34 from AdriYP/Vladimir_ci_cd
GreenVibesOnly Oct 18, 2024
6d58489
fix timer: if can not connect to redis, when set default timer
Rxyalxrd Oct 18, 2024
a7a066b
fix timer
Rxyalxrd Oct 18, 2024
4f6caf2
Merge remote-tracking branch 'upstream/master'
Rxyalxrd Oct 18, 2024
c3eff29
Merge branch 'dev'
GreenVibesOnly Oct 18, 2024
deea98b
Удален redisdata из отслеживания
Rxyalxrd Oct 18, 2024
a7e70ab
update redis compose
GreenVibesOnly Oct 18, 2024
a3e392f
merge repo
Rxyalxrd Oct 18, 2024
5c4f75e
Merge pull request #35 from Rxyalxrd/master
GreenVibesOnly Oct 18, 2024
c9beccf
update gitignore
GreenVibesOnly Oct 18, 2024
8561842
Delete poetry.lock
GreenVibesOnly Oct 18, 2024
bcd7d40
Merge branch 'master' into ikhit-dev
ikhit Oct 19, 2024
03e789f
remove optional try/except blocks
ikhit Oct 19, 2024
cd8110f
add logging to admin_main_menu, add utility function extract_and_unpack
ikhit Oct 20, 2024
f8c7133
refactor crud
ikhit Oct 20, 2024
24e7576
add pagination to feedbacks and callback requests, fix user buttons name
ikhit Oct 20, 2024
637f29c
fix product category url button
ikhit Oct 20, 2024
9ee75c5
Merge pull request #37 from ikhit/ikhit-dev
GreenVibesOnly Oct 20, 2024
cfdd0e0
little fix for user menu in info about company
ikhit Oct 20, 2024
4f9dde1
Merge pull request #38 from ikhit/ikhit-dev
GreenVibesOnly Oct 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -157,3 +157,10 @@ cython_debug/

# PyCharm
.idea/

#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
Loading