瀏覽代碼

Customer portal : Fixed exception in ManageBrick that was looking for objects out of its scope

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@4113 a333f486-631f-4898-b8df-5754b55c2be0
glajarige 9 年之前
父節點
當前提交
96c167dfc2

+ 7 - 0
datamodels/2.x/itop-portal-base/portal/src/controllers/managebrickcontroller.class.inc.php

@@ -192,6 +192,13 @@ class ManageBrickController extends BrickController
 			if (MetaModel::IsValidAttCode($oQuery->GetClass(), $sGroupingAreaAttCode))
 			{
 				$oDistinctQuery = DBSearch::FromOQL($oBrick->GetOql());
+				// Checking if there is a scope to apply
+				$oDistinctScopeQuery = $oApp['scope_validator']->GetScopeFilterForProfiles(UserRights::ListProfiles(), $oQuery->GetClass(), UR_ACTION_READ);
+				if ($oDistinctScopeQuery != null)
+				{
+					$oDistinctQuery = $oDistinctQuery->Intersect($oDistinctScopeQuery);
+				}
+				// Adding grouping conditions
 				$oFieldExp = new FieldExpression($sGroupingAreaAttCode, $sParentAlias);
 				$sDistinctSql = $oDistinctQuery->MakeGroupByQuery(array(), array('grouped_by_1' => $oFieldExp), true);
 				$aDistinctResults = CMDBSource::QueryToArray($sDistinctSql);