diff options
Diffstat (limited to 'ishtar_common/tasks.py')
-rw-r--r-- | ishtar_common/tasks.py | 49 |
1 files changed, 29 insertions, 20 deletions
diff --git a/ishtar_common/tasks.py b/ishtar_common/tasks.py index 2a968eb0a..91695397f 100644 --- a/ishtar_common/tasks.py +++ b/ishtar_common/tasks.py @@ -25,6 +25,7 @@ import sys from django.conf import settings from django.core.files import File from django.db.models import Q +from django.utils.translation import ugettext_lazy as _ from ishtar_common.models import Town, Department from ishtar_common.utils import task @@ -81,50 +82,58 @@ def launch_export(export_task): None, query=query, return_query=True).values_list( "id", flat=True)) if not ids: - kwargs["operation_queryset"] = Operation.objects.filter( - pk=-1) - else: - kwargs["operation_queryset"] = Operation.objects.filter( - pk__in=ids) + export_task.state = 'F' + export_task.result_info = str(_("No data to export")) + export_task.save() + return + kwargs["operation_queryset"] = Operation.objects.filter( + pk__in=ids) elif export_task.filter_type == "S": kwargs["info"]["query"]["model"] = "ArchaeologicalSite" ids = list(get_site( None, query=query, return_query=True).values_list( "id", flat=True)) if not ids: - kwargs["site_queryset"] = ArchaeologicalSite.objects.filter( - pk=-1) - else: - kwargs["site_queryset"] = ArchaeologicalSite.objects.filter( - pk__in=ids) + export_task.state = 'F' + export_task.result_info = str(_("No data to export")) + export_task.save() + return + kwargs["site_queryset"] = ArchaeologicalSite.objects.filter( + pk__in=ids) elif export_task.filter_type == "CR": kwargs["info"]["query"]["model"] = "ArchaeologicalSite" ids = list(get_contextrecord( None, query=query, return_query=True).values_list( "id", flat=True)) if not ids: - kwargs["cr_queryset"] = ContextRecord.objects.filter(pk=-1) - else: - kwargs["cr_queryset"] = ContextRecord.objects.filter(pk__in=ids) + export_task.state = 'F' + export_task.result_info = str(_("No data to export")) + export_task.save() + return + kwargs["cr_queryset"] = ContextRecord.objects.filter(pk__in=ids) elif export_task.filter_type == "F": kwargs["info"]["query"]["model"] = "Find" ids = list(get_find( None, query=query, return_query=True ).values_list("id", flat=True)) if not ids: - kwargs["find_queryset"] = Find.objects.filter(pk=-1) - else: - kwargs["find_queryset"] = Find.objects.filter(pk__in=ids) + export_task.state = 'F' + export_task.result_info = str(_("No data to export")) + export_task.save() + return + kwargs["find_queryset"] = Find.objects.filter(pk__in=ids) elif export_task.filter_type == "W": kwargs["info"]["query"]["model"] = "Warehouse" ids = list(get_warehouse( None, query=query, return_query=True ).values_list("id", flat=True)) if not ids: - kwargs["warehouse_queryset"] = Warehouse.objects.filter(pk=-1) - else: - kwargs["warehouse_queryset"] = Warehouse.objects.filter( - pk__in=ids) + export_task.state = 'F' + export_task.result_info = str(_("No data to export")) + export_task.save() + return + kwargs["warehouse_queryset"] = Warehouse.objects.filter( + pk__in=ids) kwargs["info"]["geo"] = export_task.geo if not export_task.geo: kwargs["no_geo"] = True |