Commit Graph

70 Commits

Author SHA1 Message Date
Egor
dbf4c1f521 Update users.py 2026-01-16 06:12:01 +03:00
Egor
9d1b4bcb54 Update users.py 2026-01-13 00:22:32 +03:00
Egor
cd0a25abec Update users.py 2026-01-10 18:17:10 +03:00
Egor
60a38d3ea6 Add files via upload 2026-01-07 03:18:46 +03:00
Egor
a981bf2ae0 Add files via upload 2026-01-07 02:15:16 +03:00
gy9vin
096b4d4fe3 fix Отправка сообщения пользователю из карточки
1. app/handlers/admin/users.py
  - Добавлен параметр parse_mode="HTML" в send_message для поддержки HTML-форматирования
  - Добавлен вызов await state.clear() при ошибке BadRequest для очистки состояния FSM
2025-12-30 22:48:15 +03:00
gy9vin
25dc7ff624 fix Добавлена фильтрация пользователей по балансу 2025-12-30 22:07:26 +03:00
gy9vin
1233d38fe1 fix Добавлена функция покупки подписки администратором с преобразованием триала в безлимитную подписку 2025-12-30 21:54:02 +03:00
gy9vin
23f8bdfbec feat(restrictions): добавить систему ограничений пользователей
Добавлена возможность ограничивать пользователям:
  - Пополнение баланса (restriction_topup)
  - Покупку/продление подписки (restriction_subscription)

  Изменения:
  - models.py: добавлены поля restriction_topup, restriction_subscription,
    restriction_reason и property has_restrictions
  - universal_migration.py: миграция для новых полей
  - admin/users.py: меню управления ограничениями в карточке пользователя
  - keyboards/admin.py: клавиатура ограничений с toggle-кнопками
  - states.py: состояние editing_user_restriction_reason

  Проверки ограничений добавлены на двух уровнях:
  - start_*_payment: при выборе метода оплаты
  - process_*_payment_amount: при создании платежа

  Затронутые провайдеры: stars, yookassa, mulenpay, wata, pal24,
  cryptobot, heleket, platega, tribute, cloudpayments

  При ограничении пользователь видит причину и кнопку "Обжаловать",
  ведущую на контакт поддержки из настроек.
