From b8f17174439bad07977f8a1372e59648804ede4b Mon Sep 17 00:00:00 2001 From: Bachurin Sergey Date: Thu, 12 Jun 2014 00:28:46 +0300 Subject: [PATCH] save receiver and sender values in faktura on invalid add --- project/docs/views/base_views.py | 12 ++++++++++-- project/templates/docs/stub_js.html | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/project/docs/views/base_views.py b/project/docs/views/base_views.py index 4808d8c..aadd9b1 100644 --- a/project/docs/views/base_views.py +++ b/project/docs/views/base_views.py @@ -244,6 +244,7 @@ class BaseViews(object): new_obj = form.save(commit=False) new_obj.user = self.request.user new_obj.save() + return redirect(self.REDIRECT_AFTER_ADD) else: initial = kwargs.get('initial') or self.init_form() @@ -564,6 +565,9 @@ class BaseItemsViews(BaseViews): formset = self.ITEM_FORMSET_CLASS(self.request.POST or None, prefix=self.ITEM_FORM_PREFIX) + receiver_choice = form.data.get('receiver_group', None) + sender_choice = form.data.get('sender_group', None) + if form.is_valid() and formset.is_valid() and ((not pformset) or (pformset and pformset.is_valid())): new_obj = form.save(commit=False) new_obj.user = self.request.user @@ -586,7 +590,7 @@ class BaseItemsViews(BaseViews): initial_items = kwargs.get('initial_items') form = self.FORM_CLASS(self.request.user, initial=initial) formset = self.ITEM_FORMSET_CLASS(prefix=self.ITEM_FORM_PREFIX, initial=initial_items) - print form.errors + dictionary = { 'padeji': self.PADEJI, 'padeji_mnoj': self.PADEJI_MNOJ, @@ -597,6 +601,8 @@ class BaseItemsViews(BaseViews): 'formset': formset, 'pformset': pformset, 'client_form': ClientForm(), + 'receiver_choice': receiver_choice, + 'sender_choice': sender_choice, } return render(self.request, self.TEMPLATE_ADD, dictionary) @@ -671,12 +677,14 @@ class BaseItemsViews(BaseViews): if form.is_valid() and formset.is_valid() and ((not pformset) or (pformset and pformset.is_valid())): new_obj = form.save() # По сути - для фактуры. + receiver = form.data.get('receiver_group', None) if receiver == 'he_is': new_obj.receiver = new_obj.client elif receiver == 'nobody': new_obj.receiver = None - sender = form.data.get('receiver_group', None) + + sender = form.data.get('sender_group', None) if sender == 'he_is': new_obj.user_is_sender = True new_obj.sender = None diff --git a/project/templates/docs/stub_js.html b/project/templates/docs/stub_js.html index 4374166..b32f956 100644 --- a/project/templates/docs/stub_js.html +++ b/project/templates/docs/stub_js.html @@ -44,11 +44,12 @@ var options = select.attr('options'); } $('option', select).remove(); - options[options.length] = new Option('--', null); + options[options.length] = new Option('-------', ''); $.each(data, function(val, text) { options[options.length] = new Option(text, val); }); + select.prop('selectedIndex', 0); }) })