diff --git a/core/attributedef.class.inc.php b/core/attributedef.class.inc.php index 0ddf603d4b..94b717407e 100644 --- a/core/attributedef.class.inc.php +++ b/core/attributedef.class.inc.php @@ -5,7 +5,9 @@ */ use Combodo\iTop\Application\UI\Base\Component\FieldBadge\FieldBadgeUIBlockFactory; +use Combodo\iTop\Form\Field\LabelField; use Combodo\iTop\Form\Field\TextAreaField; +use Combodo\iTop\Form\Form; use Combodo\iTop\Form\Validator\NotEmptyExtKeyValidator; use Combodo\iTop\Form\Validator\Validator; use Combodo\iTop\Renderer\BlockRenderer; @@ -12622,19 +12624,17 @@ class AttributeCustomFields extends AttributeDefinition */ public function GetForm(DBObject $oHostObject, $sFormPrefix = null) { - try - { + try { $oValue = $oHostObject->Get($this->GetCode()); $oHandler = $this->GetHandler($oValue->GetValues()); $sFormId = is_null($sFormPrefix) ? 'cf_'.$this->GetCode() : $sFormPrefix.'_cf_'.$this->GetCode(); $oHandler->BuildForm($oHostObject, $sFormId); $oForm = $oHandler->GetForm(); - } catch (Exception $e) { - $oForm = new \Combodo\iTop\Form\Form(''); - $oField = new \Combodo\iTop\Form\Field\StringField(''); - $oField->SetReadOnly(true); - $oField->SetLabel('Custom field error: '); - $oField->SetCurrentValue($e->getMessage()); + } + catch (Exception $e) { + $oForm = new Form(''); + $oField = new LabelField(''); + $oField->SetLabel('Custom field error: '.$e->getMessage()); $oForm->AddField($oField); $oForm->Finalize(); } diff --git a/sources/Renderer/Console/ConsoleFormRenderer.php b/sources/Renderer/Console/ConsoleFormRenderer.php index 8ed341b533..73e1eee3bb 100644 --- a/sources/Renderer/Console/ConsoleFormRenderer.php +++ b/sources/Renderer/Console/ConsoleFormRenderer.php @@ -29,6 +29,7 @@ class ConsoleFormRenderer extends FormRenderer { parent::__construct($oForm); $this->AddSupportedField('HiddenField', 'ConsoleSimpleFieldRenderer'); + $this->AddSupportedField('LabelField', 'ConsoleSimpleFieldRenderer'); $this->AddSupportedField('StringField', 'ConsoleSimpleFieldRenderer'); $this->AddSupportedField('SelectField', 'ConsoleSimpleFieldRenderer'); $this->AddSupportedField('TextAreaField', 'ConsoleSimpleFieldRenderer'); diff --git a/sources/Renderer/Console/FieldRenderer/ConsoleSimpleFieldRenderer.php b/sources/Renderer/Console/FieldRenderer/ConsoleSimpleFieldRenderer.php index 475d0fa747..55839bcb96 100644 --- a/sources/Renderer/Console/FieldRenderer/ConsoleSimpleFieldRenderer.php +++ b/sources/Renderer/Console/FieldRenderer/ConsoleSimpleFieldRenderer.php @@ -64,24 +64,27 @@ class ConsoleSimpleFieldRenderer extends FieldRenderer { $oOutput->AddHtml(''); $oOutput->AddHtml(''.htmlentities($this->oField->GetCurrentValue(), ENT_QUOTES, 'UTF-8').''); + } else { + $oOutput->AddHtml(''); } - else - { - $oOutput->AddHtml(''); - } + $oOutput->AddHtml(''); + $oOutput->AddHtml(''); + break; + + case 'Combodo\\iTop\\Form\\Field\\LabelField': + $oOutput->AddHtml(''); + $oOutput->AddHtml(''.htmlentities($this->oField->GetCurrentValue(), ENT_QUOTES, 'UTF-8').''); $oOutput->AddHtml(''); $oOutput->AddHtml(''); break; case 'Combodo\\iTop\\Form\\Field\\StringField': $oOutput->AddHtml(''); - if ($this->oField->GetReadOnly()) - { - $oOutput->AddHtml(''); + if ($this->oField->GetReadOnly()) { + $oOutput->AddHtml(''); $oOutput->AddHtml(''.htmlentities($this->oField->GetCurrentValue(), ENT_QUOTES, 'UTF-8').''); - } - else - { + } else { $oOutput->AddHtml(''); } $oOutput->AddHtml(''); @@ -92,11 +95,9 @@ class ConsoleSimpleFieldRenderer extends FieldRenderer $bRichEditor = ($this->oField->GetFormat() === TextAreaField::ENUM_FORMAT_HTML); $oOutput->AddHtml(''); - if ($this->oField->GetReadOnly()) - { - $oOutput->AddHtml(''); - } - else + if ($this->oField->GetReadOnly()) { + $oOutput->AddHtml(''); + } else { $oOutput->AddHtml(''); // Some additional stuff if we are displaying it with a rich editor