diff --git a/bot/handlers/admin/promo/create.py b/bot/handlers/admin/promo/create.py
index 7c7137f..6044913 100644
--- a/bot/handlers/admin/promo/create.py
+++ b/bot/handlers/admin/promo/create.py
@@ -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)
await session.commit()
+ # Log successful creation
+ logging.info(f"Promo code '{data['promo_code']}' created with ID {created_promo.promo_code_id}")
+
# Success message
+ valid_until_str = _("admin_promo_unlimited", default="Без ограничений") if not data.get("validity_days") else f"{data['validity_days']} дней"
success_text = _(
"admin_promo_created_success",
default="✅ Промокод успешно создан!\n\n"
"🎟 Код: {code}\n"
"🎁 Бонусные дни: {bonus_days}\n"
"📊 Макс. активаций: {max_activations}\n"
- "⏰ Срок действия: {validity}",
+ "⏰ Срок действия: {valid_until_str}",
code=data["promo_code"],
bonus_days=data["bonus_days"],
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
diff --git a/bot/handlers/admin/promo/manage.py b/bot/handlers/admin/promo/manage.py
index 91fb5a6..a4334ce 100644
--- a/bot/handlers/admin/promo/manage.py
+++ b/bot/handlers/admin/promo/manage.py
@@ -110,7 +110,7 @@ async def promo_management_handler(callback: types.CallbackQuery, i18n_data: dic
builder = InlineKeyboardBuilder()
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})"
builder.row(InlineKeyboardButton(text=button_text, callback_data=f"promo_detail:{promo.promo_code_id}"))