[scodoc-devel] [SVN] Scolar : [1811] Vue synchro etuds en lecture seule

eviennet at lipn.univ-paris13.fr eviennet at lipn.univ-paris13.fr
Ven 19 Oct 18:26:19 CEST 2018


Une pièce jointe HTML a été nettoyée...
URL: https://listes.univ-paris13.fr/pipermail/scodoc-devel/attachments/20181019/43d8c0fb/attachment-0001.htm 
-------------- section suivante --------------
Modified: branches/ScoDoc7/ZNotes.py
===================================================================
--- branches/ScoDoc7/ZNotes.py	2018-10-19 15:31:20 UTC (rev 1810)
+++ branches/ScoDoc7/ZNotes.py	2018-10-19 16:26:19 UTC (rev 1811)
@@ -2567,7 +2567,7 @@
     security.declareProtected(ScoEtudInscrit,'formsemestre_inscr_passage')
     formsemestre_inscr_passage = sco_inscr_passage.formsemestre_inscr_passage
 
-    security.declareProtected(ScoEtudInscrit,'formsemestre_synchro_etuds')
+    security.declareProtected(ScoView,'formsemestre_synchro_etuds')
     formsemestre_synchro_etuds = sco_synchro_etuds.formsemestre_synchro_etuds
 
     # ------------- RAPPORTS STATISTIQUES

Modified: branches/ScoDoc7/sco_formsemestre_status.py
===================================================================
--- branches/ScoDoc7/sco_formsemestre_status.py	2018-10-19 15:31:20 UTC (rev 1810)
+++ branches/ScoDoc7/sco_formsemestre_status.py	2018-10-19 16:26:19 UTC (rev 1811)
@@ -247,7 +247,7 @@
           },
         { 'title' : 'Synchroniser avec étape Apogée',
           'url' : 'formsemestre_synchro_etuds?formsemestre_id=' + formsemestre_id,
-          'enabled' : authuser.has_permission(ScoEtudInscrit, context) and context.get_preference('portal_url') and (sem['etat']== '1')
+          'enabled' : authuser.has_permission(ScoView, context) and context.get_preference('portal_url') and (sem['etat']== '1')
           },
         { 'title' : 'Inscrire un étudiant',
           'url' : 'formsemestre_inscription_with_modules_etud?formsemestre_id=' + formsemestre_id,

Modified: branches/ScoDoc7/sco_inscr_passage.py
===================================================================
--- branches/ScoDoc7/sco_inscr_passage.py	2018-10-19 15:31:20 UTC (rev 1810)
+++ branches/ScoDoc7/sco_inscr_passage.py	2018-10-19 16:26:19 UTC (rev 1811)
@@ -397,9 +397,11 @@
 
 
 def etuds_select_boxes(context, auth_etuds_by_cat,
-                       inscrits_ailleurs={}, sel_inscrits=True,
+                       inscrits_ailleurs={},
+                       sel_inscrits=True,
                        show_empty_boxes=False,
-                       export_cat_xls=None, base_url=''
+                       export_cat_xls=None, base_url='',
+                       read_only=False
                        ):
     """Boites pour selection étudiants par catégorie
     auth_etuds_by_cat = { category : { 'info' : {}, 'etuds' : ... }
@@ -436,7 +438,7 @@
         etuds = auth_etuds_by_cat[src_cat]['etuds']
         etuds.sort( lambda x,y: cmp(x['nom'], y['nom']) )
         
-        with_checkbox = auth_etuds_by_cat[src_cat]['infos'].get('with_checkbox', True)
+        with_checkbox = (not read_only) and auth_etuds_by_cat[src_cat]['infos'].get('with_checkbox', True)
         checkbox_name = auth_etuds_by_cat[src_cat]['infos'].get('checkbox_name', 'etuds')
         etud_key = auth_etuds_by_cat[src_cat]['infos'].get('etud_key', 'etudid')
         if etuds or show_empty_boxes: 

Modified: branches/ScoDoc7/sco_synchro_etuds.py
===================================================================
--- branches/ScoDoc7/sco_synchro_etuds.py	2018-10-19 15:31:20 UTC (rev 1810)
+++ branches/ScoDoc7/sco_synchro_etuds.py	2018-10-19 16:26:19 UTC (rev 1811)
@@ -54,8 +54,10 @@
     etuds=[], # liste des codes NIP des etudiants a inscrire (ou deja inscrits)
     inscrits_without_key=[], # codes etudid des etudiants sans code NIP a laisser inscrits
     anneeapogee=None,
-    submitted=False, dialog_confirmed=False,
+    submitted=False,
+    dialog_confirmed=False,
     export_cat_xls=None,
+    read_only=False, # Affiche sans permettre modifications
     REQUEST=None ):
     """Synchronise les étudiants de ce semestre avec ceux d'Apogée.
     On a plusieurs cas de figure: L'étudiant peut être
@@ -81,7 +83,13 @@
     log('formsemestre_synchro_etuds: formsemestre_id=%s' % formsemestre_id)
     sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
     sem['etape_apo_str'] = sco_formsemestre.formsemestre_etape_apo_str(sem)
-    
+    # Write access ?
+    authuser = REQUEST.AUTHENTICATED_USER
+    if not authuser.has_permission(ScoEtudInscrit, context):
+        read_only = True
+    if read_only:
+        submitted = False
+        dialog_confirmed = False
     # -- check lock
     if sem['etat'] != '1':
         raise ScoValueError('opération impossible: semestre verrouille')
@@ -200,8 +208,15 @@
     return '\n'.join(H)
 
 
-def build_page(context, sem, etuds_by_cat, anneeapogee,
-               export_cat_xls=None, base_url=''):
+def build_page(
+        context,
+        sem,
+        etuds_by_cat,
+        anneeapogee,
+        export_cat_xls=None,
+        base_url='',
+        read_only=False,
+        ):
     if export_cat_xls:
         return sco_inscr_passage.etuds_select_boxes(context, etuds_by_cat,
                                                     export_cat_xls=export_cat_xls,
@@ -240,7 +255,7 @@
         """
         </select>
         """,
-        """
+        '' if read_only else """
         <input type="hidden" name="formsemestre_id" value="%(formsemestre_id)s"/>
         <input type="submit" name="submitted" value="Appliquer les modifications"/>
         &nbsp;<a href="#help">aide</a>
@@ -249,7 +264,9 @@
         sco_inscr_passage.etuds_select_boxes(context, etuds_by_cat,
                                              sel_inscrits=False,
                                              show_empty_boxes=True,
-                                             base_url=base_url),
+                                             base_url=base_url,
+                                             read_only=read_only,
+                                             ),
         """<p/><input type="submit" name="submitted" value="Appliquer les modifications"/>""",
 
         formsemestre_synchro_etuds_help(context, sem),


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