def get(self, request, conversation): poll_id = 'poll-%s' % (conversation.key,) pm, poll_data = get_poll_config(poll_id) questions_data = poll_data.get('questions', []) completed_response_data = poll_data.get( 'survey_completed_responses', []) poll_form = forms.SurveyPollForm(initial=poll_data) questions_formset = forms.make_form_set(initial=questions_data) completed_response_formset = forms.make_completed_response_form_set( initial=completed_response_data) return self.render_to_response({ 'conversation': conversation, 'poll_form': poll_form, 'questions_formset': questions_formset, 'completed_response_formset': completed_response_formset, })
def post(self, request, conversation): poll_id = 'poll-%s' % (conversation.key, ) pm, poll_data = get_poll_config(poll_id) post_data = request.POST.copy() post_data.update({ 'poll_id': poll_id, }) questions_formset = forms.make_form_set(data=post_data) poll_form = forms.SurveyPollForm(data=post_data) completed_response_formset = forms.make_completed_response_form_set( data=post_data) if (questions_formset.is_valid() and poll_form.is_valid() and completed_response_formset.is_valid()): data = poll_form.cleaned_data.copy() data.update({ 'questions': _clear_empties(questions_formset.cleaned_data), 'survey_completed_responses': _clear_empties(completed_response_formset.cleaned_data) }) pm.set(poll_id, data) messages.info(request, 'Conversation updated.') if request.POST.get('_save_contents'): return self.redirect_to('edit', conversation_key=conversation.key) else: return self.redirect_to('show', conversation_key=conversation.key) return self.render_to_response({ 'conversation': conversation, 'poll_form': poll_form, 'questions_formset': questions_formset, 'completed_response_formset': completed_response_formset, })
def get(self, request, conversation): poll_id = 'poll-%s' % (conversation.key, ) pm, poll_data = get_poll_config(poll_id) questions_data = poll_data.get('questions', []) completed_response_data = poll_data.get('survey_completed_responses', []) poll_form = forms.SurveyPollForm(initial=poll_data) questions_formset = forms.make_form_set(initial=questions_data) completed_response_formset = forms.make_completed_response_form_set( initial=completed_response_data) return self.render_to_response({ 'conversation': conversation, 'poll_form': poll_form, 'questions_formset': questions_formset, 'completed_response_formset': completed_response_formset, })
def post(self, request, conversation): poll_id = 'poll-%s' % (conversation.key,) pm, poll_data = get_poll_config(poll_id) post_data = request.POST.copy() post_data.update({ 'poll_id': poll_id, }) questions_formset = forms.make_form_set(data=post_data) poll_form = forms.SurveyPollForm(data=post_data) completed_response_formset = forms.make_completed_response_form_set( data=post_data) if (questions_formset.is_valid() and poll_form.is_valid() and completed_response_formset.is_valid()): data = poll_form.cleaned_data.copy() data.update({ 'questions': _clear_empties(questions_formset.cleaned_data), 'survey_completed_responses': _clear_empties( completed_response_formset.cleaned_data) }) pm.set(poll_id, data) messages.info(request, 'Conversation updated.') if request.POST.get('_save_contents'): return self.redirect_to( 'edit', conversation_key=conversation.key) else: return self.redirect_to( 'show', conversation_key=conversation.key) return self.render_to_response({ 'conversation': conversation, 'poll_form': poll_form, 'questions_formset': questions_formset, 'completed_response_formset': completed_response_formset, })