From 1f176ee3d272967d77f15f103165791f08bf13dd Mon Sep 17 00:00:00 2001 From: Cefin Date: Tue, 15 Mar 2022 15:18:16 +0100 Subject: Imports - Current - Edit : adding edit action on C or A step with display malfunction #5287 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Étienne Loks --- ishtar_common/models_imports.py | 2 ++ ishtar_common/urls.py | 5 +++++ ishtar_common/views.py | 26 ++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) (limited to 'ishtar_common') 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 @@ -211,6 +211,11 @@ urlpatterns = [ check_rights(["change_import"])(views.NewImportView.as_view()), name="new_import", ), + url( + r"^import-edit/(?P[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()), 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, -- cgit v1.2.3