multilingual_events.views: 18 total statements, 100.0% covered

Generated: Thu 2013-02-28 16:32 SGT

Source file: /Users/martin/Repos/django-multilingual-events/multilingual_events/views.py

Stats: 14 executed, 0 missed, 4 excluded, 16 ignored

  1. """Views for the ``multilingual_events`` app."""
  2. from django.views.generic import DetailView, TemplateView
  3. from django.utils import timezone
  4. from simple_translation.middleware import filter_queryset_language
  5. from .models import Event
  6. class EventListView(TemplateView):
  7. """A view that lists all upcoming events for the current language."""
  8. template_name = 'multilingual_events/event_list.html'
  9. def get_context_data(self, **kwargs):
  10. ctx = super(EventListView, self).get_context_data(**kwargs)
  11. yesterday = timezone.now().date() - timezone.timedelta(1)
  12. qs = Event.objects.filter(is_published=True)
  13. qs = qs.filter(start_date__gte=yesterday)
  14. upcoming = filter_queryset_language(self.request, qs)
  15. qs = Event.objects.filter(is_published=True)
  16. qs = qs.filter(start_date__lt=yesterday)
  17. archived = filter_queryset_language(self.request, qs)
  18. return {
  19. 'upcoming_events': upcoming,
  20. 'archived_events': archived,
  21. }
  22. class EventDetailView(DetailView):
  23. """A view that displays detailed information about an event."""
  24. model = Event