소스 검색

#951 Properly display localized values for ENUMs in the data model view.

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@3224 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 11 년 전
부모
커밋
462b1be2a0
1개의 변경된 파일11개의 추가작업 그리고 2개의 파일을 삭제
  1. 11 2
      pages/schema.php

+ 11 - 2
pages/schema.php

@@ -404,7 +404,6 @@ function DisplayClassDetails($oPage, $sClass, $sContext)
 		$sType = $oAttDef->GetType().' ('.$oAttDef->GetTypeDesc().')';
 		$sOrigin = MetaModel::GetAttributeOrigin($sClass, $sAttCode);
 		$sAllowedValues = "";
-		$oAllowedValuesDef = $oAttDef->GetValuesDef();
 		$sMoreInfo = "";
 
 		$aCols = array();
@@ -423,7 +422,17 @@ function DisplayClassDetails($oPage, $sClass, $sContext)
 			$sMoreInfo .= implode(', ', $aMoreInfo);
 		}
 
-		if (is_object($oAllowedValuesDef)) $sAllowedValues = $oAllowedValuesDef->GetValuesDescription();
+		if ($oAttDef instanceof AttributeEnum)
+		{
+			// Display localized values for the enum (which depend on the localization provided by the class)
+			$aLocalizedValues = MetaModel::GetAllowedValues_att($sClass, $sAttCode, array());
+			$aDescription = array();
+			foreach($aLocalizedValues as $val => $sDisplay)
+			{
+				$aDescription[] = htmlentities("$val => ", ENT_QUOTES, 'UTF-8').$sDisplay;
+			}
+			$sAllowedValues = implode(', ', $aDescription);
+		}
 		else $sAllowedValues = '';
 
 		$aDetails[] = array('code' => $oAttDef->GetCode(), 'type' => $sType, 'origin' => $sOrigin, 'label' => $oAttDef->GetLabel(), 'description' => $sValue, 'values' => $sAllowedValues, 'moreinfo' => $sMoreInfo);