2025-12-28 13:32:04 +03:00
gy9vin
90c3df6331 Добавлен функционал подключения модема к подписке
Изменения:
- Добавлены настройки модема в .env.example и config.py (MODEM_ENABLED, MODEM_PRICE_PER_MONTH, MODEM_PERIOD_DISCOUNTS)
- Добавлено поле modem_enabled в модель Subscription
- Реализован модуль handlers/subscription/modem.py с обработчиками подключения/отключения модема
- Добавлено управ
2025-12-25 14:26:15 +03:00
gy9vin
5dd586e0b2 Новый фильтр Готовы к продлению 2025-12-11 22:42:37 +03:00
gy9vin
c9de084efa Фикс корзины 2025-12-11 22:25:42 +03:00
Egor
f40f233562 Add universal migration for referral commission column 2025-11-24 05:27:04 +03:00
Egor
cb6d51ed3d Remove trial squad override setting 2025-11-08 07:55:24 +03:00
Pavel Stryuk
bd73ad069f 1) Отображение скидки на кнопках (красивое!)
2) У промогрупп появится приоритет
3) У пользователя может быть несколько промогрупп, но влиять будет только с наивысшим приоритетом
4) Промокоды с промогруппой
5) При выводе пользователей с промогруппой будет также выводиться ссылка на каждого. Можно будет отследить сливы промокодов "для своих". Я в целом это добавлю во все места, где пользователь выводится в админке
6) Исправить баг исчезновения триалки при пополнении
7) Исправить падающие тесты и добавить новых
8) Трафик: 0 ГБ в тестовой подписке исправить на Трафик: Безлимит
9) При попытке изменить промогруппу "Пользователь не найден" - исправил
2025-11-04 20:36:01 +01:00
Pavel Stryuk
427011fe41 1) Отображение скидки на кнопках (красивое!)
2) У промогрупп появится приоритет
3) У пользователя может быть несколько промогрупп, но влиять будет только с наивысшим приоритетом
4) К промокодам можно будет добавить промогруппу. Все активировавшие промокод получат её
5) При выводе пользователей с промогруппой будет также выводиться ссылка на каждого. Можно будет отследить сливы промокодов "для своих". Я в целом это добавлю во все места, где пользователь выводится в админке
6) Исправить баг исчезновения триалки при пополнении
7) Исправить падающие тесты и добавить новых
8) Трафик: 0 ГБ в тестовой подписке исправить на Трафик: Безлимит
2025-11-04 13:05:02 +01:00
Egor
165691412b Clear referral edit state when returning to list 2025-11-01 01:58:08 +03:00
Egor
2af013b75b Add template support for RemnaWave usernames 2025-10-31 21:31:54 +03:00
Egor
8407f7cdb1 Restore device management button in disabled mode 2025-10-31 19:15:48 +03:00
gy9vin
8415c68063 Отправка конкретному пользователю сообщения непосредственно из карточки пользователя 2025-10-18 20:56:22 +03:00
Egor
d13ff6830b Gate server counter updates for paid subscriptions 2025-10-08 07:54:31 +03:00
Egor
6b2af1f4a3 feat: randomize trial squad distribution 2025-10-08 06:07:31 +03:00
Egor
6fc4eb033b Allow admins to decrease subscription days 2025-10-08 04:56:33 +03:00
Egor
68a37fcf72 Revert "Add promo template editing workflow and restrictions" 2025-10-07 01:21:20 +03:00
Egor
b38ee36698 Add promo template editing workflow and restrictions 2025-10-07 01:19:05 +03:00
Egor
efd4eda62a Add English localization for admin user view 2025-10-01 01:04:05 +03:00
gy9vin
0f621bfe5a Revert "Оживление виджета "Детальная статистика пользователей""
This reverts commit 400cc5a32e.
2025-09-30 12:42:17 +03:00
gy9vin
c344f418c5 Расширение фильтров 2025-09-30 12:39:15 +03:00
gy9vin
400cc5a32e Оживление виджета "Детальная статистика пользователей" 2025-09-30 11:55:04 +03:00
Egor
90c5b1d003 feat: expand admin notifications for promo events 2025-09-30 02:06:31 +03:00
Egor
53f1831f59 Fix admin user subscription stats 2025-09-29 17:37:20 +03:00
Egor
ec9855a0a9 Fix admin subscription price calculation 2025-09-29 14:57:47 +03:00
Egor
14bdfd4a1e Add configurable trial rollover for paid subscriptions 2025-09-29 14:02:14 +03:00
PEDZEO
5d44285c0a feat(support/tickets): Telegram ID/username в уведомлениях/админке, кнопки «Профиль/ЛС», возврат к тикету 2025-09-28 20:31:47 +03:00
Egor
b5cb547fe2 Make RemnaWave settings configurable via admin panel 2025-09-25 23:16:31 +03:00
Egor
19804607ac Revert "Add promo group add-on discount toggle" 2025-09-25 13:10:03 +03:00
Egor
b53a54a237 feat: add toggle for promo group addon discounts 2025-09-25 13:07:03 +03:00
Egor
25eff6929b Revert "Add promo group toggle for add-on discounts" 2025-09-25 12:45:24 +03:00
Egor
9c572a2771 Add promo group option for add-on discounts 2025-09-25 12:43:13 +03:00
Egor
44d249ad5b Revert "feat: support auto promo group assignment by spending" 2025-09-23 04:17:17 +03:00
Egor
7f62af6955 feat: support auto promo group assignment by spending 2025-09-23 03:53:00 +03:00
Egor
97c8ddf4e1 Add advertising campaign stats to admin user info 2025-09-23 02:54:19 +03:00
Egor
598dd8b6c1 Add promo group management to admin user profile 2025-09-20 08:35:06 +03:00
Egor
ec1b459689 Unify admin subscription and settings menu 2025-09-19 15:36:11 +03:00
gy9vin
7f4899b885 Добавлена фильтрация пользователей по балансу 2025-09-19 08:40:29 +03:00
Egor
ac1b0ec8b3 Update users.py 2025-09-19 03:25:06 +03:00
gy9vin
03856d30ec Добавлена функция покупки подписки администратором с преобразованием триала в безлимитную подписку 2025-09-18 23:50:01 +03:00
Legacyyy777
d29ad223a7 Добавлено уведомление пользователю о пополнении/списании баланса. Реализована отправка сообщений через Telegram-бота с информацией о транзакции и администраторе, выполнившем операцию. 2025-09-17 19:22:43 +05:00
yazhog
e2408702ea Update description when refreshing RemnaWave users 2025-09-15 21:22:01 +03:00
Egor
0c4ea86e03 Update users.py 2025-09-13 09:29:26 +03:00