[scodoc-devel] [SVN] Scolar : [1759] Ajout role et permission pour tagguer programmes PE

eviennet at lipn.univ-paris13.fr eviennet at lipn.univ-paris13.fr
Mer 31 Jan 12:10:19 CET 2018


Une pièce jointe HTML a été nettoyée...
URL: https://listes.univ-paris13.fr/pipermail/scodoc-devel/attachments/20180131/a0ceffec/attachment.htm 
-------------- section suivante --------------
Modified: branches/ScoDoc7/ZNotes.py
===================================================================
--- branches/ScoDoc7/ZNotes.py	2018-01-28 14:01:56 UTC (rev 1758)
+++ branches/ScoDoc7/ZNotes.py	2018-01-31 11:10:19 UTC (rev 1759)
@@ -302,7 +302,7 @@
     # Tags
     security.declareProtected(ScoView, 'module_tag_search')
     module_tag_search=sco_tag_module.module_tag_search
-    security.declareProtected(ScoChangeFormation,'module_tag_set')
+    security.declareProtected(ScoEditFormationTags,'module_tag_set')
     module_tag_set=sco_tag_module.module_tag_set
     
     # 

Modified: branches/ScoDoc7/ZScolar.py
===================================================================
--- branches/ScoDoc7/ZScolar.py	2018-01-28 14:01:56 UTC (rev 1758)
+++ branches/ScoDoc7/ZScolar.py	2018-01-31 11:10:19 UTC (rev 1759)
@@ -190,13 +190,15 @@
         H = []
         ok = True
         DeptRoles= self.DeptUsersRoles()
-
+        
         container = self.aq_parent # creates roles and permissions in parent folder
+        valid_roles = set(container.valid_roles())
         for role_name in DeptRoles:
-            r = container._addRole( role_name )
-            if r: # error
-                H.append(r)
-                ok = False
+            if role_name not in valid_roles:
+                r = container._addRole( role_name )
+                if r: # error
+                    H.append(r)
+                    ok = False
         
         for permission in Sco_Default_Permissions.keys():
             roles = [ r + DeptId for r in Sco_Default_Permissions[permission] ]
@@ -226,7 +228,7 @@
         # Donne les rôles utilisés dans ce departement.
         DeptId = self.DeptId()
         DeptRoles=[]
-        for role_type in ('Ens', 'Secr', 'Admin'):
+        for role_type in ('Ens', 'Secr', 'Admin', 'RespPe'):
             role_name = role_type + DeptId
             DeptRoles.append( role_name )
         return DeptRoles

Modified: branches/ScoDoc7/sco_edit_ue.py
===================================================================
--- branches/ScoDoc7/sco_edit_ue.py	2018-01-28 14:01:56 UTC (rev 1758)
+++ branches/ScoDoc7/sco_edit_ue.py	2018-01-31 11:10:19 UTC (rev 1759)
@@ -222,7 +222,7 @@
     #   - pas de modif des modules utilisés dans des semestres verrouillés
     #   - pas de changement des codes d'UE utilisés dans des semestres verrouillés
     editable = perm_change
-
+    tag_editable = authuser.has_permission(ScoEditFormationTags,context) or perm_change
     if locked:
         lockicon = icontag('lock32_img', title="verrouillé")
     else:
@@ -378,7 +378,7 @@
                 else:
                     klass =''
                 heurescoef += ', Apo: <span class="%s" data-url="edit_module_set_code_apogee" id="%s" data-placeholder="%s">' % (klass, Mod['module_id'], APO_MISSING_CODE_STR) + (Mod['code_apogee'] or '') + '</span>'
-                if editable:
+                if tag_editable:
                     tag_cls = 'module_tag_editor'
                 else:
                     tag_cls = 'module_tag_editor_ro'

Modified: branches/ScoDoc7/sco_permissions.py
===================================================================
--- branches/ScoDoc7/sco_permissions.py	2018-01-28 14:01:56 UTC (rev 1758)
+++ branches/ScoDoc7/sco_permissions.py	2018-01-31 11:10:19 UTC (rev 1759)
@@ -27,6 +27,8 @@
 
 ScoEditApo = ScoEtudChangeAdr # ajouter maquettes Apogee (=> chef dept et secr)
 
+ScoEditFormationTags = "Sco Tagguer les formations" # mettre/modifier des tags sur les modules
+
 ScoView = 'Sco View' 
 ScoEnsView = 'Sco View Ens' # parties visibles par enseignants slt
 
@@ -45,18 +47,19 @@
 # Default permissions for default roles
 # (set once on instance creation):
 Sco_Default_Permissions = {
-
-    ScoView               : ('Ens', 'Secr', 'Admin',),
-    ScoEnsView            : ('Ens',         'Admin',),
-    ScoUsersView          : ('Ens', 'Secr', 'Admin',),
-    ScoEtudAddAnnotations : ('Ens', 'Secr', 'Admin',),
+    
+    ScoView               : ('Ens', 'Secr', 'Admin', 'RespPe'),
+    ScoEnsView            : ('Ens',         'Admin', 'RespPe'),
+    ScoUsersView          : ('Ens', 'Secr', 'Admin', 'RespPe'),
+    ScoEtudAddAnnotations : ('Ens', 'Secr', 'Admin', 'RespPe'),
     ScoEtudSupprAnnotations : (             'Admin',),
-    ScoAbsChange          : ('Ens', 'Secr', 'Admin',),
-    ScoAbsAddBillet       : ('Ens', 'Secr', 'Admin',),
-    ScoEntrepriseView     : ('Ens', 'Secr', 'Admin',),    
+    ScoAbsChange          : ('Ens', 'Secr', 'Admin', 'RespPe'),
+    ScoAbsAddBillet       : ('Ens', 'Secr', 'Admin', 'RespPe'),
+    ScoEntrepriseView     : ('Ens', 'Secr', 'Admin', 'RespPe'),    
     ScoEntrepriseChange   : (       'Secr', 'Admin',),
     ScoEtudChangeAdr      : (       'Secr', 'Admin',), # utilisé aussi pour pv jury secretariats
     ScoChangeFormation    : (               'Admin',),
+    ScoEditFormationTags  : (               'Admin', 'RespPe'),
     ScoEditAllNotes       : (               'Admin',),
     ScoEditAllEvals       : (               'Admin',),
     ScoImplement          : (               'Admin',),


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