mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-24 11:08:45 +02:00
Fixed the handling of default values in the object creation form.
SVN:trunk[472]
This commit is contained in:
@@ -949,11 +949,6 @@ abstract class cmdbAbstractObject extends CMDBObject
|
|||||||
$sHTMLValue .= "<input type=\"hidden\" id=\"$iId\" name=\"attr_{$sAttCode}{$sNameSuffix}\" value=\"$value\" />\n";
|
$sHTMLValue .= "<input type=\"hidden\" id=\"$iId\" name=\"attr_{$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').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').result( function(event, data, formatted) { if (data) { $('#{$iId}').val(data[1]); } } );");
|
||||||
// Prepopulate with a default value -- but no display value...
|
|
||||||
//if (!empty($value))
|
|
||||||
//{
|
|
||||||
// $oPage->add_ready_script("\$('#label_$iInputId').search( 'domino.combodo.com' );");
|
|
||||||
//}
|
|
||||||
$aEventsList[] ='change';
|
$aEventsList[] ='change';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1176,6 +1171,46 @@ EOF
|
|||||||
{
|
{
|
||||||
if ($oAttDef->IsWritable())
|
if ($oAttDef->IsWritable())
|
||||||
{
|
{
|
||||||
|
if ($oObjectToClone != null)
|
||||||
|
{
|
||||||
|
$sValue = $oObjectToClone->GetEditValue($sAttCode);
|
||||||
|
$aArgs['this'] = $oObjectToClone;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(isset($aArgs['default'][$sAttCode]))
|
||||||
|
{
|
||||||
|
$sValue = $aArgs['default'][$sAttCode];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$sValue = $oAttDef->GetDefaultValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Prepopulate with a default value -- but no display value...
|
||||||
|
$sDisplayValue = '';
|
||||||
|
if (!empty($sValue))
|
||||||
|
{
|
||||||
|
$aAllowedValues = MetaModel::GetAllowedValues_att($sClass, $sAttCode, $aArgs, '');
|
||||||
|
switch (count($aAllowedValues))
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
case 0:
|
||||||
|
$sDisplayValue = $sValue;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$sDisplayValue = $sValue;
|
||||||
|
foreach($aAllowedValues as $key => $display)
|
||||||
|
{
|
||||||
|
if ($key == $sValue)
|
||||||
|
{
|
||||||
|
$sDisplayValue = $display;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if ($sStateAttCode == $sAttCode)
|
if ($sStateAttCode == $sAttCode)
|
||||||
{
|
{
|
||||||
// State attribute is always read-only from the UI
|
// State attribute is always read-only from the UI
|
||||||
@@ -1193,13 +1228,11 @@ EOF
|
|||||||
if ($iFlags & OPT_ATT_READONLY)
|
if ($iFlags & OPT_ATT_READONLY)
|
||||||
{
|
{
|
||||||
// Attribute is read-only
|
// Attribute is read-only
|
||||||
$sHTMLValue = ($oObjectToClone == null) ? '' : $oObjectToClone->GetAsHTML($sAttCode);
|
$sHTMLValue = ($oObjectToClone == null) ? $sDisplayValue : $oObjectToClone->GetAsHTML($sAttCode);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$sFieldId = 'att_'.$iFieldIndex;
|
$sFieldId = 'att_'.$iFieldIndex;
|
||||||
$sValue = ($oObjectToClone == null) ? '' : $oObjectToClone->Get($sAttCode);
|
|
||||||
$sDisplayValue = ($oObjectToClone == null) ? '' : $oObjectToClone->GetEditValue($sAttCode);
|
|
||||||
$sHTMLValue = "<div id=\"field_{$sFieldId}\">".self::GetFormElementForField($oPage, $sClass, $sAttCode, $oAttDef, $sValue, $sDisplayValue, $sFieldId, '', $iFlags, $aArgs)."</div>";
|
$sHTMLValue = "<div id=\"field_{$sFieldId}\">".self::GetFormElementForField($oPage, $sClass, $sAttCode, $oAttDef, $sValue, $sDisplayValue, $sFieldId, '', $iFlags, $aArgs)."</div>";
|
||||||
$aFieldsMap[$sFieldId] = $sAttCode;
|
$aFieldsMap[$sFieldId] = $sAttCode;
|
||||||
$aDetails[] = array('label' => $oAttDef->GetLabel(), 'value' => $sHTMLValue);
|
$aDetails[] = array('label' => $oAttDef->GetLabel(), 'value' => $sHTMLValue);
|
||||||
|
|||||||
16
pages/UI.php
16
pages/UI.php
@@ -664,7 +664,13 @@ try
|
|||||||
|
|
||||||
$oP->add("<img src=\"".$oObjToClone->GetIcon()."\" style=\"margin-top:-30px; margin-right:10px; float:right\">\n");
|
$oP->add("<img src=\"".$oObjToClone->GetIcon()."\" style=\"margin-top:-30px; margin-right:10px; float:right\">\n");
|
||||||
$oP->add("<div class=\"wizContainer\">\n");
|
$oP->add("<div class=\"wizContainer\">\n");
|
||||||
cmdbAbstractObject::DisplayCreationForm($oP, $sClass, $oObjToClone);
|
$aDefaults = utils::ReadParam('default', array());
|
||||||
|
$aContext = $oAppContext->GetAsHash();
|
||||||
|
foreach($aContext as $key => $value)
|
||||||
|
{
|
||||||
|
$aDefaults[$key] = $value;
|
||||||
|
}
|
||||||
|
cmdbAbstractObject::DisplayCreationForm($oP, $sClass, $oObjToClone, array( 'default' => $aDefaults));
|
||||||
$oP->add("</div>\n");
|
$oP->add("</div>\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -696,7 +702,13 @@ try
|
|||||||
$oP->add("<h1>".Dict::Format('UI:CreationTitle_Class', $sClassLabel)."</h1>\n");
|
$oP->add("<h1>".Dict::Format('UI:CreationTitle_Class', $sClassLabel)."</h1>\n");
|
||||||
$oP->add("<div class=\"wizContainer\">\n");
|
$oP->add("<div class=\"wizContainer\">\n");
|
||||||
$oP->add("<img src=\"".MetaModel::GetClassIcon($sClass)."\" style=\"margin-top:-30px; margin-right:10px; float:right\">\n");
|
$oP->add("<img src=\"".MetaModel::GetClassIcon($sClass)."\" style=\"margin-top:-30px; margin-right:10px; float:right\">\n");
|
||||||
cmdbAbstractObject::DisplayCreationForm($oP, $sClass, null /* $oObjToClone */);
|
$aDefaults = utils::ReadParam('default', array());
|
||||||
|
$aContext = $oAppContext->GetAsHash();
|
||||||
|
foreach($aContext as $key => $value)
|
||||||
|
{
|
||||||
|
$aDefaults[$key] = $value;
|
||||||
|
}
|
||||||
|
cmdbAbstractObject::DisplayCreationForm($oP, $sClass, null /* $oObjToClone */, array('default' => $aDefaults));
|
||||||
$oP->add("</div>\n");
|
$oP->add("</div>\n");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user