From 49ed6495ad296283ee0977777b2b2d8a72bc23af Mon Sep 17 00:00:00 2001 From: substantialnoninfringinguser Date: Fri, 22 May 2009 01:50:16 +0100 Subject: [svn] * Make subcave urls work. * Add json and xml download to admin. --- expo/admin.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'expo/admin.py') diff --git a/expo/admin.py b/expo/admin.py index 3b727d2..9f804c2 100644 --- a/expo/admin.py +++ b/expo/admin.py @@ -4,6 +4,8 @@ from feincms.admin import editor from django.forms import ModelForm import django.forms as forms from expo.forms import LogbookEntryForm +from django.http import HttpResponse +from django.core import serializers #from troggle.reversion.admin import VersionAdmin #django-reversion version control #overriding admin save so we have the new since parsing field @@ -73,7 +75,6 @@ class CaveAdmin(TroggleModelAdmin): class SubcaveAdmin(editor.TreeEditorMixin,TroggleModelAdmin): pass - admin.site.register(Photo) admin.site.register(Subcave, SubcaveAdmin) admin.site.register(Cave, CaveAdmin) @@ -94,6 +95,29 @@ admin.site.register(QM, QMAdmin) admin.site.register(Survey, SurveyAdmin) admin.site.register(ScannedImage) +def export_as_json(modeladmin, request, queryset): + response = HttpResponse(mimetype="text/json") + response['Content-Disposition'] = 'attachment; filename=troggle_output.xml' + serializers.serialize("json", queryset, stream=response) + return response + +admin.site.add_action(export_as_json) + +def export_as_xml(modeladmin, request, queryset): + response = HttpResponse(mimetype="text/xml") + response['Content-Disposition'] = 'attachment; filename=troggle_output.xml' + return response + +admin.site.add_action(export_as_xml) + +def export_as_python(modeladmin, request, queryset): + response = HttpResponse(mimetype="text/python") + response['Content-Disposition'] = 'attachment; filename=troggle_output.py' + serializers.serialize("json", queryset, stream=response) + return response + +admin.site.add_action(export_as_python) + try: mptt.register(Subcave, order_insertion_by=['name']) except mptt.AlreadyRegistered: -- cgit v1.2.3