diff options
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 74691256b..1ab5931e4 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1535,7 +1535,7 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView): q2 = q2.filter(user=user) q1 = q1.filter(group__isnull=True).order_by("-creation_date", "-pk") q2 = q2.order_by("-creation_date", "-pk") - return reversed(sorted(list(q1) + list(q2), key=lambda x: x.creation_date)) + return list(reversed(sorted(list(q1) + list(q2), key=lambda x: x.creation_date))) def post(self, request, *args, **kwargs): for field in request.POST: @@ -2029,6 +2029,39 @@ class ImportOldListView(ImportListView): return q.filter(user=user).order_by("-creation_date") +def import_get_status(request, current_right=None): + response = {"group": [], "import": []} + import_ids = request.POST.getlist("items[]", []) + for import_id in import_ids: + model = models.Import + key = "import" + if import_id.startswith("group-"): + model = models.ImportGroup + key = "group" + idx = import_id.split("-")[-1] + q = model.objects.filter(pk=idx) + if not q.count(): + continue + item = q.all()[0] + item_dct = { + "id": item.id, + "full_id": ("group-" if key == "group" else "") + str(item.id), + "state": item.state, + "status": str(item.status), + } + if key == "import": + item_dct.update({ + "current_line": item.current_line, + "number_of_line": item.number_of_line, + "progress_percent": item.progress_percent, + }) + item_dct["actions"] = [(key, str(lbl)) for key, lbl in item.get_actions()] + response[key].append(item_dct) + + data = json.dumps(response) + return HttpResponse(data, content_type="application/json") + + class ImportLinkView(IshtarMixin, LoginRequiredMixin, ModelFormSetView): template_name = "ishtar/formset_import_match.html" model = models.TargetKey |