Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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