diff --git a/application/cmdbabstract.class.inc.php b/application/cmdbabstract.class.inc.php index 061e045e4..2b4fe02ea 100644 --- a/application/cmdbabstract.class.inc.php +++ b/application/cmdbabstract.class.inc.php @@ -1351,7 +1351,8 @@ EOF $oPage->add("\n"); } // Hook the cancel button via jQuery so that it can be unhooked easily as well if needed - $oPage->add_ready_script("$('#form_{$this->m_iFormId} button.cancel').click( function() { BackToDetails('$sClass', $iKey)} );"); + $sDefaultUrl = '../pages/UI.php?operation=cancel'; + $oPage->add_ready_script("$('#form_{$this->m_iFormId} button.cancel').click( function() { BackToDetails('$sClass', $iKey, '$sDefaultUrl')} );"); $oPage->add("\n"); $iFieldsCount = count($aFieldsMap); diff --git a/application/itopwebpage.class.inc.php b/application/itopwebpage.class.inc.php index b3a731753..3fc98dc15 100644 --- a/application/itopwebpage.class.inc.php +++ b/application/itopwebpage.class.inc.php @@ -369,9 +369,16 @@ EOF window.history.back(); } - function BackToDetails(sClass, id) + function BackToDetails(sClass, id, sDefaultUrl) { - window.location.href = './UI.php?operation=details&class='+sClass+'&id='+id; + if (id > 0) + { + window.location.href = './UI.php?operation=details&class='+sClass+'&id='+id; + } + else + { + window.location.href = sDefaultUrl; + } } diff --git a/dictionaries/dictionary.itop.ui.php b/dictionaries/dictionary.itop.ui.php index 1e73215b0..a213e742c 100644 --- a/dictionaries/dictionary.itop.ui.php +++ b/dictionaries/dictionary.itop.ui.php @@ -461,6 +461,7 @@ Dict::Add('EN US', 'English', 'English', array( 'UI:CSVImport:idField' => 'id (Primary Key)', 'UI:Title:BulkImport' => 'iTop - Bulk import', 'UI:Title:BulkImport+' => 'CSV Import Wizard', + 'UI:Title:BulkSynchro_nbItem_ofClass_class' => 'Synchronization of %1$d objects of class %2$s', 'UI:CSVImport:ClassesSelectOne' => '-- select one --', 'UI:CSVImport:ErrorExtendedAttCode' => 'Internal error: "%1$s" is an incorrect code because "%2$s" is NOT an external key of the class "%3$s"', 'UI:CSVImport:ObjectsWillStayUnchanged' => '%1$d objects(s) will stay unchanged.', @@ -842,6 +843,7 @@ When associated with a trigger, each action is given an "order" number, specifyi 'UI:DisplayThisMessageAtStartup' => 'Display this message at startup', 'UI:RelationshipGraph' => 'Graphical view', 'UI:RelationshipList' => 'List', + 'UI:OperationCancelled' => 'Operation Cancelled', 'Portal:Title' => 'iTop user portal', 'Portal:Refresh' => 'Refresh', diff --git a/dictionaries/fr.dictionary.itop.ui.php b/dictionaries/fr.dictionary.itop.ui.php index 714653c79..3ce4c7df0 100644 --- a/dictionaries/fr.dictionary.itop.ui.php +++ b/dictionaries/fr.dictionary.itop.ui.php @@ -462,6 +462,7 @@ Dict::Add('FR FR', 'French', 'Français', array( 'UI:CSVImport:idField' => 'id (Clef primaire)', 'UI:Title:BulkImport' => 'iTop - Import massif', 'UI:Title:BulkImport+' => 'Assistant d\'import CSV', + 'UI:Title:BulkSynchro_nbItem_ofClass_class' => 'Synchronisation de %1$d éléments de type %2$s', 'UI:CSVImport:ClassesSelectOne' => '-- choisir une valeur --', 'UI:CSVImport:ErrorExtendedAttCode' => 'Erreur interne: "%1$s" n\'est pas une code correct car "%2$s" n\'est pas une clef externe de la classe "%3$s"', 'UI:CSVImport:ObjectsWillStayUnchanged' => '%1$d objets(s) resteront inchangés.', @@ -851,6 +852,7 @@ Lors de l\'association à un déclencheur, on attribue à chaque action un numé 'UI:DisplayThisMessageAtStartup' => 'Afficher ce message au démarrage', 'UI:RelationshipGraph' => 'Vue graphique', 'UI:RelationshipList' => 'Liste', + 'UI:OperationCancelled' => 'Opération Annulée', 'Portal:Title' => 'Portail utilisateur iTop', 'Portal:Refresh' => 'Rafraîchir', diff --git a/pages/UI.php b/pages/UI.php index 5ae487ca7..5ef83c13a 100644 --- a/pages/UI.php +++ b/pages/UI.php @@ -1471,6 +1471,11 @@ EOF ); $oP->SetCurrentTab(''); break; + + case 'cancel': + $oP->set_title(Dict::S('UI:OperationCancelled')); + $oP->add('

'.Dict::S('UI:OperationCancelled').'

'); + break; default: $oMenuNode = ApplicationMenu::GetMenuNode(ApplicationMenu::GetActiveNodeId());