From 77bc6cf531d5ee52975b46fd85ce2e5ab55eae40 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Mon, 7 Nov 2016 12:02:07 +0100 Subject: [PATCH] Better activity filtering, fix article slug --- .../core/templatetags/organization_tags.py | 5 +++-- app/organization/magazine/views.py | 4 ++-- app/scripts/app.sh | 2 +- app/templates/pages/teampage.html | 14 +++++++++----- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/app/organization/core/templatetags/organization_tags.py b/app/organization/core/templatetags/organization_tags.py index 278ca8c0..f5144a89 100644 --- a/app/organization/core/templatetags/organization_tags.py +++ b/app/organization/core/templatetags/organization_tags.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +import datetime from django.http import QueryDict from mezzanine.pages.models import Page from mezzanine.blog.models import BlogPost @@ -135,9 +136,9 @@ def activity_statuses(*args): return ActivityStatus.objects.filter(display=True) @register.filter -def get_team_persons(status, team): +def get_team_persons(team, status): persons = [] - for activity in status.activities.filter(teams__in=[team]): + for activity in status.activities.filter(teams__in=[team], date_to__gte=datetime.date.today()): if not activity.person in persons: persons.append(activity.person) return persons diff --git a/app/organization/magazine/views.py b/app/organization/magazine/views.py index d8a1b2b9..0b7f10a9 100644 --- a/app/organization/magazine/views.py +++ b/app/organization/magazine/views.py @@ -25,9 +25,9 @@ class ArticleDetailView(SlugMixin, DetailView): template_name='magazine/article/article_detail.html' context_object_name = 'article' - def get_object(self, **kwargs): + def get_object(self): articles = self.model.objects.published(for_user=self.request.user).select_related() - return get_object_or_404(articles, slug=kwargs['slug']) + return get_object_or_404(articles, slug=self.kwargs['slug']) def get_context_data(self, **kwargs): context = super(ArticleDetailView, self).get_context_data(**kwargs) diff --git a/app/scripts/app.sh b/app/scripts/app.sh index 5fc880f2..9def9e17 100644 --- a/app/scripts/app.sh +++ b/app/scripts/app.sh @@ -18,7 +18,7 @@ gid='www-data' patterns='*.js;*.css;*.jpg;*.jpeg;*.gif;*.png;*.svg;*.ttf;*.eot;*.woff;*.woff2' # Staging -pip install xlrd +# pip install xlrd # pip install -U https://forge.ircam.fr/p/django-eve/source/download/dev/ # pip install https://forge.ircam.fr/p/django-prestashop/source/download/master/ --src /srv/lib # pip install -U https://github.com/stephenmcd/grappelli-safe/archive/dynamic_stacked.zip diff --git a/app/templates/pages/teampage.html b/app/templates/pages/teampage.html index 48882be5..39bdfcab 100644 --- a/app/templates/pages/teampage.html +++ b/app/templates/pages/teampage.html @@ -80,11 +80,15 @@
{% activity_statuses as statuses %} {% for status in statuses %} - {{ status.name }} : - {% for person in status|get_team_persons:page.teampage.team %} - {{ person.title }}{% if not forloop.last %}, {% endif %} - {% endfor %} -
+ {% with page.teampage.team|get_team_persons:status as persons %} + {% if persons %} + {{ status.name }} : + {% for person in persons %} + {{ person.title }}{% if not forloop.last %}, {% endif %} + {% endfor %} +
+ {% endif %} + {% endwith %} {% endfor %}
-- 2.39.5