浏览代码

#897 Rest Services: improved the error reporting when an external key is specified with a final class that is not a subclass of the class of the external key

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@3162 a333f486-631f-4898-b8df-5754b55c2be0
romainq 11 年之前
父节点
当前提交
56dc87f63e
共有 1 个文件被更改,包括 7 次插入3 次删除
  1. 7 3
      application/applicationextension.inc.php

+ 7 - 3
application/applicationextension.inc.php

@@ -758,11 +758,15 @@ class RestUtils
 		$aCriteriaReport = array();
 		if (isset($oCriteria->finalclass))
 		{
-			$sClass = $oCriteria->finalclass;
-			if (!MetaModel::IsValidClass($sClass))
+			if (!MetaModel::IsValidClass($oCriteria->finalclass))
+			{
+				throw new Exception("finalclass: Unknown class '".$oCriteria->finalclass."'");
+			}
+			if (!MetaModel::IsParentClass($sClass, $oCriteria->finalclass))
 			{
-				throw new Exception("finalclass: Unknown class '$sClass'");
+				throw new Exception("finalclass: '".$oCriteria->finalclass."' is not a child class of '$sClass'");
 			}
+			$sClass = $oCriteria->finalclass;
 		}
 		$oSearch = new DBObjectSearch($sClass);
 		foreach ($oCriteria as $sAttCode => $value)