Source code for msgvis.apps.base.views

from django.views import generic
from django.http import Http404
from django.utils.translation import ugettext as _

from msgvis.apps.corpus import models as corpus_models
from django.contrib.auth.decorators import login_required


[docs]class LoginRequiredMixin(object): """A mixin that forces a login to view the CBTemplate.""" @classmethod def as_view(cls, **initkwargs): view = super(LoginRequiredMixin, cls).as_view(**initkwargs) return login_required(view)
[docs]class HomeView(LoginRequiredMixin, generic.TemplateView): """The homepage view for the website.""" template_name = 'home.html'
[docs]class ExplorerView(generic.DetailView): """The view for the visualization tool.""" template_name = 'explorer.html' pk_url_kwarg = 'dataset_pk' default_dataset_pk = 1 def get_queryset(self): return corpus_models.Dataset.objects.all() def get_object(self, queryset=None): if queryset is None: queryset = self.get_queryset() pk = self.kwargs.get(self.pk_url_kwarg, None) if pk is None: pk = self.default_dataset_pk queryset = queryset.filter(pk=pk) try: # Get the single item from the filtered queryset obj = queryset.get() except queryset.model.DoesNotExist: raise Http404(_("No %(verbose_name)s found matching the query") % {'verbose_name': queryset.model._meta.verbose_name}) return obj
[docs]class GrouperView(LoginRequiredMixin, generic.DetailView): """The view for the visualization tool.""" template_name = 'grouper.html' pk_url_kwarg = 'dataset_pk' default_dataset_pk = 1 def get_queryset(self): return corpus_models.Dataset.objects.all() def get_object(self, queryset=None): if queryset is None: queryset = self.get_queryset() pk = self.kwargs.get(self.pk_url_kwarg, None) if pk is None: pk = self.default_dataset_pk queryset = queryset.filter(pk=pk) try: # Get the single item from the filtered queryset obj = queryset.get() except queryset.model.DoesNotExist: raise Http404(_("No %(verbose_name)s found matching the query") % {'verbose_name': queryset.model._meta.verbose_name}) return obj