From d0be9ad3c99a88ccec4f3338ea23a308aa8bc377 Mon Sep 17 00:00:00 2001 From: Joe Bordes Date: Mon, 30 Jan 2017 12:58:06 +0100 Subject: [PATCH] fix(Menu) correct sql updates for reordering. fixes #356 --- modules/evvtMenu/Save.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/evvtMenu/Save.php b/modules/evvtMenu/Save.php index 482c58b8b9..6cb838d42d 100644 --- a/modules/evvtMenu/Save.php +++ b/modules/evvtMenu/Save.php @@ -88,8 +88,15 @@ function delMenuBranch($topofbranch) { $id = $ids[$i]; $parent = $parents[$i]; $position = $positions[$i]; + $rs = $adb->pquery('select mseq from vtiger_evvtmenu WHERE evvtmenuid=?', array($id)); + $currentseq = $adb->query_result($rs, 0, 0); + if ($currentseq<$position) { + $adb->pquery('update vtiger_evvtmenu set mseq = mseq - 1 WHERE mparent=? AND mseq <= ? AND evvtmenuid <> ?', array($parent, $position, $id)); + } $adb->pquery('update vtiger_evvtmenu set mparent=?, mseq=? WHERE evvtmenuid=?', array($parent, $position, $id)); - $adb->pquery('update vtiger_evvtmenu set mseq = mseq + 1 WHERE mparent=? AND mseq >= ? AND evvtmenuid <> ?', array($parent, $position, $id)); + if ($currentseq>$position) { + $adb->pquery('update vtiger_evvtmenu set mseq = mseq + 1 WHERE mparent=? AND mseq >= ? AND evvtmenuid <> ?', array($parent, $position, $id)); + } } break; }