Skip to content

Commit

Permalink
Merge pull request #20 from Funtech-3/ft/tickets_views_to_v1
Browse files Browse the repository at this point in the history
Ft/tickets views to v1
  • Loading branch information
Denis-Shtanskiy committed Apr 16, 2024
2 parents 7e676b3 + 906286d commit 63b4ad0
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 8 deletions.
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,5 +160,14 @@ backend:
Telegram: @shtanskiy
- Ira Vorontsova /
Telegram: @ivory_iv
- Oleg Chugmarov /
- Oleg Chuzhmarov /
Telegram: @chtiger4


### Как работает функция регистрации на событие и получение билета
1. Пользователь на странице события создает заявку на регистрацию на событие.
2. При создании заявки по умолчанию присваивается статус "Ожидает подтверждения".
3. Изменить статус заявки можно в административной панели Django в разделе "Регистрация".
4. При изменении статуса заявки на "Подтверждена", отображается как "Вы участвуете":
- идентификатор и UUID-код билета становятся доступны на соответствующих эндпоинтах API,
- пользователю по электронной почте отправляется письмо с билетом на событие, в письме содержится qr-код билета.
6 changes: 3 additions & 3 deletions backend/api/v1/urls.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from api.v1.views_tickets import CheckTicketViewSet, UserTicketViewSet
from django.urls import include, path
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView
from events.views import EventViewSet, FavoriteView
from rest_framework import routers
from tickets.views import CheckTicketViewSet, UserTicketViewSet
from users.views import (
CitiesListView,
CustomUserViewSet,
Expand Down Expand Up @@ -32,9 +32,9 @@
name="user-notifications",
),
path(
'events/<str:event_slug>/favorite/',
"events/<str:event_slug>/favorite/",
FavoriteView.as_view(),
name="event-favorite"
name="event-favorite",
),
path("", include(router_v1.urls)),
path("schema/", SpectacularAPIView.as_view(), name="schema"),
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion backend/tickets/email_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def prepare_MIME_image_for_email(image: bytes) -> MIMEImage:


def extract_ticket_info(ticket: Registration) -> dict:
"""Извлекает данные из моделей о событие и регистрации для отправки,
"""Извлекает данные из моделей о событии и регистрации для отправки,
билета."""
result = dict(
event_name=ticket.event.title,
Expand Down
5 changes: 2 additions & 3 deletions backend/tickets/signals.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
from django.db.models.signals import post_save, pre_save
from django.db.models.signals import pre_save
from django.dispatch import receiver
from tickets.email_utils import send_ticket_info
from tickets.models import Registration
from users.models import NotificationSwitch


@receiver(pre_save, sender=Registration)
def watch_registration_status(sender, instance, **kwargs):
def registration_status_pre_save_signal(sender, instance, **kwargs):
"""Сигнал для модели Registration отслеживает событие перед сохранение.
Если статус регистрации меняется на CONFIRMED и включены уведомления
на email, на почту клиента."""
Expand Down

0 comments on commit 63b4ad0

Please sign in to comment.