[Scodoc-devel] [SVN] Scolar : [1523] Possibilite d' export meme si etudiants Apogee manquants dans ScoDoc

eviennet at lipn.univ-paris13.fr eviennet at lipn.univ-paris13.fr
Mar 12 Juil 00:14:55 CEST 2016


Une pièce jointe HTML a été nettoyée...
URL: <https://www-rt.iutv.univ-paris13.fr/pipermail/scodoc-devel/attachments/20160712/50d058e2/attachment-0001.html>
-------------- section suivante --------------
Modified: branches/ScoDoc7/sco_etape_apogee.py
===================================================================
--- branches/ScoDoc7/sco_etape_apogee.py	2016-07-11 21:21:41 UTC (rev 1522)
+++ branches/ScoDoc7/sco_etape_apogee.py	2016-07-11 22:14:55 UTC (rev 1523)
@@ -211,7 +211,7 @@
     
     return nips_ok, apo_nips, nips_no_apo, nips_no_sco 
 
-def apo_csv_semset_check(context, semset): # was apo_csv_check
+def apo_csv_semset_check(context, semset, allow_missing_apo=False): # was apo_csv_check
     """
     check students in stored maqs vs students in semset
       Cas à détecter:
@@ -254,7 +254,7 @@
     # All ok ?
     ok_for_export = ( (not etapes_missing_csv) 
                       and (not semset['etuds_without_nip']) 
-                      and (not nips_no_apo)
+                      and ((not nips_no_apo) or allow_missing_apo)
                       and (not apo_dups) )
     
     return ok_for_export, etapes_missing_csv, semset['etuds_without_nip'], nips_ok, nips_no_apo, nips_no_sco, apo_dups

Modified: branches/ScoDoc7/sco_etape_apogee_view.py
===================================================================
--- branches/ScoDoc7/sco_etape_apogee_view.py	2016-07-11 21:21:41 UTC (rev 1522)
+++ branches/ScoDoc7/sco_etape_apogee_view.py	2016-07-11 22:14:55 UTC (rev 1523)
@@ -44,7 +44,7 @@
 from sco_apogee_csv import APO_PORTAL_ENCODING, APO_INPUT_ENCODING
 
 
-def apo_semset_maq_status(context, semset_id='', REQUEST=None):
+def apo_semset_maq_status(context, semset_id='', allow_missing_apo=False, REQUEST=None):
     """Page statut / tableau de bord
     
     """
@@ -53,9 +53,11 @@
     semset = sco_semset.SemSet(context, semset_id=semset_id)
     semset.fill_formsemestres(REQUEST)
 
+    allow_missing_apo = int(allow_missing_apo) # autorise export meme si etdiants Apo manquants
+    
     tab_archives = table_apo_csv_list( context, semset, REQUEST=REQUEST)
 
-    ok_for_export, etapes_missing_csv, etuds_without_nip, nips_ok, nips_no_apo, nips_no_sco, apo_dups = sco_etape_apogee.apo_csv_semset_check(context, semset)
+    ok_for_export, etapes_missing_csv, etuds_without_nip, nips_ok, nips_no_apo, nips_no_sco, apo_dups = sco_etape_apogee.apo_csv_semset_check(context, semset, allow_missing_apo)
 
     ok_for_export &= semset['jury_ok']
     
@@ -116,8 +118,6 @@
         if nips_no_sco: # seulement un warning
             url_list = 'view_apo_etuds?semset_id=%s&title=Etudiants%%20presents%%20dans%%20maquettes%%20Apogee%%20mais%%20pas%%20dans%%20les%%20semestres%%20ScoDoc:&nips=%s' % (semset_id, '&nips='.join(nips_no_sco) )
             H.append('<li class="apo_csv_warning">Attention: il y a <a href="%s">%d étudiant(s)</a> dans les maquettes Apogée chargées non inscrit(s) dans ce semestre ScoDoc;</li>' % (url_list, len(nips_no_sco)) )
-        
-        H.append('''<li>%d étudiants, prêt pour l'export.</li>'''%len(nips_ok))
         H.append('<ul>')
     else:
         H.append('''<span>Problèmes à résoudre avant export des résultats:</span>''')
@@ -140,10 +140,7 @@
         if apo_dups:
             url_list = 'view_apo_etuds?semset_id=%s&title=Doublons%%20Apogee&nips=%s' % (semset_id, '&nips='.join(apo_dups) )
             H.append('<li><a href="%s">%d étudiants</a> présents dans les <em>plusieurs</em> maquettes Apogée chargées</li>' % (url_list, len(apo_dups)) )
-            
-        if not semset['jury_ok']:
-            H.append('''<li>Il manque des décisions de jury !</li>''')
-            
+        
         H.append('</ul></div>')
     H.append('</div>')
 
@@ -152,16 +149,37 @@
         class_ok = 'apo_csv_jury_ok'
     else:
         class_ok = 'apo_csv_jury_nok'
-    H.append('<div class="apo_csv_jury %s">' % class_ok)
-    if semset and ok_for_export:
-        H.append('''<ul><li>Décisions de jury saisies</li></ul>''')
+
+    H.append('<div class="apo_csv_jury %s"><ul>' % class_ok)
+    if semset['jury_ok']:
+        H.append('''<li>Décisions de jury saisies</li>''')
+    else:
+        H.append('''<li>Il manque des décisions de jury !</li>''')
+    if ok_for_export:
+        H.append('''<li>%d étudiants, prêt pour l'export.</li>'''%len(nips_ok))
+    H.append('</ul></div>')        
+
+    H.append( """<form name="f" method="get" action="%s">
+    <input type="hidden" name="semset_id" value="%s"></input>
+    <input type="checkbox" name="allow_missing_apo" value="1" onchange="document.f.submit()" """ 
+        % (REQUEST.URL0, semset_id))
+    if allow_missing_apo:
+        H.append('checked')
+    H.append(""" >autoriser export même si étudiants manquants dans Apogée</input></form>""")
+
+    
+    H.append('<div>')
+    if semset and ok_for_export:        
         H.append('''<form action="apo_csv_export_results" method="get">
             <input type="submit" value="Export vers Apogée">
             <input type="hidden" name="semset_id" value="%s"/>
             </form>''' % (semset_id,))
     
-    H.append('<div>')
+    H.append('</div>')
 
+
+    
+    
     # Aide:
     H.append('''<div class="pas_help">
     <h3>Explications</h3>
@@ -478,7 +496,7 @@
 
     H += [
         tab.html(),        
-        '''<p><a class="stdlink" href="view_apo_csv?etape_apo=%s&semset_id=%s&format=raw">fichier maquette CSV brut</a></p>'''
+        '''<p><a class="stdlink" href="view_apo_csv?etape_apo=%s&semset_id=%s&format=raw">fichier maquette CSV brut (non rempli par ScoDoc)</a></p>'''
         % (etape_apo, semset_id),
         '''<div><a class="stdlink" href="apo_semset_maq_status?semset_id=%s">Retour</a>    
         </div>'''


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