diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php
index 2371d07bbae..422058f2203 100644
--- a/htdocs/core/class/html.formother.class.php
+++ b/htdocs/core/class/html.formother.class.php
@@ -839,12 +839,11 @@ class FormOther
var left_list = cleanSerialize(jQuery("#left").sortable("serialize"));
var right_list = cleanSerialize(jQuery("#right").sortable("serialize"));
var boxorder = \'A:\' + left_list + \'-B:\' + right_list;
- jQuery.ajax({ url: \''.DOL_URL_ROOT.'/core/ajax/box.php?boxorder=\'+boxorder+\'&boxid=\'+boxid+\'&zone='.$areacode.'&userid='.$user->id.'\',
- async: false
+ jQuery.ajax({
+ url: \''.DOL_URL_ROOT.'/core/ajax/box.php?boxorder=\'+boxorder+\'&boxid=\'+boxid+\'&zone='.$areacode.'&userid='.$user->id.'\',
+ async: false
});
- //jQuery.get(\''.DOL_URL_ROOT.'/core/ajax/box.php?boxorder=\'+boxorder+\'&boxid=\'+boxid+\'&zone='.$areacode.'&userid='.$user->id.'\');
window.location.search=\'mainmenu='.GETPOST("mainmenu").'&leftmenu='.GETPOST('leftmenu').'&action=addbox&boxid=\'+boxid;
- //window.location.href=\''.$_SERVER["PHP_SELF"].'\';
}
});';
if (! count($arrayboxtoactivatelabel)) print 'jQuery("#boxcombo").hide();';
@@ -940,16 +939,32 @@ class FormOther
containment: \'.fiche\',
connectWith: \'.connectedSortable\',
stop: function(event, ui) {
- updateOrder(0);
+ updateBoxOrder(0);
}
});
});
'."\n";
- print 'function updateOrder() {
- var left_list = cleanSerialize(jQuery("#left").sortable("serialize"));
- var right_list = cleanSerialize(jQuery("#right").sortable("serialize"));
- var boxorder = \'A:\' + left_list + \'-B:\' + right_list;
- jQuery.get(\''.DOL_URL_ROOT.'/core/ajax/box.php?boxorder=\'+boxorder+\'&zone='.$areacode.'&userid=\'+'.$user->id.');
+ // To update list of activated boxes
+ print 'function updateBoxOrder(closing) {
+ var left_list = cleanSerialize(jQuery("#left").sortable("serialize"));
+ var right_list = cleanSerialize(jQuery("#right").sortable("serialize"));
+ var boxorder = \'A:\' + left_list + \'-B:\' + right_list;
+ if (boxorder==\'A:A-B:B\' && closing == 1) // There is no more boxes on screen, and we are after a delete of a box so we must hide title
+ {
+ jQuery.ajax({
+ url: \''.DOL_URL_ROOT.'/core/ajax/box.php?boxorder=\'+boxorder+\'&zone='.$areacode.'&userid=\'+'.$user->id.',
+ async: false
+ });
+ // We force reload to be sure to get all boxes into list
+ window.location.search=\'mainmenu='.GETPOST("mainmenu").'&leftmenu='.GETPOST('leftmenu').'&action=delbox\';
+ }
+ else
+ {
+ jQuery.ajax({
+ url: \''.DOL_URL_ROOT.'/core/ajax/box.php?boxorder=\'+boxorder+\'&zone='.$areacode.'&userid=\'+'.$user->id.',
+ async: true
+ });
+ }
}'."\n";
// For closing
print 'jQuery(document).ready(function() {
@@ -957,7 +972,7 @@ class FormOther
var self = this; // because JQuery can modify this
var boxid=self.id.substring(8);
jQuery(\'#boxto_\'+boxid).remove();
- updateOrder();
+ updateBoxOrder(1);
});
});'."\n";
print ''."\n";