CSV export: added external fields (all scalar fields are given)

SVN:trunk[333]
This commit is contained in:
Romain Quetiez
2010-04-15 12:09:08 +00:00
parent 0a28faa9df
commit bf34791a80
2 changed files with 40 additions and 19 deletions

View File

@@ -214,7 +214,7 @@ abstract class cmdbAbstractObject extends CMDBObject
}
function GetBareDetails(WebPage $oPage)
{
{
$sHtml = '';
$oAppContext = new ApplicationContext();
$sStateAttCode = MetaModel::GetStateAttributeCode(get_class($this));
@@ -266,7 +266,7 @@ abstract class cmdbAbstractObject extends CMDBObject
if (!empty($sTemplate))
{
$oTemplate = new DisplayTemplate($sTemplate);
$sNameAttCode = MetaModel::GetNameAttributeCode(get_class($this));
$sNameAttCode = MetaModel::GetNameAttributeCode(get_class($this));
$oTemplate->Render($oPage, array('class_name'=> MetaModel::GetName(get_class($this)),'class'=> get_class($this),'pkey'=> $this->GetKey(), 'name' => $this->Get($sNameAttCode)));
}
else
@@ -365,12 +365,12 @@ abstract class cmdbAbstractObject extends CMDBObject
}
if ($bSelectMode)
{
if (!$bSingleSelectMode)
{
if (!$bSingleSelectMode)
{
$aAttribs['form::select'] = array('label' => "<input type=\"checkbox\" onChange=\"var value = this.checked; $('.selectList{$iListId}').each( function() { this.checked = value; } );\"></input>", 'description' => 'Select / Deselect All');
}
else
{
{
$aAttribs['form::select'] = array('label' => "", 'description' => '');
}
}
@@ -396,12 +396,12 @@ abstract class cmdbAbstractObject extends CMDBObject
$aRow['key'] = $oObj->GetKey();
if ($bSelectMode)
{
if ($bSingleSelectMode)
{
if ($bSingleSelectMode)
{
$aRow['form::select'] = "<input type=\"radio\" class=\"selectList{$iListId}\" name=\"selectObject\" value=\"".$oObj->GetKey()."\"></input>";
}
else
{
}
else
{
$aRow['form::select'] = "<input type=\"checkBox\" class=\"selectList{$iListId}\" name=\"selectObject[]\" value=\"".$oObj->GetKey()."\"></input>";
}
}
@@ -571,12 +571,27 @@ abstract class cmdbAbstractObject extends CMDBObject
$aHeader = array();
foreach($aAuthorizedClasses as $sAlias => $sClassName)
{
$aList[$sClassName] = MetaModel::GetZListItems($sClassName, 'details');
$aHeader[] = MetaModel::GetKeyLabel($sClassName);
foreach($aList[$sClassName] as $sAttCode)
{
$aHeader[] = MetaModel::GetLabel($sClassName, $sAttCode);
}
foreach(MetaModel::ListAttributeDefs($sClassName) as $sAttCode => $oAttDef)
{
if ($oAttDef->IsScalar())
{
$aList[$sClassName][$sAttCode] = $oAttDef;
}
}
$aHeader[] = MetaModel::GetKeyLabel($sClassName);
foreach($aList[$sClassName] as $sAttCode => $oAttDef)
{
if ($oAttDef->IsExternalField())
{
$sExtKeyLabel = MetaModel::GetLabel($sClassName, $oAttDef->GetKeyAttCode());
$sRemoteAttLabel = MetaModel::GetLabel($oAttDef->GetTargetClass(), $oAttDef->GetExtAttCode());
$aHeader[] = $sExtKeyLabel.'->'.$sRemoteAttLabel;
}
else
{
$aHeader[] = MetaModel::GetLabel($sClassName, $sAttCode);
}
}
}
$sHtml = '#'.$oSet->GetFilter()->ToOQL()."\n";
$sHtml .= implode($sSeparator, $aHeader)."\n";
@@ -587,9 +602,9 @@ abstract class cmdbAbstractObject extends CMDBObject
foreach($aAuthorizedClasses as $sAlias => $sClassName)
{
$oObj = $aObjects[$sAlias];
$aRow[] = $oObj->GetKey();
foreach($aList[$sClassName] as $sAttCode)
{
$aRow[] = $oObj->GetKey();
foreach($aList[$sClassName] as $sAttCode => $oAttDef)
{
$aRow[] = $oObj->GetAsCSV($sAttCode, $sSeparator, '\\');
}
}