]> git.parisson.com Git - mezzo.git/commitdiff
Better activity filtering, fix article slug
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Mon, 7 Nov 2016 11:02:07 +0000 (12:02 +0100)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Mon, 7 Nov 2016 11:02:07 +0000 (12:02 +0100)
app/organization/core/templatetags/organization_tags.py
app/organization/magazine/views.py
app/scripts/app.sh
app/templates/pages/teampage.html

index 278ca8c0c05dbfb7d9dee5b6d2e93d5939f27f67..f5144a899c8407c3204fe6b8afb4f053570ca93c 100644 (file)
@@ -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
index d8a1b2b9e4db2d45e9745aa0b5e6f43e9866cc19..0b7f10a9e5395f08023c34b4c6caebff4ac1088b 100644 (file)
@@ -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)
index 5fc880f2fb0a49e50daf7f0bc986e7e8f34ae916..9def9e178cc2d4859f763f3b053258ea63c069eb 100644 (file)
@@ -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
index 48882be5d8efa4c4441e2fc55c0c60dd197847ac..39bdfcab88fe94976bb5aaf67a1058841d7e7e19 100644 (file)
     <div class="container">
       {% 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 %}
-            <br/>
+          {% with page.teampage.team|get_team_persons:status as persons %}
+            {% if persons %}
+                {{ status.name }} :
+                {% for person in persons %}
+                    <a href="{% url 'organization-network-person-detail' person.slug %}">{{ person.title }}</a>{% if not forloop.last %}, {% endif %}
+                {% endfor %}
+                <br/>
+            {% endif %}
+          {% endwith %}
         {% endfor %}
     </div>
 </div>