From 40a9ce6531aeef8cba8e072bd2fe6f47482f3cef Mon Sep 17 00:00:00 2001 From: Qwann Date: Sat, 24 Nov 2018 16:53:54 +0100 Subject: [PATCH] mes perms --- event/templates/event/event.html | 13 +++++++++++++ event/urls.py | 5 +++-- event/views.py | 21 +++++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/event/templates/event/event.html b/event/templates/event/event.html index 115cda2..866987a 100644 --- a/event/templates/event/event.html +++ b/event/templates/event/event.html @@ -32,8 +32,21 @@ Calendrier + {% if staffuser %} + + Toutes les activités + + {% else %} + + Mes perms + + {% endif %} + {% if staffuser %} +

Perms de {{ staffuser.first_name }} {{ staffuser.last_name }}

+ {% else %}

Planning

+ {% endif %}
{% regroup activities by beginning|date:"Y-m-d" as days_list %} diff --git a/event/urls.py b/event/urls.py index c27f6c9..0d86600 100644 --- a/event/urls.py +++ b/event/urls.py @@ -1,11 +1,12 @@ from django.conf.urls import url -from event.views import Index, EventView, ActivityView, EnrolActivityView, EventCalendar +from event.views import Index, EventView, EventViewStaff, ActivityView, EnrolActivityView, EventCalendar app_name = 'event' urlpatterns = [ # url(r'^$', Index.as_view(), name='index'), url(r'^(?P[-\w]+)/$', EventView.as_view(), name='event'), - url(r'^(?P[-\w]+)/calendar$', EventCalendar.as_view(), name='calendar'), + url(r'^(?P[-\w]+)/s/(?P[-\w]+)/$', EventViewStaff.as_view(), name='event-staff'), + url(r'^(?P[-\w]+)/calendar/$', EventCalendar.as_view(), name='calendar'), url(r'^activity/(?P[0-9]+)/$', ActivityView.as_view(), name='activity'), url(r'^activity/(?P[0-9]+)/enrol/$', diff --git a/event/views.py b/event/views.py index 62da531..1c0b388 100644 --- a/event/views.py +++ b/event/views.py @@ -1,5 +1,6 @@ from django.views.generic import TemplateView, DetailView, View from django.contrib.auth.mixins import LoginRequiredMixin +from django.contrib.auth import get_user_model from django.shortcuts import get_object_or_404, render from django.http import JsonResponse, HttpResponseRedirect from django.urls import reverse @@ -7,6 +8,8 @@ from django.urls import reverse from .models import Event, Activity from equipment.models import EquipmentAttribution +User = get_user_model() + class Index(TemplateView): template_name = "event/index.html" @@ -38,6 +41,24 @@ class EventView(LoginRequiredMixin, DetailView): return context +class EventViewStaff(LoginRequiredMixin, DetailView): + model = Event + template_name = 'event/event.html' + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + user = User.objects.get(username=self.kwargs['username']) + event = self.object + context['staffuser'] = user + context['activities'] = (user.in_perm_activities + .filter(event=event) + .order_by('beginning') + .prefetch_related( + 'tags', 'places', 'staff', 'parent') + ) + return context + + class ActivityView(LoginRequiredMixin, DetailView): model = Activity template_name = 'event/activity.html'