From c8c10f2776417127e86f9cd62d6e99d73a54cfbb Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Wed, 23 Jul 2014 16:32:14 +0200 Subject: [PATCH] PHRAS-205 #fix validation reorder --- lib/Alchemy/Phrasea/Controller/Prod/Basket.php | 8 ++++++++ www/skins/prod/jquery.WorkZone.js | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) 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) {