src/metadatacomposer/views.py
author cavaliet
Wed, 15 May 2013 17:21:21 +0200
changeset 4 08d053be2440
child 5 d0447a83ca2b
permissions -rw-r--r--
First home view
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
08d053be2440 First home view
cavaliet
parents:
diff changeset
     1
from django.conf import settings
08d053be2440 First home view
cavaliet
parents:
diff changeset
     2
from django.contrib.auth.models import User
08d053be2440 First home view
cavaliet
parents:
diff changeset
     3
from django.contrib.auth.decorators import login_required
08d053be2440 First home view
cavaliet
parents:
diff changeset
     4
from django.core.exceptions import ObjectDoesNotExist
08d053be2440 First home view
cavaliet
parents:
diff changeset
     5
from django.core.paginator import Paginator, InvalidPage, EmptyPage
08d053be2440 First home view
cavaliet
parents:
diff changeset
     6
from django.http import HttpResponseNotFound, HttpResponse
08d053be2440 First home view
cavaliet
parents:
diff changeset
     7
from django.shortcuts import redirect
08d053be2440 First home view
cavaliet
parents:
diff changeset
     8
from django.utils.decorators import method_decorator
08d053be2440 First home view
cavaliet
parents:
diff changeset
     9
from django.views.generic.base import View, TemplateResponseMixin
08d053be2440 First home view
cavaliet
parents:
diff changeset
    10
from ldt.ldt_utils.models import Project, Content
08d053be2440 First home view
cavaliet
parents:
diff changeset
    11
#import logging
08d053be2440 First home view
cavaliet
parents:
diff changeset
    12
#import re
08d053be2440 First home view
cavaliet
parents:
diff changeset
    13
08d053be2440 First home view
cavaliet
parents:
diff changeset
    14
class MashupContextView(View):
08d053be2440 First home view
cavaliet
parents:
diff changeset
    15
    
08d053be2440 First home view
cavaliet
parents:
diff changeset
    16
    branding = "iri"
08d053be2440 First home view
cavaliet
parents:
diff changeset
    17
    
08d053be2440 First home view
cavaliet
parents:
diff changeset
    18
    def get_context_dict(self, request):
08d053be2440 First home view
cavaliet
parents:
diff changeset
    19
        context = {}
08d053be2440 First home view
cavaliet
parents:
diff changeset
    20
        context["branding"] = self.branding
08d053be2440 First home view
cavaliet
parents:
diff changeset
    21
        context["top_header_partial"] = "partial/%s_composer_header.html" % self.branding
08d053be2440 First home view
cavaliet
parents:
diff changeset
    22
        return context
08d053be2440 First home view
cavaliet
parents:
diff changeset
    23
            
08d053be2440 First home view
cavaliet
parents:
diff changeset
    24
08d053be2440 First home view
cavaliet
parents:
diff changeset
    25
class MetadataComposerHome(TemplateResponseMixin, MashupContextView):
08d053be2440 First home view
cavaliet
parents:
diff changeset
    26
    
08d053be2440 First home view
cavaliet
parents:
diff changeset
    27
    def get_template_names(self):
08d053be2440 First home view
cavaliet
parents:
diff changeset
    28
        return "metadatacomposer_home.html"
08d053be2440 First home view
cavaliet
parents:
diff changeset
    29
    
08d053be2440 First home view
cavaliet
parents:
diff changeset
    30
    @method_decorator(login_required)
08d053be2440 First home view
cavaliet
parents:
diff changeset
    31
    def dispatch(self, *args, **kwargs):
08d053be2440 First home view
cavaliet
parents:
diff changeset
    32
        return super(MetadataComposerHome, self).dispatch(*args, **kwargs)
08d053be2440 First home view
cavaliet
parents:
diff changeset
    33
    
08d053be2440 First home view
cavaliet
parents:
diff changeset
    34
    def get(self, request, branding="iri", **kwargs):
08d053be2440 First home view
cavaliet
parents:
diff changeset
    35
        self.branding = branding
08d053be2440 First home view
cavaliet
parents:
diff changeset
    36
        
08d053be2440 First home view
cavaliet
parents:
diff changeset
    37
        projects = Project.safe_objects.filter(owner=request.user).order_by('-modification_date')[:6]
08d053be2440 First home view
cavaliet
parents:
diff changeset
    38
        contents = Content.safe_objects.order_by('-update_date')[:6]
08d053be2440 First home view
cavaliet
parents:
diff changeset
    39
        
08d053be2440 First home view
cavaliet
parents:
diff changeset
    40
        context = self.get_context_dict(request)
08d053be2440 First home view
cavaliet
parents:
diff changeset
    41
        context.update({"projects":projects, "contents": contents})
08d053be2440 First home view
cavaliet
parents:
diff changeset
    42
        return self.render_to_response(context)
08d053be2440 First home view
cavaliet
parents:
diff changeset
    43
    
08d053be2440 First home view
cavaliet
parents:
diff changeset
    44