diff --git a/core/attributedef.class.inc.php b/core/attributedef.class.inc.php
index 1a148857e..6476062bd 100644
--- a/core/attributedef.class.inc.php
+++ b/core/attributedef.class.inc.php
@@ -5465,6 +5465,11 @@ class AttributeImage extends AttributeBlob
}
return '
'.$sRet.'
';
}
+
+ static public function GetFormFieldClass()
+ {
+ return '\\Combodo\\iTop\\Form\\Field\\ImageField';
+ }
}
/**
* A stop watch is an ormStopWatch object, it is stored as several columns in the database
diff --git a/sources/autoload.php b/sources/autoload.php
index 3e172fcee..9dd228f55 100644
--- a/sources/autoload.php
+++ b/sources/autoload.php
@@ -25,6 +25,7 @@ require_once APPROOT . 'sources/form/formmanager.class.inc.php';
require_once APPROOT . 'sources/form/field/field.class.inc.php';
require_once APPROOT . 'sources/form/field/fileuploadfield.class.inc.php';
require_once APPROOT . 'sources/form/field/blobfield.class.inc.php';
+require_once APPROOT . 'sources/form/field/imagefield.class.inc.php';
require_once APPROOT . 'sources/form/field/subformfield.class.inc.php';
require_once APPROOT . 'sources/form/field/textfield.class.inc.php';
require_once APPROOT . 'sources/form/field/hiddenfield.class.inc.php';
diff --git a/sources/form/field/imagefield.class.inc.php b/sources/form/field/imagefield.class.inc.php
new file mode 100644
index 000000000..41810caeb
--- /dev/null
+++ b/sources/form/field/imagefield.class.inc.php
@@ -0,0 +1,53 @@
+
+
+namespace Combodo\iTop\Form\Field;
+
+use \utils;
+use \Dict;
+use \ormDocument;
+use \Combodo\iTop\Form\Field\BlobField;
+
+/**
+ * Description of ImageField
+ *
+ * @author Guillaume Lajarige
+ */
+class ImageField extends BlobField
+{
+ public function GetDisplayValue()
+ {
+ if ($this->currentValue->IsEmpty())
+ {
+ $sValue = Dict::S('Portal:File:None');
+ }
+ else
+ {
+ $sFilename = $this->currentValue->GetFileName();
+ $iSize = utils::BytesToFriendlyFormat(strlen($this->currentValue->GetData()));
+ $sOpenLink = $this->GetDisplayUrl();
+ $sDownloadLink = $this->GetDownloadUrl();
+
+ $sValue = Dict::Format('Portal:File:DisplayInfo+', $sFilename, $iSize, $sOpenLink, $sDownloadLink);
+ }
+
+ return $sValue;
+ }
+
+}
diff --git a/sources/renderer/bootstrap/bsformrenderer.class.inc.php b/sources/renderer/bootstrap/bsformrenderer.class.inc.php
index c21e30fe1..c44236cdd 100644
--- a/sources/renderer/bootstrap/bsformrenderer.class.inc.php
+++ b/sources/renderer/bootstrap/bsformrenderer.class.inc.php
@@ -57,7 +57,8 @@ class BsFormRenderer extends FormRenderer
$this->AddSupportedField('DateTimeField', 'BsSimpleFieldRenderer');
$this->AddSupportedField('DurationField', 'BsSimpleFieldRenderer');
$this->AddSupportedField('FileUploadField', 'BsFileUploadFieldRenderer');
- $this->AddSupportedField('BlobField', 'BsSimpleFieldRenderer');
+ $this->AddSupportedField('BlobField', 'BsSimpleFieldRenderer');
+ $this->AddSupportedField('ImageField', 'BsSimpleFieldRenderer');
}
}
diff --git a/sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php b/sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php
index 98ccd66c7..a10757051 100644
--- a/sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php
+++ b/sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php
@@ -280,7 +280,8 @@ EOF
$oOutput->AddHtml('');
break;
- case 'Combodo\\iTop\\Form\\Field\\BlobField':
+ case 'Combodo\\iTop\\Form\\Field\\BlobField':
+ case 'Combodo\\iTop\\Form\\Field\\ImageField':
$oOutput->AddHtml('');