diff options
| author | Tolmachev Igor <me@igorek.dev> | 2026-03-26 16:23:52 +0300 |
|---|---|---|
| committer | Tolmachev Igor <me@igorek.dev> | 2026-03-26 16:23:52 +0300 |
| commit | 9c905f22de4fa2e2f60ea9d473c14cb075a244e2 (patch) | |
| tree | 366fa6c5fb5bbe1d29e383effa7df816cadf22a4 /handlers/admin | |
| parent | 4d0f8a48502dfa6bc7e9b39444573fe7377bdfce (diff) | |
| download | vpn_manager_bot-9c905f22de4fa2e2f60ea9d473c14cb075a244e2.tar.gz vpn_manager_bot-9c905f22de4fa2e2f60ea9d473c14cb075a244e2.zip | |
Add invoices command
Diffstat (limited to 'handlers/admin')
| -rw-r--r-- | handlers/admin/new_invoice.py | 4 | ||||
| -rw-r--r-- | handlers/admin/payment_status.py | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/handlers/admin/new_invoice.py b/handlers/admin/new_invoice.py index 43e47cb..f532bff 100644 --- a/handlers/admin/new_invoice.py +++ b/handlers/admin/new_invoice.py | |||
| @@ -18,7 +18,7 @@ from sqlalchemy.ext.asyncio import AsyncSession | |||
| 18 | 18 | ||
| 19 | from libs.fsm import get_data, set_data | 19 | from libs.fsm import get_data, set_data |
| 20 | from libs.msg import send_invoice | 20 | from libs.msg import send_invoice |
| 21 | from models import Invoice, RichText, User | 21 | from models import Invoice, RichText, User, UserRole |
| 22 | 22 | ||
| 23 | router = Router(name="new_invoice") | 23 | router = Router(name="new_invoice") |
| 24 | 24 | ||
| @@ -59,7 +59,7 @@ async def create( | |||
| 59 | state: FSMContext, | 59 | state: FSMContext, |
| 60 | session: AsyncSession, | 60 | session: AsyncSession, |
| 61 | ) -> None: | 61 | ) -> None: |
| 62 | users = await session.scalars(select(User.id).where(User.id != msg.chat.id)) | 62 | users = await session.scalars(select(User.id).where(User.role != UserRole.ADMIN)) |
| 63 | data = await get_data(state, NewInvoiceData) | 63 | data = await get_data(state, NewInvoiceData) |
| 64 | 64 | ||
| 65 | if data.rich_text is None: | 65 | if data.rich_text is None: |
diff --git a/handlers/admin/payment_status.py b/handlers/admin/payment_status.py index 23bde15..8784ac4 100644 --- a/handlers/admin/payment_status.py +++ b/handlers/admin/payment_status.py | |||
| @@ -11,14 +11,18 @@ router = Router(name="payment_status") | |||
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | async def accept(clb: CallbackQuery, bot: Bot, payment: Payment) -> None: | 13 | async def accept(clb: CallbackQuery, bot: Bot, payment: Payment) -> None: |
| 14 | assert clb.message is not None | ||
| 15 | |||
| 14 | payment.status = PaymentStatus.ACCEPTED | 16 | payment.status = PaymentStatus.ACCEPTED |
| 15 | await bot.send_message(clb.from_user.id, "Оплата пользователя подтверждена.") | 17 | await clb.message.reply("Оплата пользователя подтверждена.") |
| 16 | await bot.send_message(payment.user_id, "Файл подтверждения оплаты принят.") | 18 | await bot.send_message(payment.user_id, "Файл подтверждения оплаты принят.") |
| 17 | 19 | ||
| 18 | 20 | ||
| 19 | async def reject(clb: CallbackQuery, bot: Bot, payment: Payment) -> None: | 21 | async def reject(clb: CallbackQuery, bot: Bot, payment: Payment) -> None: |
| 22 | assert clb.message is not None | ||
| 23 | |||
| 20 | payment.status = PaymentStatus.REJECTED | 24 | payment.status = PaymentStatus.REJECTED |
| 21 | await bot.send_message(clb.from_user.id, "Оплата пользователя отклонена.") | 25 | await clb.message.reply("Оплата пользователя отклонена.") |
| 22 | 26 | ||
| 23 | callback_data = PayInvoiceClb(invoice_id=payment.invoice_id).pack() | 27 | callback_data = PayInvoiceClb(invoice_id=payment.invoice_id).pack() |
| 24 | await bot.send_message( | 28 | await bot.send_message( |
