[Scodoc-devel] [SVN] Scolar : [1536] - ajout attribut show_in_lists aux partitions pour ne pas les indiquer

eviennet at lipn.univ-paris13.fr eviennet at lipn.univ-paris13.fr
Dim 24 Juil 10:26:30 CEST 2016


Une pièce jointe HTML a été nettoyée...
URL: <https://www-rt.iutv.univ-paris13.fr/pipermail/scodoc-devel/attachments/20160724/648d7a4d/attachment.html>
-------------- section suivante --------------
Modified: branches/ScoDoc7/VERSION.py
===================================================================
--- branches/ScoDoc7/VERSION.py	2016-07-23 15:41:14 UTC (rev 1535)
+++ branches/ScoDoc7/VERSION.py	2016-07-24 08:26:30 UTC (rev 1536)
@@ -1,7 +1,7 @@
 # -*- mode: python -*-
 # -*- coding: utf-8 -*-
 
-SCOVERSION = "7.4b"
+SCOVERSION = "7.5b"
 
 SCONAME = "ScoDoc"
 
@@ -9,7 +9,8 @@
 
 <h5>Année 2016</h4>
 <ul>
-<li>Export des résultats vers Apogée pour un ensemble de semestre.</lI>
+<li>Nouveau formulaire saisie des notes</li>
+<li>Export des résultats vers Apogée pour un ensemble de semestre</li>
 <li>Enregistrement du classement lors de l'admission</li>
 <li>Modification du calcul des coefficients des UE capitalisées</li>
 </ul>

Modified: branches/ScoDoc7/ZScolar.py
===================================================================
--- branches/ScoDoc7/ZScolar.py	2016-07-23 15:41:14 UTC (rev 1535)
+++ branches/ScoDoc7/ZScolar.py	2016-07-24 08:26:30 UTC (rev 1536)
@@ -1268,8 +1268,8 @@
     security.declareProtected(ScoView, 'partition_delete')
     partition_delete = sco_groups.partition_delete
     
-    security.declareProtected(ScoView, 'partition_set_bul_show_rank')
-    partition_set_bul_show_rank = sco_groups.partition_set_bul_show_rank
+    security.declareProtected(ScoView, 'partition_set_attr')
+    partition_set_attr = sco_groups.partition_set_attr
     
     security.declareProtected(ScoView, 'partition_move')
     partition_move = sco_groups.partition_move

Modified: branches/ScoDoc7/config/postupgrade-db.py
===================================================================
--- branches/ScoDoc7/config/postupgrade-db.py	2016-07-23 15:41:14 UTC (rev 1535)
+++ branches/ScoDoc7/config/postupgrade-db.py	2016-07-24 08:26:30 UTC (rev 1536)
@@ -462,6 +462,11 @@
     PRIMARY KEY (tag_id, module_id)
     ) WITH OIDS;;""", ] )
     
+    # add show_in_lists on partition
+    check_field(cnx, 'partition', 'show_in_lists',
+                ['alter table partition add column show_in_lists integer DEFAULT 1',
+                 'update partition set show_in_lists=1 where show_in_lists is NULL'])
+    
     # Add here actions to performs after upgrades:
     
     cnx.commit()

Modified: branches/ScoDoc7/misc/createtables.sql
===================================================================
--- branches/ScoDoc7/misc/createtables.sql	2016-07-23 15:41:14 UTC (rev 1535)
+++ branches/ScoDoc7/misc/createtables.sql	2016-07-24 08:26:30 UTC (rev 1536)
@@ -468,6 +468,7 @@
        compute_ranks integer default 1, -- calcul rang etudiants dans les groupes (currently unused)
        numero SERIAL, -- ordre de presentation
        bul_show_rank integer default 0,
+       show_in_lists integer default 1; -- montre dans les noms de groupes
        UNIQUE(formsemestre_id,partition_name)
 ) WITH OIDS;
 

Modified: branches/ScoDoc7/sco_groups.py
===================================================================
--- branches/ScoDoc7/sco_groups.py	2016-07-23 15:41:14 UTC (rev 1535)
+++ branches/ScoDoc7/sco_groups.py	2016-07-24 08:26:30 UTC (rev 1536)
@@ -70,7 +70,7 @@
 partitionEditor = EditableTable(
     'partition',
     'partition_id',
-    ('partition_id', 'formsemestre_id', 'partition_name', 'compute_ranks', 'numero', 'bul_show_rank'))
+    ('partition_id', 'formsemestre_id', 'partition_name', 'compute_ranks', 'numero', 'bul_show_rank', 'show_in_lists'))
 
 groupEditor = EditableTable(
     'group_descr',
@@ -629,8 +629,18 @@
             H.append('</td><td><a class="stdlink" href="affectGroups?partition_id=%s">répartir</a></td>' % p['partition_id'] )     
             H.append('<td><a class="stdlink" href="partition_rename?partition_id=%s">renommer</a></td>' % p['partition_id'] )
             # classement:
-            H.append('<td><input type="checkbox" class="rkbox" id="%s" name="%s" value="%s" onchange="update_rk(this);"/>afficher rang sur bulletins</td>' % (p['partition_id'],p['partition_id'],p['bul_show_rank']))
-            
+            H.append('<td width="250px">')
+            if p['bul_show_rank']:
+                checked = 'checked="1"'
+            else:
+                checked = ''
+            H.append('<div><input type="checkbox" class="rkbox" id="%s" name="%s" %s onchange="update_rk(this);"/>afficher rang sur bulletins</div>' % (p['partition_id'],p['partition_id'],checked))
+            if p['show_in_lists']:
+                checked = 'checked="1"'
+            else:
+                checked = ''
+            H.append('<div><input type="checkbox" class="rkbox" data-partition_id="%s" %s onchange="update_show_in_list(this);"/>afficher sur noms groupes</div>' % (p['partition_id'], checked))
+            H.append('</td>')
             #
             H.append('</tr>')
     H.append('</table>')
@@ -643,18 +653,21 @@
     H.append("""<p class="help">Les partitions sont des découpages de l'ensemble des étudiants. Par exemple, les "groupes de TD" sont une partition. On peut créer autant de partitions que nécessaire. Dans chaque partition, un nombre de groupes quelconque peuvent être créés (suivre le lien "répartir").</p>""")
     return '\n'.join(H) + context.sco_footer(REQUEST)
 
