From db25c90193eb4ab38d9c8c94f07aa28ff15aaf8d Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 9 Aug 2023 17:19:26 +0200 Subject: ✨ Imports groups: delete action MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ishtar_common/views.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'ishtar_common/views.py') 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 -- cgit v1.2.3