Bläddra i källkod

#614 Fixed regression on multi column queries (could not display Null objects)

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@2421 a333f486-631f-4898-b8df-5754b55c2be0
romainq 12 år sedan
förälder
incheckning
20ba98ebae
1 ändrade filer med 44 tillägg och 24 borttagningar
  1. 44 24
      application/datatable.class.inc.php

+ 44 - 24
application/datatable.class.inc.php

@@ -360,41 +360,61 @@ EOF;
 			$aRow = array();
 			foreach($this->aClassAliases as $sAlias => $sClassName)
 			{
-				$sHilightClass = $aObjects[$sAlias]->GetHilightClass();
-				if ($sHilightClass != '')
+				if (is_object($aObjects[$sAlias]))
 				{
-					$aRow['@class'] = $sHilightClass;	
-				}
-				if ((($sSelectMode == 'single') || ($sSelectMode == 'multiple')) && $bFirstObject)
-				{
-					if (array_key_exists('selection_enabled', $aExtraParams) && isset($aExtraParams['selection_enabled'][$aObjects[$sAlias]->GetKey()]))
-					{
-						$sDisabled = ($aExtraParams['selection_enabled'][$aObjects[$sAlias]->GetKey()]) ? '' : ' disabled="disabled"';
-					}
-					else
+					$sHilightClass = $aObjects[$sAlias]->GetHilightClass();
+					if ($sHilightClass != '')
 					{
-						$sDisabled = '';
+						$aRow['@class'] = $sHilightClass;	
 					}
-					if ($sSelectMode == 'single')
+					if ((($sSelectMode == 'single') || ($sSelectMode == 'multiple')) && $bFirstObject)
 					{
-						$aRow['form::select'] = "<input type=\"radio\" $sDisabled class=\"selectList{$this->iListId}\" name=\"selectObject\" value=\"".$aObjects[$sAlias]->GetKey()."\"></input>";
+						if (array_key_exists('selection_enabled', $aExtraParams) && isset($aExtraParams['selection_enabled'][$aObjects[$sAlias]->GetKey()]))
+						{
+							$sDisabled = ($aExtraParams['selection_enabled'][$aObjects[$sAlias]->GetKey()]) ? '' : ' disabled="disabled"';
+						}
+						else
+						{
+							$sDisabled = '';
+						}
+						if ($sSelectMode == 'single')
+						{
+							$aRow['form::select'] = "<input type=\"radio\" $sDisabled class=\"selectList{$this->iListId}\" name=\"selectObject\" value=\"".$aObjects[$sAlias]->GetKey()."\"></input>";
+						}
+						else
+						{
+							$aRow['form::select'] = "<input type=\"checkBox\" $sDisabled class=\"selectList{$this->iListId}\" name=\"selectObject[]\" value=\"".$aObjects[$sAlias]->GetKey()."\"></input>";
+						}
 					}
-					else
+					foreach($aColumns[$sAlias] as $sAttCode => $aData)
 					{
-						$aRow['form::select'] = "<input type=\"checkBox\" $sDisabled class=\"selectList{$this->iListId}\" name=\"selectObject[]\" value=\"".$aObjects[$sAlias]->GetKey()."\"></input>";
+						if ($aData['checked'])
+						{
+							if ($sAttCode == '_key_')
+							{
+								$aRow['key_'.$sAlias] = $aObjects[$sAlias]->GetHyperLink();
+							}
+							else
+							{
+								$aRow[$sAttCode.'_'.$sAlias] = $aObjects[$sAlias]->GetAsHTML($sAttCode, $bLocalize);
+							}
+						}
 					}
 				}
-				foreach($aColumns[$sAlias] as $sAttCode => $aData)
+				else
 				{
-					if ($aData['checked'])
+					foreach($aColumns[$sAlias] as $sAttCode => $aData)
 					{
-						if ($sAttCode == '_key_')
-						{
-							$aRow['key_'.$sAlias] = $aObjects[$sAlias]->GetHyperLink();
-						}
-						else
+						if ($aData['checked'])
 						{
-							$aRow[$sAttCode.'_'.$sAlias] = $aObjects[$sAlias]->GetAsHTML($sAttCode, $bLocalize);
+							if ($sAttCode == '_key_')
+							{
+								$aRow['key_'.$sAlias] = '';
+							}
+							else
+							{
+								$aRow[$sAttCode.'_'.$sAlias] = '';
+							}
 						}
 					}
 				}