diff options
author | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-05-22 01:50:16 +0100 |
---|---|---|
committer | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-05-22 01:50:16 +0100 |
commit | 49ed6495ad296283ee0977777b2b2d8a72bc23af (patch) | |
tree | 07e7be1471f0173ce12c594ec333f7e31302d098 /expo/admin.py | |
parent | 9f13a584984c56dc68a090a0d55575b2cdbedaf5 (diff) | |
download | troggle-49ed6495ad296283ee0977777b2b2d8a72bc23af.tar.gz troggle-49ed6495ad296283ee0977777b2b2d8a72bc23af.tar.bz2 troggle-49ed6495ad296283ee0977777b2b2d8a72bc23af.zip |
[svn] * Make subcave urls work.
* Add json and xml download to admin.
Diffstat (limited to 'expo/admin.py')
-rw-r--r-- | expo/admin.py | 26 |
1 files changed, 25 insertions, 1 deletions
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:
|