Changeset 19639
- Timestamp:
- 02/03/12 11:25:07 (4 months ago)
- File:
-
- 1 edited
-
trunk/Xul_Commons/content/Commons/ExtPoints.jsm (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Xul_Commons/content/Commons/ExtPoints.jsm
r19186 r19639 686 686 */ 687 687 hasPermission : function(pPerms, pRoleNames, pSystemRights){ 688 //Si aucun role de paramétré dans l'extPoints, on ets dans un contexte hors getsion de droits, on valide la perm. 688 //Init perms 689 var vPerm, vOffset; 690 if(Array.isArray(pPerms)) { 691 vPerm = pPerms[0]; 692 vOffset = 1; 693 } else { 694 vPerm = pPerms; 695 } 696 697 //System rights 698 if(pSystemRights != null) { 699 while(vPerm) { 700 //log.info("hasPermission:::"+pPerms+" for roles:::"+pRoleNames); 701 var vPermRi = vPerm; 702 while(vPermRi) { 703 if(vPermRi.getSystemRights()>0 && ~(~vPermRi.getSystemRights() | pSystemRights)!=0) return false; 704 vPermRi = vPermRi.getParent(); 705 } 706 vPerm = vOffset>0 ? pPerms[vOffset++] : null; 707 } 708 //reinit des perm pour les roles. 709 if(Array.isArray(pPerms)) { 710 vPerm = pPerms[0]; 711 vOffset = 1; 712 } else { 713 vPerm = pPerms; 714 vOffset = 0; 715 } 716 } 717 718 //Si aucun role de paramétré dans l'extPoints, on est dans un contexte hors gestion de droits, on valide la perm. 689 719 if (!this.hasRoles()) return true; 690 720 if(!pRoleNames || pRoleNames.length==0) return false; … … 696 726 return vP2 - vP1; 697 727 }); 698 }699 var vPerm, vOffset;700 if(Array.isArray(pPerms)) {701 vPerm = pPerms[0];702 vOffset==1;703 } else {704 vPerm = pPerms;705 728 } 706 729 while(vPerm) { … … 840 863 * Teste s'il existe des rôles 841 864 * 842 * @return strue si au moins un role est défini865 * @return true si au moins un role est défini 843 866 */ 844 867 hasRoles : function() { … … 853 876 * Retourne la liste des rôles définies 854 877 * 855 * @return stableau des noms de rôles878 * @return tableau des noms de rôles 856 879 */ 857 880 getRoleNames : function () { … … 1234 1257 } 1235 1258 if(pRolePermList.deny) for each(var vPermName in pRolePermList.deny) { 1236 var vPRE = vR.fPREs[vPermName];1237 1259 if(pOverwriteParent || this.fParentExtPoints.getRolePermLevel(vRoleName, vPermName) < pLevelAuthority) { 1260 var vPRE = vR.fPREs[vPermName]; 1238 1261 if(!vPRE || vPRE.fLevel < pLevelAuthority) { 1239 1262 vR.fPREs[vPermName] = {fLevel : pLevelAuthority, fValue : false} … … 1242 1265 } 1243 1266 if(pRolePermList.allow) for each(var vPermName in pRolePermList.allow) { 1244 var vPRE = vR.fPREs[vPermName];1245 1267 if(pOverwriteParent || this.fParentExtPoints.getRolePermLevel(vRoleName, vPermName) < pLevelAuthority) { 1268 var vPRE = vR.fPREs[vPermName]; 1246 1269 if(!vPRE || vPRE.fLevel < pLevelAuthority) { 1247 1270 vR.fPREs[vPermName] = {fLevel : pLevelAuthority, fValue : true} … … 1250 1273 } 1251 1274 if(pRolePermList.erase) for each(var vPermName in pRolePermList.erase) { 1252 var vPRE = vR.fPREs[vPermName];1253 1275 if(pOverwriteParent || this.fParentExtPoints.getRolePermLevel(vRoleName, vPermName) < pLevelAuthority) { 1276 var vPRE = vR.fPREs[vPermName]; 1254 1277 if(!vPRE || vPRE.fLevel < pLevelAuthority) { 1255 1278 vR.fPREs[vPermName] = {fLevel : pLevelAuthority, fValue : null}
Note: See TracChangeset
for help on using the changeset viewer.