mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-18 16:18:47 +02:00
- Fixed bug#236: current value is now properly displayed in autcomplete fields, and the validation works properly too.
SVN:trunk[752]
This commit is contained in:
@@ -959,14 +959,11 @@ abstract class cmdbAbstractObject extends CMDBObject
|
||||
|
||||
if (!$oAttDef->IsExternalField())
|
||||
{
|
||||
$aCSSClasses = array();
|
||||
$bMandatory = 0;
|
||||
if ( (!$oAttDef->IsNullAllowed()) || ($iFlags & OPT_ATT_MANDATORY))
|
||||
{
|
||||
$aCSSClasses[] = 'mandatory';
|
||||
$bMandatory = 1;
|
||||
}
|
||||
$sCSSClasses = self::GetCSSClasses($aCSSClasses);
|
||||
$sValidationField = "<span id=\"v_{$iId}\"></span>";
|
||||
$sHelpText = $oAttDef->GetHelpOnEdition();
|
||||
$aEventsList = array('validate');
|
||||
@@ -988,7 +985,7 @@ abstract class cmdbAbstractObject extends CMDBObject
|
||||
case 'Text':
|
||||
$aEventsList[] ='keyup';
|
||||
$aEventsList[] ='change';
|
||||
$sHTMLValue = "<textarea class=\"resizable\" title=\"$sHelpText\" name=\"attr_{$sFieldPrefix}{$sAttCode}{$sNameSuffix}\" rows=\"8\" cols=\"40\" id=\"$iId\">$value</textarea> {$sValidationField}";
|
||||
$sHTMLValue = "<table><tr><td><textarea class=\"resizable\" title=\"$sHelpText\" name=\"attr_{$sFieldPrefix}{$sAttCode}{$sNameSuffix}\" rows=\"8\" cols=\"40\" id=\"$iId\">$value</textarea></td><td>{$sValidationField}</td></tr></table>";
|
||||
break;
|
||||
|
||||
case 'LinkedSet':
|
||||
@@ -1027,27 +1024,23 @@ abstract class cmdbAbstractObject extends CMDBObject
|
||||
default:
|
||||
// #@# todo - add context information (depending on dimensions)
|
||||
$aAllowedValues = MetaModel::GetAllowedValues_att($sClass, $sAttCode, $aArgs);
|
||||
$iFieldSize = $oAttDef->GetMaxSize();
|
||||
if ($aAllowedValues !== null)
|
||||
{
|
||||
//Enum field or external key, display a combo
|
||||
//if (count($aAllowedValues) == 0)
|
||||
//{
|
||||
// $sHTMLValue = "<input count=\"0\" type=\"text\" size=\"30\" value=\"\" name=\"attr_{$sAttCode}{$sNameSuffix}\" id=\"$iInputId\"{$sCSSClasses}/>";
|
||||
//}
|
||||
//else if (count($aAllowedValues) > 50)
|
||||
if (count($aAllowedValues) > 50)
|
||||
{
|
||||
// too many choices, use an autocomplete
|
||||
// The input for the auto complete
|
||||
if ($sDisplayValue == $oAttDef->GetNullValue()) // Null or zero is displayed as ''
|
||||
if ($oAttDef->IsNull($value)) // Null values are displayed as ''
|
||||
{
|
||||
$sDisplayValue = '';
|
||||
}
|
||||
$sHTMLValue = "<input count=\"".count($aAllowedValues)."\" type=\"text\" id=\"label_$iId\" size=\"30\" maxlength=\"255\" value=\"$sDisplayValue\"{$sCSSClasses}/> {$sValidationField}";
|
||||
$sHTMLValue = "<input count=\"".count($aAllowedValues)."\" type=\"text\" id=\"label_$iId\" size=\"30\" maxlength=\"$iFieldSize\" value=\"$sDisplayValue\"/> {$sValidationField}";
|
||||
// another hidden input to store & pass the object's Id
|
||||
$sHTMLValue .= "<input type=\"hidden\" id=\"$iId\" name=\"attr_{$sFieldPrefix}{$sAttCode}{$sNameSuffix}\" value=\"$value\" />\n";
|
||||
$oPage->add_ready_script("\$('#label_$iId').autocomplete('./ajax.render.php', { scroll:true, minChars:3, onItemSelect:selectItem, onFindValue:findValue, formatItem:formatItem, autoFill:true, keyHolder:'#$iId', extraParams:{operation:'autocomplete', sclass:'$sClass',attCode:'".$sAttCode."'}});");
|
||||
$oPage->add_ready_script("\$('#label_$iId').result( function(event, data, formatted) { if (data) { $('#{$iId}').val(data[1]); } } );");
|
||||
$oPage->add_ready_script("\$('#label_$iId').blur(function() { $(this).search(); } );");
|
||||
$oPage->add_ready_script("\$('#label_$iId').result( function(event, data, formatted) { if (data) { $('#{$iId}').val(data[1]); $('#{$iId}').trigger('change'); } else { $('#{$iId}').val(''); $('#{$iId}').trigger('change');} } );");
|
||||
$aEventsList[] ='change';
|
||||
}
|
||||
else
|
||||
@@ -1075,7 +1068,7 @@ abstract class cmdbAbstractObject extends CMDBObject
|
||||
}
|
||||
else
|
||||
{
|
||||
$sHTMLValue = "<input title=\"$sHelpText\" type=\"text\" size=\"30\" maxlength=\"255\" name=\"attr_{$sFieldPrefix}{$sAttCode}{$sNameSuffix}\" value=\"$value\" id=\"$iId\"/> {$sValidationField}";
|
||||
$sHTMLValue = "<input title=\"$sHelpText\" type=\"text\" size=\"30\" maxlength=\"$iFieldSize\" name=\"attr_{$sFieldPrefix}{$sAttCode}{$sNameSuffix}\" value=\"$value\" id=\"$iId\"/> {$sValidationField}";
|
||||
$aEventsList[] ='keyup';
|
||||
$aEventsList[] ='change';
|
||||
}
|
||||
@@ -1274,16 +1267,6 @@ EOF
|
||||
return $oObj->DisplayModifyForm( $oPage, $aExtraParams = array());
|
||||
}
|
||||
|
||||
protected static function GetCSSClasses($aCSSClasses)
|
||||
{
|
||||
$sCSSClasses = '';
|
||||
if (!empty($aCSSClasses))
|
||||
{
|
||||
$sCSSClasses = ' class="'.implode(' ', $aCSSClasses).'" ';
|
||||
}
|
||||
return $sCSSClasses;
|
||||
}
|
||||
|
||||
protected static function ProcessZlist($aList, $aDetails, $sCurrentTab, $sCurrentCol, $sCurrentSet)
|
||||
{
|
||||
//echo "<pre>ZList: ";
|
||||
|
||||
Reference in New Issue
Block a user