summaryrefslogtreecommitdiff
path: root/chimere/admin.py
diff options
context:
space:
mode:
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',