[Fusionforge-commits] r11816 - branches/Branch_5_1/src/common/include

Roland Mas lolando at libremir.placard.fr.eu.org
Wed Dec 15 18:30:36 CET 2010


Author: lolando
Date: 2010-12-15 18:30:36 +0100 (Wed, 15 Dec 2010)
New Revision: 11816

Modified:
   branches/Branch_5_1/src/common/include/RBAC.php
   branches/Branch_5_1/src/common/include/RBACEngine.class.php
Log:
Tracker/task admin doesn't necessarily imply tech (otherwise all forge admins would be techs for all trackers)

Modified: branches/Branch_5_1/src/common/include/RBAC.php
===================================================================
--- branches/Branch_5_1/src/common/include/RBAC.php	2010-12-15 16:35:00 UTC (rev 11815)
+++ branches/Branch_5_1/src/common/include/RBAC.php	2010-12-15 17:30:36 UTC (rev 11816)
@@ -676,26 +676,26 @@
 			
 		case 'tracker':
 			if ($this->hasPermission('tracker_admin', artifacttype_get_groupid($reference))) {
-				return 7 ;
+				return 5 | $value ;
 			}
 			return $value ;
 			break ;
 		case 'new_tracker':
 			if ($this->hasPermission('tracker_admin', $reference)) {
-				return 7 ;
+				return 5 | $value ;
 			}
 			return $value ;
 			break ;
 
 		case 'pm':
 			if ($this->hasPermission('pm_admin', projectgroup_get_groupid($reference))) {
-				return 7 ;
+				return 5 | $value ;
 			}
 			return $value ;
 			break ;
 		case 'new_pm':
 			if ($this->hasPermission('pm_admin', $reference)) {
-				return 7 ;
+				return 5 | $value ;
 			}
 			return $value ;
 			break ;

Modified: branches/Branch_5_1/src/common/include/RBACEngine.class.php
===================================================================
--- branches/Branch_5_1/src/common/include/RBACEngine.class.php	2010-12-15 16:35:00 UTC (rev 11815)
+++ branches/Branch_5_1/src/common/include/RBACEngine.class.php	2010-12-15 17:30:36 UTC (rev 11816)
@@ -386,23 +386,30 @@
 			$result = array_merge ($result, $this->_getRolesIdByAllowedAction ('project_admin', $reference)) ;
 			break ;
 		case 'tracker':
-			$t = artifactType_get_object ($reference) ;
-			$result = array_merge ($result, $this->_getRolesIdByAllowedAction ('tracker_admin', $t->Group->getID())) ;
+			if ($action != 'tech') {
+				$t = artifactType_get_object ($reference) ;
+				$result = array_merge ($result, $this->_getRolesIdByAllowedAction ('tracker_admin', $t->Group->getID())) ;
+			}
 			break ;			
 		case 'pm':
-			$t = projectgroup_get_object ($reference) ;
-			$result = array_merge ($result, $this->_getRolesIdByAllowedAction ('pm_admin', $t->Group->getID())) ;
+			if ($action != 'tech') {
+				$t = projectgroup_get_object ($reference) ;
+				$result = array_merge ($result, $this->_getRolesIdByAllowedAction ('pm_admin', $t->Group->getID())) ;
+			}
 			break ;			
 		case 'forum':
 			$t = forum_get_object ($reference) ;
 			$result = array_merge ($result, $this->_getRolesIdByAllowedAction ('forum_admin', $t->Group->getID())) ;
 			break ;			
 		case 'new_tracker':
-			$result = array_merge ($result, $this->_getRolesIdByAllowedAction ('tracker_admin', $reference)) ;
+			if ($action != 'tech') {
+				$result = array_merge ($result, $this->_getRolesIdByAllowedAction ('tracker_admin', $reference)) ;
+			}
 			break ;			
 		case 'new_pm':
-			$t = projectgroup_get_object ($reference) ;
-			$result = array_merge ($result, $this->_getRolesIdByAllowedAction ('pm_admin', $reference)) ;
+			if ($action != 'tech') {
+				$result = array_merge ($result, $this->_getRolesIdByAllowedAction ('pm_admin', $reference)) ;
+			}
 			break ;			
 		case 'new_forum':
 			$t = forum_get_object ($reference) ;




More information about the Fusionforge-commits mailing list