summaryrefslogtreecommitdiff
path: root/django/contrib/databrowse/plugins/objects.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/contrib/databrowse/plugins/objects.py')
-rw-r--r--django/contrib/databrowse/plugins/objects.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/django/contrib/databrowse/plugins/objects.py b/django/contrib/databrowse/plugins/objects.py
new file mode 100644
index 0000000000..7326566655
--- /dev/null
+++ b/django/contrib/databrowse/plugins/objects.py
@@ -0,0 +1,14 @@
+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})