diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-03-17 00:49:22 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-03-17 00:49:22 +0100 |
commit | 105149b7810cc459662368d6275e88ba328e44d0 (patch) | |
tree | 292c946e593ec6227854f2eee835720bee01ee3b /chimere/admin.py | |
parent | 9a794edbffbb3a178138fac3ded0b516c4ced9a7 (diff) | |
download | Chimère-105149b7810cc459662368d6275e88ba328e44d0.tar.bz2 Chimère-105149b7810cc459662368d6275e88ba328e44d0.zip |
Add import task using celery
Diffstat (limited to 'chimere/admin.py')
-rw-r--r-- | chimere/admin.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/chimere/admin.py b/chimere/admin.py index 4e632b8..889f4c2 100644 --- a/chimere/admin.py +++ b/chimere/admin.py @@ -23,12 +23,14 @@ Settings for administration pages from django.conf import settings from django.contrib import admin +from django.utils.translation import ugettext_lazy as _ +from chimere import tasks +from chimere.forms import MarkerAdminForm, RouteAdminForm, AreaAdminForm,\ + NewsAdminForm, CategoryAdminForm from chimere.models import Category, Icon, SubCategory, Marker, \ PropertyModel, News, Route, Area, ColorTheme, Color, RouteFile,\ MultimediaType, MultimediaFile, PictureFile, Importer -from chimere.forms import MarkerAdminForm, RouteAdminForm, AreaAdminForm,\ - NewsAdminForm, CategoryAdminForm from chimere.widgets import TextareaWidget def get_areas_for_user(user): @@ -106,9 +108,23 @@ class SubCategoryAdmin(admin.ModelAdmin): list_display = ('name', 'category', 'available') list_filter = ('category',) +def importing(modeladmin, request, queryset): + for importer in queryset: + importer.state = unicode(tasks.IMPORT_MESSAGES['import_pending'][0]) + importer.save() + tasks.importing(importer.pk) +importing.short_description = _(u"Import") + +def cancel_import(modeladmin, request, queryset): + for importer in queryset: + importer.state = tasks.IMPORT_MESSAGES['import_cancel'][0] + importer.save() +cancel_import.short_description = _(u"Cancel import") + class ImporterAdmin(admin.ModelAdmin): - list_display = ('importer_type', 'subcategory', 'source_url', 'filtr') - list_filter = ('importer_type',) + list_display = ('importer_type', 'source_url', 'state', 'filtr') + list_filter = ('importer_type', 'source_url') + actions = [importing, cancel_import] class NewsAdmin(admin.ModelAdmin): """ |