diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-08-09 17:19:26 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-04-16 16:38:32 +0200 |
commit | db25c90193eb4ab38d9c8c94f07aa28ff15aaf8d (patch) | |
tree | 6e94e37b959da3355a3e2b70f7c726d923f59e88 /ishtar_common/views.py | |
parent | 145f02926494e34e12ba773485348f9269087431 (diff) | |
download | Ishtar-db25c90193eb4ab38d9c8c94f07aa28ff15aaf8d.tar.bz2 Ishtar-db25c90193eb4ab38d9c8c94f07aa28ff15aaf8d.zip |
✨ Imports groups: delete action
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 |