コード例 #1
0
ファイル: admin.py プロジェクト: ageg/generateur-elections
def generate_questions(group_conf):
    df = group_conf['df']
    name = f"Conseil d'administration {group_conf['semester']}"
    if group_conf['semester'] == 'Annuel':
        description = "Vote de confiance pour les postes annuels au conseil d'administration de l'AGEG."
        code = f"CA{group_conf['semester']}"
        title = "Qui voulez-vous comme administrateurs annuels de l'AGEG?"
    else:
        description = "Vote de confiance pour les postes saisonniers au conseil d'administration de l'AGEG."
        code = "CAS" + group_conf['semester']
        title = "Qui voulez-vous comme administrateurs saisonniers de l'AGEG?"
    group = Group(name, description)

    question_admin = Question(code=code, gid=group.gid, title=title, qtype='F')

    question_admin.add_answer(
        Answer(qid=question_admin.qid, value="Oui", code="A1", order=1))
    question_admin.add_answer(
        Answer(qid=question_admin.qid, value="Non", code="A2", order=2))
    question_admin.add_answer(
        Answer(qid=question_admin.qid,
               value="Non confiance",
               code="A3",
               order=3))

    sous_questions = []
    for index, candidat in df.iterrows():
        subquestion = Subquestion(parent=question_admin.qid,
                                  gid=question_admin.gid,
                                  code=f"SQ{index + 1:02}",
                                  value=candidat[NOM_USUEL],
                                  order=index,
                                  qtype='T')
        sous_questions.append(subquestion)

        question_admin.add_option(
            Option(nom=candidat[NOM_USUEL],
                   promotion=candidat[PROMOTION],
                   concentration=candidat[CONCENTRATION],
                   order=index,
                   description=candidat[TEXTE_DESCRIPTIF],
                   image=candidat[PHOTO]))

    return group, question_admin, sous_questions
コード例 #2
0
    question_admin = Question(
        id=100,
        code="CASA19",
        gid=groupe_admin.gid,
        title="Qui voulez-vous comme administrateurs saisonniers de l'AGEG?",
        type='F')
    question_admin.add_answer(
        Answer(qid=question_admin.qid, value="Oui", code="A1", order=1))
    question_admin.add_answer(
        Answer(qid=question_admin.qid, value="Non", code="A2", order=2))

    sousquestions_admin = generer_sousquestion_admin(question_admin)
    options_admin = generer_options_admin()

    for option in options_admin:
        question_admin.add_option(option)

    questions.append(question_admin)
    mylookup = TemplateLookup(directories=['.'],
                              input_encoding="utf-8",
                              output_encoding="utf-8")
    mytemplate = Template(filename='templates/base.mako',
                          lookup=mylookup,
                          input_encoding="utf-8",
                          output_encoding="utf-8")

    survey = mytemplate.render(groups=groups,
                               questions=questions,
                               subquestions=sousquestions_admin,
                               withAttributes=False)