summaryrefslogtreecommitdiff
path: root/chimere/admin.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-09-18 01:21:02 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-09-18 01:21:02 +0200
commit919f1da7d1afac6c39bc12f86b979272b0dd5483 (patch)
tree9239f3ee7af9289fa3b417d6494948c7bd210c3b /chimere/admin.py
parent432e3ee5db3745502e47091199d9677f00d69339 (diff)
downloadChimère-919f1da7d1afac6c39bc12f86b979272b0dd5483.tar.bz2
Chimère-919f1da7d1afac6c39bc12f86b979272b0dd5483.zip
Work on CSV export
Diffstat (limited to 'chimere/admin.py')
-rw-r--r--chimere/admin.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/chimere/admin.py b/chimere/admin.py
index 3e2bb16..d215d84 100644
--- a/chimere/admin.py
+++ b/chimere/admin.py
@@ -39,7 +39,8 @@ from chimere.forms import MarkerAdminForm, RouteAdminForm, AreaAdminForm,\
from chimere.models import Category, Icon, SubCategory, Marker, \
PropertyModel, News, Route, Area, ColorTheme, Color, RouteFile,\
MultimediaType, MultimediaFile, PictureFile, Importer, Layer, AreaLayers
-from chimere.utils import unicode_normalize, ShapefileManager, KMLManager
+from chimere.utils import unicode_normalize, ShapefileManager, KMLManager,\
+ CSVManager
from chimere.widgets import TextareaWidget
def get_areas_for_user(user):
@@ -86,6 +87,16 @@ def export_to_shapefile(modeladmin, request, queryset):
return response
export_to_shapefile.short_description = _(u"Export to Shapefile")
+def export_to_csv(modeladmin, request, queryset):
+ u"""
+ Export data to CSV
+ """
+ filename, result = CSVManager.export(queryset)
+ response = HttpResponse(result, mimetype='text/csv')
+ response['Content-Disposition'] = 'attachment; filename=%s' % filename
+ return response
+export_to_csv.short_description = _(u"Export to CSV")
+
class PictureInline(admin.TabularInline):
model = PictureFile
extra = 1
@@ -101,7 +112,7 @@ class MarkerAdmin(admin.ModelAdmin):
search_fields = ("name",)
list_display = ('name', 'status')
list_filter = ('status', 'categories')
- actions = [validate, export_to_kml, export_to_shapefile]
+ actions = [validate, export_to_kml, export_to_shapefile, export_to_csv]
exclude = ['submiter_session_key', 'import_key', 'import_version',
'available_date']
readonly_fields = ['submiter_email', 'submiter_comment', 'import_source',