app/django/contrib/databrowse/plugins/objects.py
author Todd Larsen <tlarsen@google.com>
Sat, 18 Oct 2008 05:11:37 +0000
changeset 377 d94ec6f104cc
parent 54 03e267d67478
permissions -rw-r--r--
Refactor various site views into more generic locations, in preparation for using access permissions to decide the fuctionality in the view, instead of having lots of cut-and-paste copies of the same view functions. site/home.py into more generic home.py site/settings.py into more generic settings.py site/docs/list.py into more generic docs/list.py site/docs/edit.py into more generic docs/edit.py Patch by: Todd Larsen Review by: to-be-reviewed

from django import http
from django.contrib.databrowse.datastructures import EasyModel
from django.contrib.databrowse.sites import DatabrowsePlugin
from django.shortcuts import render_to_response
import urlparse

class ObjectDetailPlugin(DatabrowsePlugin):
    def model_view(self, request, model_databrowse, url):
        # If the object ID wasn't provided, redirect to the model page, which is one level up.
        if url is None:
            return http.HttpResponseRedirect(urlparse.urljoin(request.path, '../'))
        easy_model = EasyModel(model_databrowse.site, model_databrowse.model)
        obj = easy_model.object_by_pk(url)
        return render_to_response('databrowse/object_detail.html', {'object': obj, 'root_url': model_databrowse.site.root_url})