-def partition_set_bul_show_rank(context, partition_id, bul_show_rank, REQUEST=None):
-    """Set bul_show_rank"""
+def partition_set_attr(context, partition_id, attr, value, REQUEST=None):
+    """Set partition attribute: bul_show_rank or show_in_lists"""
+    if attr not in { 'bul_show_rank', 'show_in_lists' }:
+        raise ValueError('invalid partition attribute: %s' % attr)
+    
     partition = get_partition(context, partition_id)
     formsemestre_id = partition['formsemestre_id']
     if not context.Notes.can_change_groups(REQUEST, formsemestre_id):
         raise AccessDenied("Vous n'avez pas le droit d'effectuer cette opération !")
     
-    log('partition_set_bul_show_rank(%s)' % bul_show_rank)
-    bul_show_rank = int(bul_show_rank)
+    log('partition_set_attr(%s, %s, %s)' % (partition_id, attr, value))
+    value = int(value)
     
     cnx = context.GetDBConnexion()    
-    partition['bul_show_rank'] = bul_show_rank
+    partition[attr] = value
     partitionEditor.edit(cnx, partition)
     # invalid bulletin cache
     context.Notes._inval_cache(pdfonly=True, formsemestre_id=partition['formsemestre_id'])
@@ -1003,8 +1016,13 @@
     return 'gr' + '+'.join( [ g['group_name'] or 'tous' for g in groups ] )
 
 def listgroups_abbrev(groups):
-    """Human readable abbreviation descring groups (eg "A / AB / B3")"""
-    return ' / '.join( [ g['group_name'] for g in groups if g['group_name']] )
+    """Human readable abbreviation descring groups (eg "A / AB / B3")
+    Ne retient que les partitions avec show_in_lists
+    """
+    return ' / '.join( [ g['group_name'] 
+                         for g in groups 
+                         if g['group_name'] and g['show_in_lists']
+                         ])
 
 
 # form_group_choice replaces formChoixGroupe

Modified: branches/ScoDoc7/sco_moduleimpl_status.py
===================================================================
--- branches/ScoDoc7/sco_moduleimpl_status.py	2016-07-23 15:41:14 UTC (rev 1535)
+++ branches/ScoDoc7/sco_moduleimpl_status.py	2016-07-24 08:26:30 UTC (rev 1536)
@@ -176,7 +176,7 @@
         H.append( sco_formsemestre_status.html_expr_diagnostic(context, nt.expr_diagnostics) )
     #
     if nt.sem_has_decisions():
