Esempio n. 1
0
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
Esempio n. 2
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)
Esempio n. 3
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)
Esempio n. 4
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
Esempio n. 5
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
Esempio n. 6
0
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