<strong>{{webclass_slot.get_day_display}} de
{{webclass_slot.start_hour|date:"H\hi"}} à
{{webclass_slot.end_hour|date:"H\hi"}}</strong>
- avec le professeur <strong>{{webclass_slot.professor.user.last_name}}</strong>.</p>
+ avec le professeur <strong>{{webclass_slot.professor.user.last_name}}</strong>.
+ </p>
+ <p><a href="{% url 'teleforma-webclass-unregister' pk=webclass_slot.id %}" class="component_icon button icon_next">Se désinscrire</a> Vous pourrez ensuite vous inscrire sur un autre créneau.</p>
{% if webclass_slot.status == 'past' %}
<p>
from ..webclass.views import (WebclassAppointment,
WebclassProfessorAppointments,
WebclassRecordsFormView, WebclassRecordView,
- join_webclass)
+ join_webclass, unregister)
urlpatterns = [
url(r'^desk/webclass_appointments/(?P<pk>.*)$', WebclassAppointment.as_view(),
name="teleforma-webclass-record"),
url(r'^webclass/periods/(?P<period_id>.*)/webclass_records_form/$',
WebclassRecordsFormView.as_view(), name="teleforma-webclass-records-form"),
+ url(r'^desk/webclass/(?P<pk>.*)/unregister/$',
+ unregister,
+ name="teleforma-webclass-unregister"),
url(r'^desk/webclass/(?P<pk>.*)/join/$',
join_webclass,
name="teleforma-webclass-join")
+
]
# return data
+
class WebclassRecordView(TemplateView):
template_name = 'webclass/record.html'
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}))