-        H.append("""<p class="warning">Décisions de jury saisies: seul le responsable du semestre peut saisir des notes (il devra modifier les décisions de jury).</p>""")
+        H.append("""<ul class="tf-msg"><li class="tf-msg warning">Décisions de jury saisies: seul le responsable du semestre peut saisir des notes (il devra modifier les décisions de jury).</li></ul>""")
     #
     H.append("""<p><form name="f"><span style="font-size:120%%; font-weight: bold;">%d évaluations :</span>
 <span style="padding-left: 30px;">

Modified: branches/ScoDoc7/sco_page_etud.py
===================================================================
--- branches/ScoDoc7/sco_page_etud.py	2016-07-23 15:41:14 UTC (rev 1535)
+++ branches/ScoDoc7/sco_page_etud.py	2016-07-24 08:26:30 UTC (rev 1536)
@@ -34,6 +34,7 @@
 from sco_utils import *
 from notesdb import *
 import scolars
+import sco_bac
 import sco_photos
 import sco_groups
 import sco_formsemestre
@@ -378,13 +379,20 @@
     photo_html = sco_photos.etud_photo_html(context, etud, title='fiche de '+etud['nom'], REQUEST=REQUEST)
     # experimental: may be too slow to be here
     etud['codeparcours'], etud['decisions_jury'] = sco_report.get_codeparcoursetud(context.Notes, etud, prefix='S', separator=', ')
-    
+
+    bac = sco_bac.Baccalaureat(etud['bac'], etud['specialite'])
+    etud['bac_abbrev'] = bac.abbrev()
     H = """<div class="etud_info_div">
     <span class="eid_left">
      <span class="eid_nom">%(nomprenom)s</span>
-     <div class="edi_info">Bac: %(bac)s</div>
+     <div class="edi_info">Bac: %(bac_abbrev)s</div>
      <div class="eid_info">%(codeparcours)s</div>
-    </span>""" % etud
+    """ % etud
+    if etud['cursem']:
+        groups = sco_groups.get_etud_groups(context, etudid, etud['cursem'])
+        grc = sco_groups.listgroups_abbrev(groups)
+        H += '<div class="eid_info">%s</div>' % (grc)
+    H += '</span>'
     if with_photo:
         H += '<span class="eid_right">' + photo_html + '</span>'
     

Modified: branches/ScoDoc7/sco_saisie_notes.py
===================================================================
--- branches/ScoDoc7/sco_saisie_notes.py	2016-07-23 15:41:14 UTC (rev 1535)
+++ branches/ScoDoc7/sco_saisie_notes.py	2016-07-24 08:26:30 UTC (rev 1536)
@@ -306,7 +306,7 @@
     
     # modif
     nb_changed, nb_suppress, existing_decisions = _notes_add(
-        context, authuser, evaluation_id, notes, comment='suppress all' )
+        context, authuser, evaluation_id, notes, comment='effacer tout' )
     assert nb_changed == nb_suppress       
     H = [ '<p>%s notes supprimées</p>' % nb_suppress ]
     if existing_decisions:

Modified: branches/ScoDoc7/static/css/scodoc.css
===================================================================
--- branches/ScoDoc7/static/css/scodoc.css	2016-07-23 15:41:14 UTC (rev 1535)
+++ branches/ScoDoc7/static/css/scodoc.css	2016-07-24 08:26:30 UTC (rev 1536)
@@ -1046,7 +1046,7 @@
 th.moduleimpl_evaluations {
   font-weight: normal;
   text-align: left;
-  color: red;
+  color: rgb(0,0,128);
 }
 
 th.moduleimpl_evaluations a, th.moduleimpl_evaluations a:visited {
@@ -1664,12 +1664,13 @@
   padding-bottom: 5px;
 }
 
-p.warning {
+.warning {
   font-weight: bold;
   color: red;
 }
-/* ---- ? ne fonctionne pas :  p.warning:before { /ScoDoc/static/icons/warning16_img"); } */
 
+/* ---- ne fonctionne pas :  p.warning:before { url(/ScoDoc/static/icons/warning16_img); } */
+
 form.sco_pref table.tf {
   border-spacing: 5px 15px;
 }

Modified: branches/ScoDoc7/static/js/editPartitionForm.js
===================================================================
--- branches/ScoDoc7/static/js/editPartitionForm.js	2016-07-23 15:41:14 UTC (rev 1535)
+++ branches/ScoDoc7/static/js/editPartitionForm.js	2016-07-24 08:26:30 UTC (rev 1536)
@@ -1,13 +1,38 @@
 
 // Met à jour bul_show_rank lorsque checkbox modifiees:
 function update_rk(e) {
-    var rk;
+    var v;
     if (e.checked)
-	rk='1';
+	    v='1';
     else
-	rk='0';
-    $('.epmsg').load('partition_set_bul_show_rank?partition_id=' + e.name + '&bul_show_rank=' + rk);
+	    v='0';
+    //$('.epmsg').load('partition_set_bul_show_rank?partition_id=' + e.name + '&bul_show_rank=' + v);
+    $.post('partition_set_attr',
+           { 'partition_id' :  e.name,
+             'attr' : 'bul_show_rank',
+             'value' : v
+           },
+           function(result) {
+               $('.epmsg').html(result);
+           });
+    return;
+} 
 
+function update_show_in_list(e) {
+    var v;
+    if (e.checked)
+	    v='1';
+    else
+	    v='0';
+    
+    $.post('partition_set_attr',
+           { 'partition_id' :  $(e).attr('data-partition_id'),
+             'attr' : 'show_in_lists',
+             'value' : v
+           },
+           function(result) {
+               $('.epmsg').html(result);
+           });
     return;
 } 
 


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