]> git.parisson.com Git - mezzo.git/commitdiff
[Article] : can add Person in related content
authorEmilie <zawadzki@ircam.fr>
Tue, 14 Feb 2017 11:29:39 +0000 (12:29 +0100)
committerEmilie <zawadzki@ircam.fr>
Tue, 14 Feb 2017 11:29:39 +0000 (12:29 +0100)
app/organization/magazine/forms.py
app/organization/magazine/views.py
app/templates/network/person/includes/person_card.html [new file with mode: 0644]

index 7b6f7363247a59328fff06af28ed2ce7f5fb641f..c5144cfc9f0b90c1bfff975c6a1019471c8fddbf 100644 (file)
@@ -25,7 +25,7 @@ import dal_select2_queryset_sequence
 from django import forms
 from organization.magazine.models import *
 from organization.pages.models import CustomPage
-from organization.network.models import PersonListBlock
+from organization.network.models import PersonListBlock, Person
 from mezzanine_agenda.models import Event
 
 class BriefForm(autocomplete.FutureModelForm):
@@ -63,7 +63,8 @@ class DynamicContentArticleForm(autocomplete.FutureModelForm):
         queryset=autocomplete.QuerySetSequence(
             Article.objects.all(),
             Event.objects.all(),
-            CustomPage.objects.all()
+            CustomPage.objects.all(),
+            Person.objects.published()
         ),
         required=False,
         widget=dal_select2_queryset_sequence.widgets.QuerySetSequenceSelect2('dynamic-content-article'),
index 4c680d0adf48badb73a048734a4cbc8df2291058..326053de94a1000fd9dfa4f637ac75ae98b735e6 100644 (file)
@@ -34,7 +34,7 @@ from mezzanine_agenda.models import Event
 from mezzanine.utils.views import paginate
 from mezzanine.conf import settings
 from organization.magazine.models import *
-from organization.network.models import DepartmentPage
+from organization.network.models import DepartmentPage, Person
 from organization.pages.models import CustomPage, DynamicContentPage
 from organization.core.views import SlugMixin, autocomplete_result_formatting
 from django.template.defaultfilters import slugify
@@ -157,13 +157,15 @@ class DynamicContentArticleView(Select2QuerySetSequenceView):
         articles = Article.objects.all()
         events = Event.objects.all()
         pages = CustomPage.objects.all()
+        persons = Person.objects.published()
 
         if self.q:
             articles = articles.filter(title__icontains=self.q)
             events = events.filter(title__icontains=self.q)
             pages = pages.filter(title__icontains=self.q)
+            persons = persons.filter(title__icontains=self.q)
 
-        qs = autocomplete.QuerySetSequence(articles, events, pages)
+        qs = autocomplete.QuerySetSequence(articles, events, pages, persons)
 
         if self.q:
             # This would apply the filter on all the querysets
diff --git a/app/templates/network/person/includes/person_card.html b/app/templates/network/person/includes/person_card.html
new file mode 100644 (file)
index 0000000..04f15c0
--- /dev/null
@@ -0,0 +1,39 @@
+{% extends "core/inc/generic_card.html" %}
+{% load i18n pages_tags mezzanine_tags media_tags organization_tags %}
+
+{% block metatitle %}
+    {{ object.title }}
+{% endblock %}
+
+{% block title %}
+    {{ object.title }}
+{% endblock %}
+
+{% block url %}
+    {% url 'organization-network-person-detail' object.slug %}
+{% endblock %}
+
+{% block image %}
+    {% with object.images.all|get_type:'card' as images %}
+        <div class="article-box__image-container">
+            {% if images %}
+                <figure class="article-box__image">
+                    <img src="{{ MEDIA_URL }}{% thumbnail images.0.file 427 286 top=0.5 left=object.photo_alignment|get_photo_alignment %}" class="lazyload" />
+                </figure>
+            {% else %}
+                <figure class="article-box__image">
+                    {% if object.department %}
+                        <div class="article-box__placeholder {{object.department.name|slugify}}"></div>
+                    {% else %}
+                        <div class="article-box__placeholder"></div>
+                    {% endif %}
+                </figure>
+            {% endif %}
+
+        </div>
+    {% endwith %}
+{% endblock %}
+
+{% block content %}
+    {{ object.bio|richtext_filters|safe|truncatechars_html:200 }}
+{% endblock %}