Fixed regression on attribute labels; introduced in [1581]

SVN:trunk[1602]
This commit is contained in:
Romain Quetiez
2011-09-23 13:30:21 +00:00
parent ec226ce76d
commit 099afb5451

View File

@@ -180,12 +180,20 @@ abstract class AttributeDefinition
public function IsNullAllowed() {return true;}
public function GetCode() {return $this->m_sCode;}
public function GetLabel($sDefault = '')
public function GetLabel($sDefault = null)
{
// If no default value is specified, let's define the most relevant one for developping purposes
if (is_null($sDefault))
{
$sDefault = $this->m_sCode;
}
$sLabel = Dict::S('Class:'.$this->m_sHostClass.'/Attribute:'.$this->m_sCode, '');
if (strlen($sLabel) == 0)
{
$sLabel = $this->m_sCode;
// Nothing found: go higher in the hierarchy (if possible)
//
$sLabel = $sDefault;
$sParentClass = MetaModel::GetParentClass($this->m_sHostClass);
if ($sParentClass)
{
@@ -195,11 +203,6 @@ abstract class AttributeDefinition
$sLabel = $oAttDef->GetLabel($sDefault);
}
}
else
{
// Nothing defined in the class hierarchy: return the default value
$sLabel = $sDefault;
}
}
return $sLabel;
}
@@ -217,50 +220,56 @@ abstract class AttributeDefinition
}
}
public function GetDescription($sDefault = '')
public function GetDescription($sDefault = null)
{
$sDescription = Dict::S('Class:'.$this->m_sHostClass.'/Attribute:'.$this->m_sCode.'+', '');
if (strlen($sDescription) == 0)
// If no default value is specified, let's define the most relevant one for developping purposes
if (is_null($sDefault))
{
$sDefault = '';
}
$sLabel = Dict::S('Class:'.$this->m_sHostClass.'/Attribute:'.$this->m_sCode.'+', '');
if (strlen($sLabel) == 0)
{
// Nothing found: go higher in the hierarchy (if possible)
//
$sLabel = $sDefault;
$sParentClass = MetaModel::GetParentClass($this->m_sHostClass);
if ($sParentClass)
{
if (MetaModel::IsValidAttCode($sParentClass, $this->m_sCode))
{
$oAttDef = MetaModel::GetAttributeDef($sParentClass, $this->m_sCode);
$sDescription = $oAttDef->GetDescription($sDefault);
$sLabel = $oAttDef->GetDescription($sDefault);
}
}
else
{
// Nothing defined in the class hierarchy: return the default value
$sDescription = $sDefault;
}
}
return $sDescription;
return $sLabel;
}
public function GetHelpOnEdition($sDefault = '')
public function GetHelpOnEdition($sDefault = null)
{
$sHelp = Dict::S('Class:'.$this->m_sHostClass.'/Attribute:'.$this->m_sCode.'?', '');
if (strlen($sHelp) == 0)
// If no default value is specified, let's define the most relevant one for developping purposes
if (is_null($sDefault))
{
$sDefault = '';
}
$sLabel = Dict::S('Class:'.$this->m_sHostClass.'/Attribute:'.$this->m_sCode.'?', '');
if (strlen($sLabel) == 0)
{
// Nothing found: go higher in the hierarchy (if possible)
//
$sLabel = $sDefault;
$sParentClass = MetaModel::GetParentClass($this->m_sHostClass);
if ($sParentClass)
{
if (MetaModel::IsValidAttCode($sParentClass, $this->m_sCode))
{
$oAttDef = MetaModel::GetAttributeDef($sParentClass, $this->m_sCode);
$sHelp = $oAttDef->GetHelpOnEdition($sDefault);
$sLabel = $oAttDef->GetHelpOnEdition($sDefault);
}
}
else
{
// Nothing defined in the class hierarchy: return the default value
$sHelp = $sDefault;
}
}
return $sHelp;
return $sLabel;
}
public function GetHelpOnSmartSearch()
@@ -2729,23 +2738,35 @@ class AttributeExternalField extends AttributeDefinition
}
}
public function GetLabel($sDefault = '')
public function GetLabel($sDefault = null)
{
$oRemoteAtt = $this->GetExtAttDef();
$sDefault = $oRemoteAtt->GetLabel();
return parent::GetLabel($sDefault);
$sLabel = parent::GetLabel('');
if (strlen($sLabel) == 0)
{
$oRemoteAtt = $this->GetExtAttDef();
$sLabel = $oRemoteAtt->GetLabel($this->m_sCode);
}
return $sLabel;
}
public function GetDescription($sDefault = '')
public function GetDescription($sDefault = null)
{
$oRemoteAtt = $this->GetExtAttDef();
$sDefault = $oRemoteAtt->GetDescription();
return parent::GetDescription($sDefault);
$sLabel = parent::GetDescription('');
if (strlen($sLabel) == 0)
{
$oRemoteAtt = $this->GetExtAttDef();
$sLabel = $oRemoteAtt->GetDescription('');
}
return $sLabel;
}
public function GetHelpOnEdition($sDefault = '')
public function GetHelpOnEdition($sDefault = null)
{
$oRemoteAtt = $this->GetExtAttDef();
$sDefault = $oRemoteAtt->GetHelpOnEdition();
return parent::GetHelpOnEdition($sDefault);
$sLabel = parent::GetHelpOnEdition('');
if (strlen($sLabel) == 0)
{
$oRemoteAtt = $this->GetExtAttDef();
$sLabel = $oRemoteAtt->GetHelpOnEdition('');
}
return $sLabel;
}
public function IsExternalKey($iType = EXTKEY_RELATIVE)