summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
authorCefin <kevon@tuta.io>2022-03-15 15:18:16 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-07-08 09:58:50 +0200
commit1f176ee3d272967d77f15f103165791f08bf13dd (patch)
treea5722192bd7dc8b0a711d7b6d03c8794926972dd /ishtar_common
parentab1e0d26f32949236561f07a3e960ebca287e2b1 (diff)
downloadIshtar-1f176ee3d272967d77f15f103165791f08bf13dd.tar.bz2
Ishtar-1f176ee3d272967d77f15f103165791f08bf13dd.zip
Imports - Current - Edit : adding edit action on C or A step with display malfunction #5287
Signed-off-by: Étienne Loks <etienne.loks@iggdrasil.net>
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/models_imports.py2
-rw-r--r--ishtar_common/urls.py5
-rw-r--r--ishtar_common/views.py26
3 files changed, 33 insertions, 0 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py
index 8f273d75c..75d4de11a 100644
--- a/ishtar_common/models_imports.py
+++ b/ishtar_common/models_imports.py
@@ -1117,6 +1117,8 @@ class Import(models.Model):
actions = []
if self.state == 'C':
actions.append(('A', _("Analyse")))
+ if self.state in ('C', 'A'):
+ actions.append(('ED', _("Edit")))
if self.state in ('A', 'PI'):
actions.append(('A', _("Re-analyse")))
actions.append(('I', _("Launch import")))
diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py
index 4f4d5ee4b..2f991c626 100644
--- a/ishtar_common/urls.py
+++ b/ishtar_common/urls.py
@@ -212,6 +212,11 @@ urlpatterns = [
name="new_import",
),
url(
+ r"^import-edit/(?P<pk>[0-9]+)/$",
+ check_rights(["change_import"])(views.EditImportView.as_view()),
+ name="edit_import",
+ ),
+ url(
r"^import-list/$",
check_rights(["change_import"])(views.ImportListView.as_view()),
name="current_imports",
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 9fe3ce15d..ce27ce0e7 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -1394,6 +1394,28 @@ class NewImportView(IshtarMixin, LoginRequiredMixin, CreateView):
return HttpResponseRedirect(self.get_success_url())
+class EditImportView(IshtarMixin, LoginRequiredMixin, UpdateView):
+ template_name = "ishtar/form.html"
+ model = models.Import
+ form_class = forms.NewImportForm
+ page_name = _("Edit import")
+
+ def get_success_url(self):
+ return reverse("current_imports")
+
+ def get_form_kwargs(self):
+ kwargs = super(EditImportView, self).get_form_kwargs()
+ kwargs["user"] = self.request.user
+
+ return kwargs
+
+ def form_valid(self, form):
+ user = models.IshtarUser.objects.get(pk=self.request.user.pk)
+ self.object = form.save(user=user)
+
+ return HttpResponseRedirect(self.get_success_url())
+
+
class ImportListView(IshtarMixin, LoginRequiredMixin, ListView):
template_name = "ishtar/import_list.html"
model = models.Import
@@ -1426,6 +1448,10 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView):
return HttpResponseRedirect(
reverse("import_delete", kwargs={"pk": imprt.pk})
)
+ elif action == "ED":
+ return HttpResponseRedirect(
+ reverse("edit_import", kwargs={"pk": imprt.pk})
+ )
elif action == "A":
imprt.initialize(
user=self.request.user.ishtaruser,