From: Yoan Le Clanche Date: Wed, 1 Sep 2021 12:16:27 +0000 (+0200) Subject: https://trackers.pilotsystems.net/prebarreau/0239 : Can now cancel webclass subscription X-Git-Tag: 2.5.0~70 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=5a95c8b1b55ec085bb6a3ae697763caa0dd5f094;p=teleforma.git https://trackers.pilotsystems.net/prebarreau/0239 : Can now cancel webclass subscription --- diff --git a/teleforma/webclass/templates/webclass/inc/webclass_list.html b/teleforma/webclass/templates/webclass/inc/webclass_list.html index 962b8786..a344786b 100644 --- a/teleforma/webclass/templates/webclass/inc/webclass_list.html +++ b/teleforma/webclass/templates/webclass/inc/webclass_list.html @@ -15,7 +15,9 @@ {{webclass_slot.get_day_display}} de {{webclass_slot.start_hour|date:"H\hi"}} à {{webclass_slot.end_hour|date:"H\hi"}} - avec le professeur {{webclass_slot.professor.user.last_name}}.

+ avec le professeur {{webclass_slot.professor.user.last_name}}. +

+

Se désinscrire Vous pourrez ensuite vous inscrire sur un autre créneau.

{% if webclass_slot.status == 'past' %}

diff --git a/teleforma/webclass/urls.py b/teleforma/webclass/urls.py index fdc9c35e..7cc6b9cf 100644 --- a/teleforma/webclass/urls.py +++ b/teleforma/webclass/urls.py @@ -37,7 +37,7 @@ from django.conf.urls import url from ..webclass.views import (WebclassAppointment, WebclassProfessorAppointments, WebclassRecordsFormView, WebclassRecordView, - join_webclass) + join_webclass, unregister) urlpatterns = [ url(r'^desk/webclass_appointments/(?P.*)$', WebclassAppointment.as_view(), @@ -48,7 +48,11 @@ urlpatterns = [ name="teleforma-webclass-record"), url(r'^webclass/periods/(?P.*)/webclass_records_form/$', WebclassRecordsFormView.as_view(), name="teleforma-webclass-records-form"), + url(r'^desk/webclass/(?P.*)/unregister/$', + unregister, + name="teleforma-webclass-unregister"), url(r'^desk/webclass/(?P.*)/join/$', join_webclass, name="teleforma-webclass-join") + ] diff --git a/teleforma/webclass/views.py b/teleforma/webclass/views.py index cced620e..32702359 100644 --- a/teleforma/webclass/views.py +++ b/teleforma/webclass/views.py @@ -151,6 +151,7 @@ class WebclassAppointment(View): # return data + class WebclassRecordView(TemplateView): template_name = 'webclass/record.html' @@ -207,3 +208,20 @@ def join_webclass(request, pk): return redirect(webclass_slot.get_join_webclass_url(request, user)) else: return HttpResponse('Unauthorized', status=401) + + +@access_required +def unregister(request, pk): + """ + Unregister to a webclass + """ + webclass_slot = WebclassSlot.objects.get(pk=int(pk)) + user = request.user + + if user in webclass_slot.participants.all(): + webclass_slot.participants.remove(user) + + messages.add_message(request, messages.INFO, + "Votre réservation a été annulé.") + # redirect to register form + return redirect(reverse("teleforma-webclass-appointments", kwargs={'pk':webclass_slot.webclass.id}))