]> git.parisson.com Git - mezzo.git/commitdiff
[Event] : list archives on the same page
authorEmilie <zawadzki@ircam.fr>
Tue, 14 Feb 2017 11:10:52 +0000 (12:10 +0100)
committerEmilie <zawadzki@ircam.fr>
Tue, 14 Feb 2017 11:10:52 +0000 (12:10 +0100)
app/organization/agenda/urls.py
app/organization/agenda/views.py
app/templates/agenda/event_list.html

index fe74be4fe8e370a09f3b2336dd3218dad1ff5a2a..9346166199f37be86e3cc7dbf7174d9a4397c58f 100644 (file)
@@ -34,6 +34,7 @@ from organization.agenda.views import *
 
 
 urlpatterns = [
+    url("^%s/" % settings.EVENT_SLUG, CustomEventListView.as_view(), name="event_list"),
     url("^%s/" % settings.EVENT_SLUG, include("mezzanine_agenda.urls")),
     url("^%s/confirmation/(?P<transaction_id>[0-9]*)$" % settings.EVENT_SLUG, ConfirmationView.as_view(), name="organization-agenda-confirmation"),
     url("^dynamic-content-event/$",  permission_required('event.can_edit')(DynamicContentEventView.as_view()), name='dynamic-content-event'),
index c530d4081ef3c369e2ca4da39a1db1ac2abb1bf5..6b39fc7d1048259966a093fabd636f34aeeacaab 100644 (file)
@@ -19,6 +19,7 @@
 # You should have received a copy of the GNU Affero General Public License
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
 
+from datetime import datetime
 from django.views.generic.base import TemplateView
 from mezzanine.conf import settings
 from dal import autocomplete
@@ -26,7 +27,9 @@ from dal_select2_queryset_sequence.views import Select2QuerySetSequenceView
 from organization.magazine.models import Article
 from organization.pages.models import CustomPage
 from mezzanine_agenda.models import Event
+from mezzanine_agenda.views import EventListView
 from organization.core.views import autocomplete_result_formatting
+from django.db.models import Q
 
 
 class ConfirmationView(TemplateView):
@@ -66,3 +69,17 @@ class DynamicContentEventView(Select2QuerySetSequenceView):
     def get_results(self, context):
         results = autocomplete_result_formatting(self, context)
         return results
+
+
+class CustomEventListView(EventListView):
+    past_events = []
+
+    def get_queryset(self, tag=None):
+        qs = super(CustomEventListView, self).get_queryset(tag=None)
+        self.past_events = Event.objects.filter(Q(start__lt=datetime.now()) | Q(end__lt=datetime.now())).order_by("start")
+        return qs
+
+    def get_context_data(self, *args, **kwargs):
+        context = super(CustomEventListView, self).get_context_data(**kwargs)
+        context['past_events'] = self.past_events
+        return context
index 86a1923f1ceda01f6f797996077b10c50d94d996..0b934e328cf188f8be097547055a78e3acde3d0b 100644 (file)
                 </div>
             </div>
             <div class="row">
-                {% now "c" as todays_date %}
                 <div class="mb2 col-md-12 col-md-push-2 page__content" data-summary-content>
                     <div class="page__content">
                         <div class="container">
                             {% for event in events.object_list %}
-                                {% if event.start|date:"c" > todays_date %}
-                                    {% include 'agenda/includes/event_linecard.html' %}
-                                {% else %}
-                                    <h2>{% trans "Past Events" %}</h2>
-                                    {% include 'agenda/includes/event_linecard.html' %}
-                                {% endif %}
+                                {% include 'agenda/includes/event_linecard.html' %}
                             {% endfor %}
                         </div>
                     </div>
                 </div>
-
             </div>
+            <div class="row">
+                <div class="mb2 col-md-12 col-md-push-2 page__content" data-summary-content>
+                    <div class="page__content">
+                        <div class="container">
+                            <h2>{% trans "Past Events" %}</h2>
+                            {% for event in past_events %}
+                                {% include 'agenda/includes/event_linecard.html' %}
+                            {% endfor %}
+                        </div>
+                    </div>
+                </div>
+            </div>
+
         </div>
     </div>
 {% endblock %}