[scodoc-devel] [SVN] Scolar : [1778] Mise à jour table debouches (par Cleo)

eviennet at lipn.univ-paris13.fr eviennet at lipn.univ-paris13.fr
Dim 6 Mai 14:23:56 CEST 2018


Une pièce jointe HTML a été nettoyée...
URL: https://listes.univ-paris13.fr/pipermail/scodoc-devel/attachments/20180506/9b1511b1/attachment.htm 
-------------- section suivante --------------
Modified: branches/ScoDoc7/sco_debouche.py
===================================================================
--- branches/ScoDoc7/sco_debouche.py	2018-04-26 12:04:18 UTC (rev 1777)
+++ branches/ScoDoc7/sco_debouche.py	2018-05-06 12:23:56 UTC (rev 1778)
@@ -42,7 +42,7 @@
 import sco_tag_module
 
 def report_debouche_date(context, start_year=None, format='html', REQUEST=None):
-    """Rapport (table) pour les débouchés des étudiants sortis à partir de la l'année indiquée.
+    """Rapport (table) pour les débouchés des étudiants sortis à partir de l'année indiquée.
     """
     if not start_year:
         return report_debouche_ask_date(context, REQUEST=REQUEST)
@@ -73,12 +73,20 @@
     start_date = str(start_year) + '-01-01'
     # Recupere tous les etudid avec un debouché renseigné et une inscription dans un semestre
     # posterieur à la date de depart:
+    # r = SimpleDictFetch(context,
+    #                    """SELECT DISTINCT i.etudid
+    #                    FROM notes_formsemestre_inscription i, admissions adm, notes_formsemestre s
+    #                    WHERE adm.debouche is not NULL
+    #                    AND i.etudid = adm.etudid AND i.formsemestre_id = s.formsemestre_id
+    #                    AND s.date_fin >= %(start_date)s
+    #                    """,
+    #                    {'start_date' : start_date })
+
     r = SimpleDictFetch(context,
                         """SELECT DISTINCT i.etudid
-                        FROM notes_formsemestre_inscription i, admissions adm, notes_formsemestre s
-                        WHERE adm.debouche is not NULL
-                        AND i.etudid = adm.etudid AND i.formsemestre_id = s.formsemestre_id
-                        AND s.date_fin >= %(start_date)s
+                        FROM notes_formsemestre_inscription i, notes_formsemestre s, itemsuivi it
+                        WHERE i.etudid = it.etudid
+                        AND i.formsemestre_id = s.formsemestre_id AND s.date_fin >= %(start_date)s
                         """,
                         {'start_date' : start_date })
     
@@ -96,7 +104,7 @@
         imax = max(es)[1]
         last_sem = sems[imax]
         nt = context._getNotesCache().get_NotesTable(context, last_sem['formsemestre_id'])
-        L.append( {
+        row = {
             'etudid' : etudid,
             'sexe' : etud['sexe'],
             'nom' : etud['nom'],
@@ -104,7 +112,7 @@
             '_nom_target' : 'ficheEtud?etudid=' + etud['etudid'],
             '_prenom_target' : 'ficheEtud?etudid=' + etud['etudid'],
             '_nom_td_attrs' : 'id="%s" class="etudinfo"' % (etud['etudid']),
-            'debouche' : etud['debouche'],
+            # 'debouche' : etud['debouche'],
             'moy' : fmt_note(nt.get_etud_moy_gen(etudid),keep_numeric=keep_numeric),
             'rang' : nt.get_etud_rang(etudid),
             'effectif' : len(nt.T),
@@ -114,8 +122,15 @@
             'date_fin' : last_sem['date_fin'],
             'periode' : '%s - %s' % (last_sem['mois_debut'], last_sem['mois_fin']),
             'sem_ident' : '%s %s' % (last_sem['date_debut_iso'],last_sem['titre']), # utile pour tris
-            } )
+            }
 
+        # recherche des débouchés
+        debouche = itemsuivi_list_etud(context, etudid) # liste de plusieurs items
+        if debouche:
+            row['debouche'] = "<br>".join( [str(it['item_date']) + " : " + it['situation'] + " <i>" + it['tags'] + "</i>" for it in debouche] ) #
+        else:
+            row['debouche'] = "non renseigné"
+        L.append(row)
     L.sort(key=lambda x:x['sem_ident'])
 
     titles = {
@@ -261,7 +276,7 @@
     cnx = context.GetDBConnexion()
     items = _itemsuivi_list(cnx, {'etudid' : etudid})
     for it in items:
-        it['tags'] = ','.join(itemsuivi_tag_list(context, it['itemsuivi_id']))
+        it['tags'] = ', '.join(itemsuivi_tag_list(context, it['itemsuivi_id']))
     if format == 'json':
         return sendJSON(REQUEST, items );
     return items


Plus d'informations sur la liste de diffusion scodoc-devel