diff options
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/models_imports.py | 2 | ||||
-rw-r--r-- | ishtar_common/urls.py | 5 | ||||
-rw-r--r-- | ishtar_common/views.py | 26 |
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, |