[Scodoc-devel] [SVN] Scolar : [1505] Ajout PV jury anonyme

eviennet at lipn.univ-paris13.fr eviennet at lipn.univ-paris13.fr
Mer 3 Fév 14:40:01 CET 2016


Une pièce jointe HTML a été nettoyée...
URL: <https://www-rt.iutv.univ-paris13.fr/pipermail/scodoc-devel/attachments/20160203/6bd75514/attachment.html>
-------------- section suivante --------------
Modified: branches/ScoDoc7/sco_pvjury.py
===================================================================
--- branches/ScoDoc7/sco_pvjury.py	2016-02-03 06:37:42 UTC (rev 1504)
+++ branches/ScoDoc7/sco_pvjury.py	2016-02-03 13:40:01 UTC (rev 1505)
@@ -243,7 +243,7 @@
              'decisions' : L }
 
 
-def pvjury_table(context, dpv, only_diplome=False):
+def pvjury_table(context, dpv, only_diplome=False, anonymous=False):
     """idem mais rend list de dicts
     Si only_diplome, n'extrait que les etudiants qui valident leur diplome.
     """
@@ -252,7 +252,8 @@
         id_cur = ' S%s' % sem['semestre_id']
     else:
         id_cur = ''
-    titles = {'etudid' : 'etudid', 'nomprenom' : 'Nom',
+    titles = {'etudid' : 'etudid', 
+              'nomprenom' : 'Nom',
               'parcours' : 'Parcours',
               'decision' : 'Décision' + id_cur,
               'mention' : 'Mention',
@@ -260,6 +261,8 @@
               'ects' : 'ECTS',
               'devenir' : 'Devenir', 'observations' : 'Observations'
               }
+    if anonymous:
+        titles['nomprenom'] = 'Code'
     columns_ids = ['nomprenom', 'parcours', 'decision', 'ue_cap']
     if context.get_preference('bul_show_ects', sem['formsemestre_id']):
         columns_ids.append('ects')
@@ -289,6 +292,9 @@
               'mention' : e['mention'],
               'ects' : str(e['sum_ects'])
               }
+        if anonymous:
+            # Mode anonyme: affiche INE ou sinon NIP, ou id
+            l['nomprenom'] = e['identite']['code_ine'] or e['identite']['code_nip'] or e['identite']['etudid']
         if e['validation_parcours']:
             l['devenir'] = "Diplôme obtenu"
         if dpv['has_prev']:
@@ -430,13 +436,20 @@
             tf[2]['showTitle'] = True
         else:
             tf[2]['showTitle'] = False
+        if tf[2]['anonymous']:
+            tf[2]['anonymous'] = True
+        else:
+            tf[2]['anonymous'] = False
         try:
             PDFLOCK.acquire()
-            pdfdoc = sco_pvpdf.pvjury_pdf(context, dpv, REQUEST,
-                                          numeroArrete=tf[2]['numeroArrete'],
-                                          dateCommission=tf[2]['dateCommission'],
-                                          dateJury=tf[2]['dateJury'],
-                                          showTitle=tf[2]['showTitle'])
+            pdfdoc = sco_pvpdf.pvjury_pdf(
+                context, dpv, REQUEST,
+                numeroArrete=tf[2]['numeroArrete'],
+                dateCommission=tf[2]['dateCommission'],
+                dateJury=tf[2]['dateJury'],
+                showTitle=tf[2]['showTitle'],
+                anonymous=tf[2]['anonymous']
+                )
         finally:
             PDFLOCK.release()                
         sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
@@ -457,6 +470,9 @@
         ('numeroArrete', {'input_type' : 'text', 'size' : 50, 'title' : 'Numéro de l\'arrêté du président',
         'explanation' : 'le président de l\'Université prend chaque année un arrêté formant les jurys'}),
         ('showTitle', { 'input_type' : 'checkbox', 'title':'Indiquer le titre du semestre sur le PV', 'explanation' : '(le titre est "%s")' % sem['titre'], 'labels' : [''], 'allowed_values' : ('1',)}),
+        ('anonymous',  { 'input_type' : 'checkbox', 'title':'PV anonyme',
+                         'explanation' : 'remplace nom par code étudiant (INE ou NIP)',
+                          'labels' : [''], 'allowed_values' : ('1',)}),
         ('formsemestre_id', {'input_type' : 'hidden' }),        
         ]
 

Modified: branches/ScoDoc7/sco_pvpdf.py
===================================================================
--- branches/ScoDoc7/sco_pvpdf.py	2016-02-03 06:37:42 UTC (rev 1504)
+++ branches/ScoDoc7/sco_pvpdf.py	2016-02-03 13:40:01 UTC (rev 1505)
@@ -390,7 +390,11 @@
 # ----------------------------------------------
 # PV complet, tableau en format paysage
 
-def pvjury_pdf(context, dpv, REQUEST, dateCommission=None, numeroArrete=None, dateJury=None, showTitle=False):
+def pvjury_pdf(
+        context, dpv, REQUEST,
+        dateCommission=None, numeroArrete=None, dateJury=None, 
+        showTitle=False, 
+        anonymous=False ):
     """Doc PDF récapitulant les décisions de jury
     dpv: result of dict_pvjury
     """
@@ -401,7 +405,7 @@
         
     objects = _pvjury_pdf_type(context, dpv, only_diplome=False,
                                 dateCommission=dateCommission, numeroArrete=numeroArrete,
-                                dateJury=dateJury, showTitle=showTitle
+                                dateJury=dateJury, showTitle=showTitle, anonymous=anonymous
         )
 
     jury_de_diplome = not dpv['semestre_non_terminal']
@@ -415,7 +419,7 @@
             objects.append(PageBreak())
             objects += _pvjury_pdf_type(context, dpv, only_diplome=True,
                                         dateCommission=dateCommission, numeroArrete=numeroArrete,
-                                        dateJury=dateJury, showTitle=showTitle
+                                        dateJury=dateJury, showTitle=showTitle, anonymous=anonymous
                 )
 
     # ----- Build PDF
@@ -435,8 +439,11 @@
     return data
 
 
-def _pvjury_pdf_type(context, dpv, only_diplome=False,
-                     dateCommission=None, numeroArrete=None, dateJury=None, showTitle=False):
+def _pvjury_pdf_type(
+        context, dpv, only_diplome=False,
+        dateCommission=None, numeroArrete=None, dateJury=None, 
+        showTitle=False,
+        anonymous=False ):
     """Doc PDF récapitulant les décisions de jury pour un type de jury (passage ou delivrance)
     dpv: result of dict_pvjury
     """
@@ -493,7 +500,8 @@
     
     objects += makeParas("""<para>Le jury propose les décisions suivantes :</para>""", style)
     objects += [ Spacer(0,4*mm) ]
-    lines, titles, columns_ids = sco_pvjury.pvjury_table(context, dpv, only_diplome=only_diplome)
+    lines, titles, columns_ids = sco_pvjury.pvjury_table(
+        context, dpv, only_diplome=only_diplome, anonymous=anonymous)
     # convert to lists of tuples:
     columns_ids=['etudid'] + columns_ids
     lines = [ [ line.get(x,'') for x in columns_ids ] for line in lines ]


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