diff --git a/lottery/draw/admin.py b/lottery/draw/admin.py index 8030a31..26ebe3d 100644 --- a/lottery/draw/admin.py +++ b/lottery/draw/admin.py @@ -12,6 +12,7 @@ from .forms import AddParticipantsForm from webapp.models import Invoice, Client, BindingRequest from bot.notifications import NotificationService from bot.utils import create_bot_instance +from .views import view_draw_results # Настройка логгера logger = logging.getLogger(__name__) @@ -173,8 +174,6 @@ def confirm_draw_result(request, result_id): # Получаем клиента по счету участника client = get_client_by_invoice(result.participant.invoice) - # Если уведомление вызывает ошибки, можно временно его отключить, - # чтобы проверить базовую функциональность подтверждения. if client: try: # Можно попробовать запуск уведомления в отдельном потоке или отключить его временно: @@ -182,7 +181,7 @@ def confirm_draw_result(request, result_id): except Exception as e: logger.error(f"Ошибка отправки уведомления о статусе приза пользователю {client.telegram_id}: {e}") - return HttpResponseRedirect(reverse("admin:start_draw", args=[result.lottery.id])) + return HttpResponseRedirect(reverse("admin:view_draw_results", args=[result.lottery.id])) @admin.register(Lottery) @@ -195,6 +194,8 @@ class LotteryAdmin(admin.ModelAdmin): custom_urls = [ path('/start-draw/', self.admin_site.admin_view(start_draw), name='start_draw'), path('confirm-draw-result//', self.admin_site.admin_view(confirm_draw_result), name='confirm_draw_result'), + path('/view-draw-results/', self.admin_site.admin_view(view_draw_results), name='view_draw_results'), + ] return custom_urls + urls diff --git a/lottery/draw/views.py b/lottery/draw/views.py index 91ea44a..d3f75e7 100644 --- a/lottery/draw/views.py +++ b/lottery/draw/views.py @@ -1,3 +1,12 @@ from django.shortcuts import render +from django.shortcuts import get_object_or_404 +from .models import Lottery, DrawResult -# Create your views here. + +def view_draw_results(request, lottery_id): + lottery = get_object_or_404(Lottery, id=lottery_id) + draw_results = lottery.draw_results.all() + return render(request, "admin/draw_result.html", { + "lottery": lottery, + "draw_results": draw_results + }) \ No newline at end of file diff --git a/lottery/static/upload_image/photo_2025-07-10_09-33-33.jpg b/lottery/static/upload_image/photo_2025-07-10_09-33-33.jpg new file mode 100644 index 0000000..c0ebf8f Binary files /dev/null and b/lottery/static/upload_image/photo_2025-07-10_09-33-33.jpg differ