Skip to content

Commit 779366d

Browse files
committed
fixes
1 parent 0d6a2e9 commit 779366d

3 files changed

Lines changed: 19 additions & 11 deletions

File tree

handlers/user/all_categories.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,20 @@ async def all_categories(**kwargs):
4545
language: Language = kwargs.get("language")
4646
state_data = await state.get_data()
4747
if callback_data.is_filter_enabled and state_data.get('filter') is not None:
48-
msg, kb_builder = await CategoryService.get_buttons(callback_data, state, session, language)
48+
media, kb_builder = await CategoryService.get_buttons(callback_data, state, session, language)
4949
elif callback_data.is_filter_enabled:
50-
msg, kb_builder = await enable_search(callback_data,
50+
item_type_value = callback_data.item_type.value if callback_data.item_type else None
51+
media, kb_builder = await enable_search(callback_data,
5152
EntityType.CATEGORY,
52-
{"item_type": callback_data.item_type.value},
53+
{"item_type": item_type_value},
5354
state,
5455
UserStates.filter_items,
5556
language)
5657
else:
5758
await state.update_data(filter=None)
5859
await state.set_state()
59-
msg, kb_builder = await CategoryService.get_buttons(callback_data, state, session, language)
60-
await callback.message.edit_caption(caption=msg, reply_markup=kb_builder.as_markup())
60+
media, kb_builder = await CategoryService.get_buttons(callback_data, state, session, language)
61+
await callback.message.edit_media(media=media, reply_markup=kb_builder.as_markup())
6162

6263

6364
async def show_subcategories_in_category(**kwargs):
@@ -70,10 +71,11 @@ async def show_subcategories_in_category(**kwargs):
7071
if callback_data.is_filter_enabled and state_data.get('filter') is not None:
7172
media, kb_builder = await SubcategoryService.get_buttons(callback_data, state, session, language)
7273
elif callback_data.is_filter_enabled:
74+
item_type_value = callback_data.item_type.value if callback_data.item_type else None
7375
media, kb_builder = await enable_search(callback_data,
7476
EntityType.SUBCATEGORY,
7577
{"category_id": callback_data.category_id,
76-
"item_type": callback_data.item_type.value},
78+
"item_type": item_type_value},
7779
state,
7880
UserStates.filter_items,
7981
language)

services/category.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ async def get_buttons(
2424
state: FSMContext,
2525
session: AsyncSession,
2626
language: Language
27-
) -> tuple[str, InlineKeyboardBuilder]:
27+
) -> tuple[InputMediaPhoto |
28+
InputMediaAnimation |
29+
InputMediaVideo, InlineKeyboardBuilder]:
2830
state_data = await state.get_data()
2931
callback_data = callback_data or AllCategoriesCallback.create(1, **state_data.get("entity_id_dict"))
3032
sort_pairs, filters = await get_filters_settings(state, callback_data)
@@ -43,14 +45,14 @@ async def get_buttons(
4345

4446
has_categories = len(categories) > 0
4547
if not has_categories:
46-
msg = get_text(language, BotEntity.USER, "no_categories")
48+
caption = get_text(language, BotEntity.USER, "no_categories")
4749
else:
4850
kb_builder.adjust(2)
4951
if callback_data.item_type:
5052
item_type = callback_data.item_type.get_localized(language)
5153
else:
5254
item_type = get_text(language, BotEntity.COMMON, "all")
53-
msg = get_text(language, BotEntity.USER, "pick_category").format(
55+
caption = get_text(language, BotEntity.USER, "pick_category").format(
5456
item_type=item_type
5557
)
5658
kb_builder.row(
@@ -68,4 +70,8 @@ async def get_buttons(
6870
kb_builder, callback_data, CategoryRepository.get_maximum_page(filters, session),
6971
callback_data.get_back_button(language, 0), language
7072
)
71-
return msg, kb_builder
73+
button_media = await ButtonMediaRepository.get_by_button(
74+
KeyboardButton.ALL_CATEGORIES, session
75+
)
76+
media = MediaService.convert_to_media(button_media.media_id, caption=caption)
77+
return media, kb_builder

services/subcategory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ async def get_buttons(callback_data: AllCategoriesCallback | None,
2929
InputMediaAnimation |
3030
InputMediaVideo, InlineKeyboardBuilder]:
3131
state_data = await state.get_data()
32-
callback_data = callback_data or AllCategoriesCallback.create(1, **state_data.get("entity_id_dict"))
32+
callback_data = callback_data or AllCategoriesCallback.create(2, **state_data.get("entity_id_dict"))
3333
sort_pairs, filters = await get_filters_settings(state, callback_data)
3434
kb_builder = InlineKeyboardBuilder()
3535
items = await SubcategoryRepository.get_paginated_by_category_id(sort_pairs, filters,

0 commit comments

Comments
 (0)