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'),
# 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
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):
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
</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 %}