Przeglądaj źródła

Regression of 2.0.2 beta: Configure this list + discard all columns: the list cannot be loaded anymore (if saved)

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@3034 a333f486-631f-4898-b8df-5754b55c2be0
romainq 11 lat temu
rodzic
commit
595f4616e2
1 zmienionych plików z 14 dodań i 11 usunięć
  1. 14 11
      core/dbobjectset.class.php

+ 14 - 11
core/dbobjectset.class.php

@@ -92,19 +92,22 @@ class DBObjectSet
 		{
 			// Complete the attribute list with the attribute codes
 			$aAttToLoadWithAttDef = array();
-			foreach($aAttToLoad as $sClassAlias => $aAttList)
+			foreach($this->m_oFilter->GetSelectedClasses() as $sClassAlias => $sClass)
 			{
-				$aSelectedClasses = $this->m_oFilter->GetSelectedClasses();
-				$sClass = $aSelectedClasses[$sClassAlias];
-				foreach($aAttList as $sAttToLoad)
+				$aAttToLoadWithAttDef[$sClassAlias] = array();
+				if (array_key_exists($sClassAlias, $aAttToLoad))
 				{
-					$oAttDef = MetaModel::GetAttributeDef($sClass, $sAttToLoad);
-					$aAttToLoadWithAttDef[$sClassAlias][$sAttToLoad] = $oAttDef;
-					if ($oAttDef->IsExternalKey())
+					$aAttList = $aAttToLoad[$sClassAlias];
+					foreach($aAttList as $sAttToLoad)
 					{
-						// Add the external key friendly name anytime
-						$oFriendlyNameAttDef = MetaModel::GetAttributeDef($sClass, $sAttToLoad.'_friendlyname');
-						$aAttToLoadWithAttDef[$sClassAlias][$sAttToLoad.'_friendlyname'] = $oFriendlyNameAttDef;
+						$oAttDef = MetaModel::GetAttributeDef($sClass, $sAttToLoad);
+						$aAttToLoadWithAttDef[$sClassAlias][$sAttToLoad] = $oAttDef;
+						if ($oAttDef->IsExternalKey())
+						{
+							// Add the external key friendly name anytime
+							$oFriendlyNameAttDef = MetaModel::GetAttributeDef($sClass, $sAttToLoad.'_friendlyname');
+							$aAttToLoadWithAttDef[$sClassAlias][$sAttToLoad.'_friendlyname'] = $oFriendlyNameAttDef;
+						}
 					}
 				}
 				// Add the friendly name anytime
@@ -112,7 +115,7 @@ class DBObjectSet
 				$aAttToLoadWithAttDef[$sClassAlias]['friendlyname'] = $oFriendlyNameAttDef;
 
 				// Make sure that the final class is requested anytime, whatever the specification (needed for object construction!)
-				if (!MetaModel::IsStandaloneClass($sClass) && !array_key_exists('finalclass', $aAttList))
+				if (!MetaModel::IsStandaloneClass($sClass) && !array_key_exists('finalclass', $aAttToLoadWithAttDef[$sClassAlias]))
 				{
 					$aAttToLoadWithAttDef[$sClassAlias]['finalclass'] = MetaModel::GetAttributeDef($sClass, 'finalclass');
 				}