def step(context): from vsq.models import RispostaPartito r1 = RispostaPartito( partito=context.party, domanda=context.questions[0], risposta_int=RispostaPartito.TIPO_RISPOSTA.moltocontrario, risposta_txt="Un commento alla risposta numero 1" ) r1.save() r2 = RispostaPartito( partito=context.party, domanda=context.questions[1], risposta_int=RispostaPartito.TIPO_RISPOSTA.contrario, risposta_txt="Un commento alla risposta numero 2" ) r2.save() r3 = RispostaPartito( partito=context.party, domanda=context.questions[2], risposta_int=RispostaPartito.TIPO_RISPOSTA.moltofavorevole, risposta_txt="Un commento alla risposta numero 3" ) r3.save() assert RispostaPartito.objects.filter(partito=context.party).count() == 3
def post(self, request, *args, **kwargs): context = self.get_context_data(**kwargs) questions = Domanda.get_domande() form = QuestionarioPartitiForm(self.request.POST, extra=questions) p = get_object_or_404(Partito, party_key=kwargs['party_key']) if form.is_valid(): # controlla e salva le risposte p.responsabile_nome = form.cleaned_data['contact_name'] p.risposte_at = datetime.now() for d in questions: c, t = form.get_answer(d.ordine) rp = RispostaPartito(partito=p, domanda=d, risposta_int=c, risposta_txt=t) rp.save() p.save() # manda una mail ai managers dell'applicazione con il link per controllare i risultati del questionario template = get_template("q_partiti_alert_mail.html") context = Context({ 'nome_lista': p.denominazione, 'url_link': PROJECT_ROOT + "questionario/" + p.slug + "/completato", }) text_c = template.render(context) subj = "VoiSieteQui - La lista " + p.denominazione + " ha completato il questionario" from_email = "*****@*****.**" to_address = [] for m in MANAGERS: to_address.append(m[1]) msg = EmailMessage( subj, text_c, from_email, to_address, ) msg.send() return redirect("questionario_partiti_fine", slug=p.slug) else: context['has_errors'] = "True" # stampa la form con gli eventuali errori context['form'] = form return self.render_to_response(context)
def post(self, request, *args, **kwargs): context = self.get_context_data(**kwargs) questions = Domanda.get_domande() form= QuestionarioPartitiForm(self.request.POST , extra=questions) p = get_object_or_404(Partito, party_key=kwargs['party_key']) if form.is_valid(): # controlla e salva le risposte p.responsabile_nome = form.cleaned_data['contact_name'] p.risposte_at = datetime.now() for d in questions: c,t = form.get_answer(d.ordine) rp = RispostaPartito(partito=p,domanda=d, risposta_int=c, risposta_txt=t) rp.save() p.save() # manda una mail ai managers dell'applicazione con il link per controllare i risultati del questionario template = get_template("q_partiti_alert_mail.html") context=Context( { 'nome_lista':p.denominazione, 'url_link':PROJECT_ROOT + "questionario/" + p.slug + "/completato", } ) text_c = template.render(context) subj = "VoiSieteQui - La lista " + p.denominazione + " ha completato il questionario" from_email = "*****@*****.**" to_address=[] for m in MANAGERS: to_address.append(m[1]) msg= EmailMessage( subj, text_c, from_email, to_address, ) msg.send() return redirect("questionario_partiti_fine",slug=p.slug) else: context['has_errors']="True" # stampa la form con gli eventuali errori context['form']=form return self.render_to_response(context)
def get_context_data(self, **kwargs ): context = super(QuestionarioPartitiView, self).get_context_data(**kwargs) questions = Domanda.get_domande() n_questions=Domanda.get_n_domande() form= QuestionarioPartitiForm( extra=questions) party_key = kwargs['party_key'] p = get_object_or_404(Partito, party_key=party_key) context['nome_lista']=p.denominazione context['n_questions']=n_questions context['form']=form context['possible_answers']=RispostaPartito.get_tipo_risposta() return context
def get_context_data(self, **kwargs): context = super(QuestionarioPartitiView, self).get_context_data(**kwargs) questions = Domanda.get_domande() n_questions = Domanda.get_n_domande() form = QuestionarioPartitiForm(extra=questions) party_key = kwargs['party_key'] p = get_object_or_404(Partito, party_key=party_key) context['nome_lista'] = p.denominazione context['n_questions'] = n_questions context['form'] = form context['possible_answers'] = RispostaPartito.get_tipo_risposta() return context
def step(context): from vsq.models import RispostaPartito r1 = RispostaPartito( partito=context.party, domanda=context.questions[0], risposta_int=RispostaPartito.TIPO_RISPOSTA.moltocontrario, risposta_txt="Un commento alla risposta numero 1") r1.save() r2 = RispostaPartito(partito=context.party, domanda=context.questions[1], risposta_int=RispostaPartito.TIPO_RISPOSTA.contrario, risposta_txt="Un commento alla risposta numero 2") r2.save() r3 = RispostaPartito( partito=context.party, domanda=context.questions[2], risposta_int=RispostaPartito.TIPO_RISPOSTA.moltofavorevole, risposta_txt="Un commento alla risposta numero 3") r3.save() assert RispostaPartito.objects.filter(partito=context.party).count() == 3