diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Basket.php b/lib/Alchemy/Phrasea/Controller/Prod/Basket.php index 89b1660637..986c98584e 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Basket.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Basket.php @@ -234,14 +234,22 @@ class Basket implements ControllerProviderInterface { $basket = $app['EM']->getRepository('\Entities\Basket') ->findUserBasket($app, $basket_id, $app['authentication']->getUser(), true); + $basketElement = $app['EM']->getRepository('\Entities\BasketElement') + ->find($basket_element_id); + $ord = $basketElement->getOrd(); foreach ($basket->getElements() as $basket_element) { + if ($basket_element->getOrd() > $ord) { + $basket_element->setOrd($basket_element->getOrd() - 1); + } /* @var $basket_element \Entities\BasketElement */ if ($basket_element->getId() == $basket_element_id) { + $basket->removeElement($basket_element); $app['EM']->remove($basket_element); } } + $app['EM']->persist($basket); $app['EM']->flush(); $data = array( diff --git a/www/skins/prod/jquery.WorkZone.js b/www/skins/prod/jquery.WorkZone.js index 63a137dee9..810d1886d4 100644 --- a/www/skins/prod/jquery.WorkZone.js +++ b/www/skins/prod/jquery.WorkZone.js @@ -155,6 +155,8 @@ var p4 = p4 || {}; } selectedItem.remove(); + } else { + return p4.WorkZone.reloadCurrent(); } } else { humane.error(data.message); @@ -308,8 +310,8 @@ var p4 = p4 || {}; $('a.WorkZoneElementRemover', dest).bind('mousedown',function (event) { return false; }).bind('click', function (event) { - return WorkZoneElementRemover($(this), false); - }); + return WorkZoneElementRemover($(this), false); + }); dest.droppable({ accept: function (elem) {