diff options
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 2965ada87..74691256b 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1541,9 +1541,13 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView): for field in request.POST: if not field.startswith("import-action-") or not request.POST[field]: continue + model = models.Import + is_group = field.startswith("import-action-group-") + if is_group: + model = models.ImportGroup # prevent forged forms try: - imprt = models.Import.objects.get(pk=int(field.split("-")[-1])) + imprt = model.objects.get(pk=int(field.split("-")[-1])) except (models.Import.DoesNotExist, ValueError): continue if not self.request.user.is_superuser: @@ -1553,12 +1557,14 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView): continue action = request.POST[field] if action == "D": + url = "import_group_delete" if is_group else "import_delete" return HttpResponseRedirect( - reverse("import_delete", kwargs={"pk": imprt.pk}) + reverse(url, kwargs={"pk": imprt.pk}) ) elif action == "ED": + url = "edit_import_group" if is_group else "edit_import" return HttpResponseRedirect( - reverse("edit_import", kwargs={"pk": imprt.pk}) + reverse(url, kwargs={"pk": imprt.pk}) ) elif action == "A": imprt.initialize( @@ -2068,6 +2074,15 @@ class ImportDeleteView(IshtarMixin, LoginRequiredMixin, DeleteView): return reverse("current_imports") +class ImportGroupDeleteView(IshtarMixin, LoginRequiredMixin, DeleteView): + template_name = "ishtar/import_delete.html" + model = models.ImportGroup + page_name = _("Delete import") + + def get_success_url(self): + return reverse("current_imports") + + class PersonCreate(LoginRequiredMixin, CreateView): model = models.Person form_class = forms.BasePersonForm |