Enhance promo code creation and management logging
- Added logging for successful promo code creation, improving traceability of actions. - Updated success message formatting to use a new variable for validity display, enhancing clarity for users. - Refactored variable names in the promo management handler for better readability and consistency.
This commit is contained in:
@@ -345,18 +345,22 @@ async def create_promo_code_final(callback_or_message,
|
|||||||
created_promo = await promo_code_dal.create_promo_code(session, promo_data)
|
created_promo = await promo_code_dal.create_promo_code(session, promo_data)
|
||||||
await session.commit()
|
await session.commit()
|
||||||
|
|
||||||
|
# Log successful creation
|
||||||
|
logging.info(f"Promo code '{data['promo_code']}' created with ID {created_promo.promo_code_id}")
|
||||||
|
|
||||||
# Success message
|
# Success message
|
||||||
|
valid_until_str = _("admin_promo_unlimited", default="Без ограничений") if not data.get("validity_days") else f"{data['validity_days']} дней"
|
||||||
success_text = _(
|
success_text = _(
|
||||||
"admin_promo_created_success",
|
"admin_promo_created_success",
|
||||||
default="✅ <b>Промокод успешно создан!</b>\n\n"
|
default="✅ <b>Промокод успешно создан!</b>\n\n"
|
||||||
"🎟 Код: <code>{code}</code>\n"
|
"🎟 Код: <code>{code}</code>\n"
|
||||||
"🎁 Бонусные дни: <b>{bonus_days}</b>\n"
|
"🎁 Бонусные дни: <b>{bonus_days}</b>\n"
|
||||||
"📊 Макс. активаций: <b>{max_activations}</b>\n"
|
"📊 Макс. активаций: <b>{max_activations}</b>\n"
|
||||||
"⏰ Срок действия: <b>{validity}</b>",
|
"⏰ Срок действия: <b>{valid_until_str}</b>",
|
||||||
code=data["promo_code"],
|
code=data["promo_code"],
|
||||||
bonus_days=data["bonus_days"],
|
bonus_days=data["bonus_days"],
|
||||||
max_activations=data["max_activations"],
|
max_activations=data["max_activations"],
|
||||||
validity=_("admin_promo_unlimited", default="Без ограничений") if not data.get("validity_days") else f"{data['validity_days']} дней"
|
valid_until_str=valid_until_str
|
||||||
)
|
)
|
||||||
|
|
||||||
if hasattr(callback_or_message, 'message'): # CallbackQuery
|
if hasattr(callback_or_message, 'message'): # CallbackQuery
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ async def promo_management_handler(callback: types.CallbackQuery, i18n_data: dic
|
|||||||
|
|
||||||
builder = InlineKeyboardBuilder()
|
builder = InlineKeyboardBuilder()
|
||||||
for promo in promo_models:
|
for promo in promo_models:
|
||||||
status_emoji, _ = get_promo_status_emoji_and_text(promo, i18n, current_lang)
|
status_emoji, status_text = get_promo_status_emoji_and_text(promo, i18n, current_lang)
|
||||||
button_text = f"{status_emoji} {promo.code} ({promo.current_activations}/{promo.max_activations})"
|
button_text = f"{status_emoji} {promo.code} ({promo.current_activations}/{promo.max_activations})"
|
||||||
builder.row(InlineKeyboardButton(text=button_text, callback_data=f"promo_detail:{promo.promo_code_id}"))
|
builder.row(InlineKeyboardButton(text=button_text, callback_data=f"promo_detail:{promo.promo_code_id}"))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user