mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-12 23:14:18 +01:00
N°2381 - Not possible to create a ticket in "resolved" with lnk objects
This commit is contained in:
@@ -2443,6 +2443,7 @@ EOF
|
||||
* @throws \MySQLException
|
||||
* @throws \MySQLHasGoneAwayException
|
||||
* @throws \OQLException
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function DisplayModifyForm(WebPage $oPage, $aExtraParams = array())
|
||||
{
|
||||
@@ -2615,7 +2616,17 @@ HTML
|
||||
$sStateCode).'</option>';
|
||||
}
|
||||
$sStatesSelection .= '</select>';
|
||||
$oPage->add_ready_script("$('.state_select_{$this->m_iFormId}').change( function() { oWizardHelper$sPrefix.ReloadObjectCreationForm('form_{$this->m_iFormId}', $(this).val()); } );");
|
||||
$sStatesSelection .= '<input type="hidden" id="obj_state_orig" name="obj_state_orig" value="'.$this->GetState().'"/>';
|
||||
$oPage->add_ready_script(<<<JAVASCRIPT
|
||||
$('.state_select_{$this->m_iFormId}').change( function() {
|
||||
if ($('#obj_state_orig').val() != $(this).val()) {
|
||||
$('.state_select_{$this->m_iFormId}').val($(this).val());
|
||||
$('#form_{$this->m_iFormId}').data('force_submit', true);
|
||||
$('#form_{$this->m_iFormId}').submit();
|
||||
}
|
||||
});
|
||||
JAVASCRIPT
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -125,6 +125,11 @@ function OnUnload(sTransactionId, sObjClass, iObjKey, sToken)
|
||||
function OnSubmit(sFormId)
|
||||
{
|
||||
window.bInSubmit=true; // This is a submit, make sure that when the page gets unloaded we don't cancel the action
|
||||
|
||||
if ($('#'+sFormId).data('force_submit')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var bResult = CheckFields(sFormId, true);
|
||||
if (!bResult)
|
||||
{
|
||||
|
||||
22
pages/UI.php
22
pages/UI.php
@@ -1070,8 +1070,9 @@ EOF
|
||||
$oP->DisableBreadCrumb();
|
||||
$sClass = utils::ReadPostedParam('class', '', 'class');
|
||||
$sClassLabel = MetaModel::GetName($sClass);
|
||||
$sTransactionId = utils::ReadPostedParam('transaction_id', '', 'transaction_id');
|
||||
$sTransactionId = utils::ReadPostedParam('transaction_id', '', 'transaction_id');
|
||||
$aErrors = array();
|
||||
$aWarnings = array();
|
||||
if ( empty($sClass) ) // TO DO: check that the class name is valid !
|
||||
{
|
||||
throw new ApplicationException(Dict::Format('UI:Error:1ParametersMissing', 'class'));
|
||||
@@ -1092,6 +1093,11 @@ EOF
|
||||
$sTargetState = utils::ReadPostedParam('obj_state', '');
|
||||
if ($sTargetState != '')
|
||||
{
|
||||
$sOrigState = utils::ReadPostedParam('obj_state_orig', '');
|
||||
if ($sTargetState != $sOrigState)
|
||||
{
|
||||
$aWarnings[] = 'State changed';
|
||||
}
|
||||
$oObj->Set($sStateAttCode, $sTargetState);
|
||||
}
|
||||
}
|
||||
@@ -1104,7 +1110,7 @@ EOF
|
||||
|
||||
try
|
||||
{
|
||||
if (!empty($aErrors))
|
||||
if (!empty($aErrors) || !empty($aWarnings))
|
||||
{
|
||||
throw new CoreCannotSaveObjectException(array('id' => $oObj->GetKey(), 'class' => $sClass, 'issues' => $aErrors));
|
||||
}
|
||||
@@ -1140,7 +1146,15 @@ EOF
|
||||
$oP->set_title(Dict::Format('UI:CreationPageTitle_Class', $sClassLabel));
|
||||
$oP->add("<h1>".MetaModel::GetClassIcon($sClass)." ".Dict::Format('UI:CreationTitle_Class', $sClassLabel)."</h1>\n");
|
||||
$oP->add("<div class=\"wizContainer\">\n");
|
||||
$oP->AddHeaderMessage($e->getHtmlMessage(), 'message_error');
|
||||
if (!empty($aIssues))
|
||||
{
|
||||
$oP->AddHeaderMessage($e->getHtmlMessage(), 'message_error');
|
||||
}
|
||||
if (!empty($aWarnings))
|
||||
{
|
||||
$sWarnings = implode(', ', $aWarnings);
|
||||
$oP->AddHeaderMessage($sWarnings, 'message_info');
|
||||
}
|
||||
cmdbAbstractObject::DisplayCreationForm($oP, $sClass, $oObj);
|
||||
$oP->add("</div>\n");
|
||||
}
|
||||
@@ -1858,4 +1872,4 @@ catch(Exception $e)
|
||||
|
||||
IssueLog::Error($e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user