Esempio n. 1
0
def groupes_dans_cours():
    liste_cours = formation_db.trouver_cours()
    for groupe in GROUPES:
        try:
            ajout_groupe(groupe, liste_cours)
        except:
            print(sys.exc_info())
Esempio n. 2
0
def print_resultat(nom_cours, nom_eleve, liste_modules=None):
    bilans_modules = list()
    resultats_tests = list()
    try:
        cours = formation_db.trouver_cours(nom=[nom_cours])[0]
        if liste_modules == None:
            liste_modules = formation_db.trouver_modules_par_cours([cours])
        eleve = formation_db.trouver_eleve(nom=nom_eleve)
    except Exception as e:
        raise
        return
    _print_resultat(cours, liste_modules, eleve)
Esempio n. 3
0
 def __init__(self, parentscm, nom_cours, **kwargs):
     self.nom_cours = nom_cours
     self.parentscm = parentscm
     super(CoursConsultationEvaluations, self).__init__(**kwargs)
     nb = TabbedPanel(cols=1, spacing=5, padding=5, do_default_tab=False)
     self.add_widget(nb)
     liste_groupes = formation_db.trouver_groupes_par_cours([nom_cours])
     liste_modules = formation_db.trouver_modules_par_cours(
         formation_db.trouver_cours([nom_cours]))
     self.liste_obj_recap = list()
     for gr in liste_groupes:
         ce = ConsultationEvaluationsGroupe(parentscm,
                                            liste_modules,
                                            gr.participants,
                                            text=gr.__str__())
         nb.add_widget(ce)
         self.liste_obj_recap.append(ce)
     retour = TabbedPanelHeader(text='Retour')
     retour.bind(on_release=self.retour)
     nb.add_widget(retour)
Esempio n. 4
0
def ajout_eleve(nom,
                prenom,
                naissance,
                tel,
                courriel,
                statut,
                entree,
                photo,
                nom_cfi='',
                groupes=[],
                cours=[]):
    try:
        pp = Eleve.create(nom=nom,
                          prenom=prenom,
                          date_naissance=naissance,
                          telephone=tel,
                          courriel=courriel,
                          statut=statut,
                          date_entree=entree,
                          photo_path=photo,
                          nom_cfi=nom_cfi)
        pp.save()
        print("Ajout élève", prenom, nom, ": OK")
    except Exception as e:
        print("Ajout élève", prenom, nom, " impossib:", e)
        return None
    if not groupes:
        print("Pas groupe précisé pour machin", pp)
        return pp

    if not cours:
        cours = formation_db.trouver_cours()
        print('tous les cours sont dans la nature')

    for groupe in groupes:
        print('I rajoute the groupe', groupe, 'in', cours)
        gr = ajout_groupe(groupe, cours)
        try:
            gr.participants.add(pp)
        except Exception as e:
            pass
Esempio n. 5
0
        worksheet.hide_gridlines(1)
        worksheet.fit_to_pages(1, 1)
        worksheet.print_area(0, 0, 56, 7)
        worksheet.set_margins(.43, .24, .75, .32)
        # set paper: A4
        worksheet.set_paper(9)


def populate_file(filename, **bilan_eleve):
    workbook = xlsxwriter.Workbook(filename)
    worksheet = workbook.add_worksheet()
    pt = pse1_tech(workbook, worksheet, **bilan_eleve)
    pt.populate_workbook()


if __name__ == '__main__':
    import formation_db
    cours = formation_db.trouver_cours(['PSE1 Technicités'])
    modules = formation_db.trouver_modules_par_cours(cours)
    if not modules:
        exit
    bilan = list()
    groupes = formation_db.trouver_groupe(['1A'])
    if not groupes:
        exit
    eleves = sorted(set([gr.participants for gr in groupes]))
    bilans = formation_db.trouver_bilans_par_eleve(eleves, modules)
    bilans_par_eleve = dict()
    for bilan in bilans:
        populate_file('Example_pse1.xlsx', bilan.eleve.__str__())
Esempio n. 6
0
    def terminaison(self, instance):
        if self.deja_enregistre:
            print('putain, le mec a déjà validé une fois...')
        nom_formateur = self.panfin.nom_formateur()
        formateurs = formation_db.trouver_formateurs(noms=[nom_formateur])
        if not formateurs:
            pops.pop_warn(None, 'Renseigner le nom du formateur')
            return
        formateur = formateurs[0]
        nom_lieu = self.panfin.nom_lieu()
        mise_en_situation = self.panfin.nom_mise_en_situation()
        lieux = formation_db.trouver_lieux(noms=[nom_lieu])
        if not lieux:
            pops.pop_warn(
                None, 'Renseigner le lieu de la formation d\'aujourd\'hui')
            return
        lieu = lieux[0]

        if not mise_en_situation:
            pops.pop_warn(None, 'Renseigner le détail de la mise en situation')
            return

        cours = formation_db.trouver_cours([self.titre])
        if not cours:
            pops.pop_warn(
                'Erreur interne: le cours', self.titre,
                'a disparu de la base de données... Mieux vaut quitter')
            return
        cour = cours[0]

        jf = poplib.ajout_jf(lieu=lieu,
                             cours=cour,
                             formateur=formateur,
                             notes=mise_en_situation)

        for pangr in self.dict_panneau_groupe.values():
            current_scm = pangr.scm
            for eleve in pangr.liste_eleves:
                s = current_scm.get_screen(eleve.__str__())
                for module, bilan, commentaires, origine in s.bilan_eleve():
                    #bilan = BilanModule(module=module, statut=resultat,
                    # Si le bilan est NT, on ne crée pas de Bilan
                    if bilan == origine.statut and commentaires == origine.commentaires:
                        continue
                    bilandb = poplib.ajout_bilan(module=module,
                                                 statut=bilan,
                                                 commentaires=commentaires,
                                                 eleve=eleve,
                                                 date=jf)
                for test, statut, resultat, origine in s.resultats_eleve():
                    # Si le statut est NT, on ne crée pas de Resultat
                    if statut == Resultat.NONFAIT or statut == '':
                        continue
                    if statut == origine:
                        continue
                    res = poplib.ajout_res(test=test,
                                           eleve=eleve,
                                           date=jf,
                                           resultat=resultat,
                                           statut=statut)
        self.deja_enregistre = True
        # On vide le panneau de recap
        self.panfin.raz()
        self.retour(None)
Esempio n. 7
0
 def __init__(self, nom_cours, **kwargs):
     cours = formation_db.trouver_cours([nom_cours])[0]
     self.liste_modules = cours.modules
     super(EcranEleve, self).__init__(**kwargs)