From 1a05ab6a12d24f5c9c27172d924fbdbc9e5ddfbe Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 6 Sep 2018 18:18:07 +0200 Subject: Quick action: manage ajax form --- ishtar_common/views.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'ishtar_common/views.py') diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 8b22048f2..3704106d2 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1817,31 +1817,33 @@ class QAItemEditForm(IshtarMixin, LoginRequiredMixin, FormView): if not self.model.QA_EDIT.is_available( user=request.user, session=request.session, obj=item): raise Http404() - + self.confirm = kwargs.get('confirm', False) and True + self.url = request.get_full_path() return super(QAItemEditForm, self).dispatch(request, *args, **kwargs) def get_form_class(self): - if len(self.items) > 1: + if len(self.items) > 1 and self.form_class_multi: return self.form_class_multi return self.form_class def get_form_kwargs(self): kwargs = super(QAItemEditForm, self).get_form_kwargs() kwargs['items'] = self.items + kwargs['confirm'] = self.confirm return kwargs def get_context_data(self, **kwargs): data = super(QAItemEditForm, self).get_context_data(**kwargs) data['page_name'] = u"{} – {}".format( self.model._meta.verbose_name, self.model.QA_EDIT.text) + data['url'] = self.url + data['confirm'] = self.confirm return data - - - def get_success_url(self, basket): - return reverse('select_itemsinbasket', - kwargs={'pk': basket}) - def form_valid(self, form): + if not self.confirm: + self.confirm = True + return self.render_to_response( + self.get_context_data(form=self.get_form())) return HttpResponseRedirect(self.get_success_url( form.cleaned_data['basket'])) -- cgit v1.2.3