diff options
Diffstat (limited to 'chimere/admin.py')
-rw-r--r-- | chimere/admin.py | 15 |
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', |