Ver código fonte

#190 No need to manage user rights for abstract classes

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@624 a333f486-631f-4898-b8df-5754b55c2be0
romainq 15 anos atrás
pai
commit
b626e06085
1 arquivos alterados com 12 adições e 0 exclusões
  1. 12 0
      addons/userrights/userrightsprofile.class.inc.php

+ 12 - 0
addons/userrights/userrightsprofile.class.inc.php

@@ -111,6 +111,9 @@ class URP_Profiles extends UserRightsBaseClass
 		$aDisplayData = array();
 		foreach (MetaModel::GetClasses('bizmodel') as $sClass)
 		{
+			// Skip non instantiable classes
+			if (MetaModel::IsAbstract($sClass)) continue;
+
 			$aStimuli = array();
 			foreach (MetaModel::EnumStimuli($sClass) as $sStimulusCode => $oStimulus)
 			{
@@ -1253,6 +1256,9 @@ class SetupProfiles
 		//
 		foreach (MetaModel::GetClasses('bizmodel') as $sClass)
 		{
+			// Skip non instantiable classes
+			if (MetaModel::IsAbstract($sClass)) continue;
+
 			self::DoCreateActionGrant($iProfile, UR_ACTION_READ, $sClass);
 			self::DoCreateActionGrant($iProfile, UR_ACTION_BULK_READ, $sClass);
 		}
@@ -1270,6 +1276,9 @@ class SetupProfiles
 		}
 		foreach ($aWriteableClasses as $sClass => $foo)
 		{
+			// Skip non instantiable classes
+			if (MetaModel::IsAbstract($sClass)) continue;
+
 			if (!MetaModel::IsValidClass($sClass))
 			{
 				throw new CoreException("Invalid class name '$sClass'");
@@ -1319,6 +1328,9 @@ class SetupProfiles
 			
 			foreach($aClass as $sClass)
 			{
+				// Skip non instantiable classes
+				if (MetaModel::IsAbstract($sClass)) continue;
+
 				if (!MetaModel::IsValidClass($sClass))
 				{
 					throw new CoreException("Invalid class name '$sClass'");