diff options
Diffstat (limited to 'ishtar_common/admin.py')
| -rw-r--r-- | ishtar_common/admin.py | 63 | 
1 files changed, 62 insertions, 1 deletions
| diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 7da8265cd..25dffcf72 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -75,7 +75,7 @@ from archaeological_finds import forms as find_forms, \      forms_treatments as treatment_forms  from archaeological_warehouse import forms as warehouse_forms -from ishtar_common.tasks import launch_export +from ishtar_common.tasks import launch_export, launch_import  csrf_protect_m = method_decorator(csrf_protect) @@ -1447,6 +1447,67 @@ class ExportTaskAdmin(admin.ModelAdmin):  admin_site.register(models.ExportTask, ExportTaskAdmin) +""" +class Media: +        js = ( +            'js/myscript.js',  # project's static folder ( /static/js/myscript.js ) +        ) +         +$(document).ready(function(){ +    $('form').submit(function() { +        var c = confirm("continue submitting ?"); +        return c; +    }); +}) +         +         +""" + + +def launch_import_action(modeladmin, request, queryset): +    model = modeladmin.model +    back_url = reverse( +        'admin:%s_%s_changelist' % ( +            model._meta.app_label, +            model._meta.model_name) +    ) + '?' + urllib.parse.urlencode(request.GET) +    if queryset.count() != 1: +        messages.add_message( +            request, messages.ERROR, str(_("Select only one task.")) +        ) +        return HttpResponseRedirect(back_url) + +    import_task = queryset.all()[0] + +    if import_task.state != "C": +        messages.add_message( +            request, messages.ERROR, str( +                _("Import already imported/scheduled.")) +        ) +        return HttpResponseRedirect(back_url) + +    import_task.state = "S" +    import_task.save() + +    if not settings.USE_BACKGROUND_TASK: +        return launch_import(import_task) +    return launch_import.delay(import_task) + + +launch_import_action.short_description = _("Launch import") + + +class ImportTaskAdmin(admin.ModelAdmin): +    exclude = ('creation_date', 'launch_date', 'finished_date') +    list_display = ['creation_date', "source", 'state', 'launch_date', +                    'finished_date'] +    list_filter = ['state'] +    actions = [launch_import_action] + + +admin_site.register(models.ImportTask, ImportTaskAdmin) + +  class UserProfileAdmin(admin.ModelAdmin):      list_display = ['person', 'profile_type', 'area_labels']      list_filter = ['profile_type'] | 
