diff --git a/lib/Alchemy/Phrasea/Application/Lightbox.php b/lib/Alchemy/Phrasea/Application/Lightbox.php index c90450ec53..cb39cbda0f 100644 --- a/lib/Alchemy/Phrasea/Application/Lightbox.php +++ b/lib/Alchemy/Phrasea/Application/Lightbox.php @@ -237,6 +237,7 @@ return call_user_func( $basket = $repository->findUserBasket( $ssel_id , $app['Core']->getAuthenticatedUser() + , false ); /* @var $twig \Twig_Environment */ @@ -279,6 +280,7 @@ return call_user_func( $basket = $repository->findUserBasket( $ssel_id , $app['Core']->getAuthenticatedUser() + , false ); /* @var $twig \Twig_Environment */ @@ -353,6 +355,7 @@ return call_user_func( $basket = $repository->findUserBasket( $ssel_id , $app['Core']->getAuthenticatedUser() + , false ); $response = new Response($twig->render($template, array('basket' => $basket))); @@ -495,6 +498,7 @@ return call_user_func( $basket = $repository->findUserBasket( $ssel_id , $user + , false ); if (!$basket->getValidation()) diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Basket.php b/lib/Alchemy/Phrasea/Controller/Prod/Basket.php index 151627460a..c219388b52 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Basket.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Basket.php @@ -128,7 +128,7 @@ class Basket implements ControllerProviderInterface $em = $app['Core']->getEntityManager(); $basket = $em->getRepository('\Entities\Basket') - ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser()); + ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser(), true); $em->remove($basket); $em->flush(); @@ -162,7 +162,7 @@ class Basket implements ControllerProviderInterface $em = $app['Core']->getEntityManager(); $basket = $em->getRepository('\Entities\Basket') - ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser()); + ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser(), true); foreach ($basket->getElements() as $basket_element) { @@ -204,7 +204,7 @@ class Basket implements ControllerProviderInterface $em = $app['Core']->getEntityManager(); $basket = $em->getRepository('\Entities\Basket') - ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser()); + ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser(), true); $basket->setName($request->get('name', '')); $basket->setDescription($request->get('description')); @@ -240,7 +240,7 @@ class Basket implements ControllerProviderInterface $em = $app['Core']->getEntityManager(); $basket = $em->getRepository('\Entities\Basket') - ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser()); + ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser(), true); /* @var $twig \Twig_Environment */ $twig = $app['Core']->getTwig(); @@ -265,7 +265,7 @@ class Basket implements ControllerProviderInterface $em = $app['Core']->getEntityManager(); $basket = $em->getRepository('\Entities\Basket') - ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser()); + ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser(), true); /* @var $twig \Twig_Environment */ $twig = $app['Core']->getTwig(); @@ -290,7 +290,7 @@ class Basket implements ControllerProviderInterface $em = $app['Core']->getEntityManager(); $basket = $em->getRepository('\Entities\Basket') - ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser()); + ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser(), true); $archive_status = !!$request->get('archive'); @@ -337,7 +337,7 @@ class Basket implements ControllerProviderInterface $em = $app['Core']->getEntityManager(); $basket = $em->getRepository('\Entities\Basket') - ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser()); + ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser(), true); $user = $app['Core']->getAuthenticatedUser(); /* @var $user \User_Adapter */ @@ -413,7 +413,7 @@ class Basket implements ControllerProviderInterface /* @var $em \Doctrine\ORM\EntityManager */ $basket = $em->getRepository('\Entities\Basket') - ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser()); + ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser(), true); $user = $app['Core']->getAuthenticatedUser(); /* @var $user \User_Adapter */ @@ -475,9 +475,9 @@ class Basket implements ControllerProviderInterface $controllers->get('/{basket_id}/', function(Application $app, Request $request, $basket_id) { $em = $app['Core']->getEntityManager(); - + $basket = $em->getRepository('\Entities\Basket') - ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser()); + ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser(), false); if ($basket->getIsRead() === false) { @@ -495,7 +495,7 @@ class Basket implements ControllerProviderInterface ); $html = $twig->render('prod/WorkZone/Basket.html.twig', $params); - + return new Response($html); })->assert('basket_id', '\d+'); diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Tooltip.php b/lib/Alchemy/Phrasea/Controller/Prod/Tooltip.php index 56402a3ecf..f4e563777a 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Tooltip.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Tooltip.php @@ -40,7 +40,7 @@ class Tooltip implements ControllerProviderInterface $em = $app['Core']->getEntityManager(); $basket = $em->getRepository('\Entities\Basket') - ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser()); + ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser(), false); /* @var $twig \Twig_Environment */ $twig = $app['Core']->getTwig(); diff --git a/lib/Alchemy/Phrasea/Controller/Prod/WorkZone.php b/lib/Alchemy/Phrasea/Controller/Prod/WorkZone.php index 102cb919e0..78f2d6364c 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/WorkZone.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/WorkZone.php @@ -113,7 +113,7 @@ class WorkZone implements ControllerProviderInterface $em = $app['Core']->getEntityManager(); $basket = $em->getRepository('\Entities\Basket') - ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser()); + ->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser(), false); $params = array( 'Basket' => $basket diff --git a/lib/Alchemy/Phrasea/Helper/Record/Helper.php b/lib/Alchemy/Phrasea/Helper/Record/Helper.php index 15fb033a8f..aebf2a81f9 100644 --- a/lib/Alchemy/Phrasea/Helper/Record/Helper.php +++ b/lib/Alchemy/Phrasea/Helper/Record/Helper.php @@ -116,7 +116,7 @@ class Helper extends \Alchemy\Phrasea\Helper\Helper $repository = $em->getRepository('\Entities\Basket'); /* @var $$repository \Repositories\BasketRepository */ - $Basket = $repository->findUserBasket($Request->get('ssel'), $this->getCore()->getAuthenticatedUser()); + $Basket = $repository->findUserBasket($Request->get('ssel'), $this->getCore()->getAuthenticatedUser(), false); $this->selection->load_basket($Basket); diff --git a/lib/Doctrine/Repositories/BasketRepository.php b/lib/Doctrine/Repositories/BasketRepository.php index 2596978c80..7347ebbf77 100644 --- a/lib/Doctrine/Repositories/BasketRepository.php +++ b/lib/Doctrine/Repositories/BasketRepository.php @@ -132,7 +132,7 @@ class BasketRepository extends EntityRepository * @param \User_Adapter $user * @return \Entities\Basket */ - public function findUserBasket($basket_id, \User_Adapter $user) + public function findUserBasket($basket_id, \User_Adapter $user, $requireOwner) { $dql = 'SELECT b, e, s, p FROM Entities\Basket b @@ -158,7 +158,7 @@ class BasketRepository extends EntityRepository { $participant = false; - if ($basket->getValidation()) + if ($basket->getValidation() && !$requireOwner) { try { diff --git a/lib/classes/API/V1/adapter.class.php b/lib/classes/API/V1/adapter.class.php index 1f9950f096..9f2d602519 100644 --- a/lib/classes/API/V1/adapter.class.php +++ b/lib/classes/API/V1/adapter.class.php @@ -660,7 +660,7 @@ class API_V1_adapter extends API_V1_Abstract /* @var $repository \Repositories\BasketRepository */ - $Basket = $repository->findUserBasket($basket_id, $this->core->getAuthenticatedUser()); + $Basket = $repository->findUserBasket($basket_id, $this->core->getAuthenticatedUser(), true); $em->remove($Basket); $em->flush(); @@ -683,7 +683,7 @@ class API_V1_adapter extends API_V1_Abstract /* @var $repository \Repositories\BasketRepository */ - $Basket = $repository->findUserBasket($basket_id, $this->core->getAuthenticatedUser()); + $Basket = $repository->findUserBasket($basket_id, $this->core->getAuthenticatedUser(), false); $result->set_datas( array("basket_elements" => @@ -783,7 +783,7 @@ class API_V1_adapter extends API_V1_Abstract /* @var $repository \Repositories\BasketRepository */ - $Basket = $repository->findUserBasket($basket_id, $this->core->getAuthenticatedUser()); + $Basket = $repository->findUserBasket($basket_id, $this->core->getAuthenticatedUser(), true); $Basket->setName($name); $em->merge($Basket); @@ -819,7 +819,7 @@ class API_V1_adapter extends API_V1_Abstract /* @var $repository \Repositories\BasketRepository */ - $Basket = $repository->findUserBasket($basket_id, $this->core->getAuthenticatedUser()); + $Basket = $repository->findUserBasket($basket_id, $this->core->getAuthenticatedUser(), true); $Basket->setDescription($desc); $em->merge($Basket); diff --git a/lib/classes/eventsmanager/notify/orderdeliver.class.php b/lib/classes/eventsmanager/notify/orderdeliver.class.php index 21293899ab..6806a959dd 100644 --- a/lib/classes/eventsmanager/notify/orderdeliver.class.php +++ b/lib/classes/eventsmanager/notify/orderdeliver.class.php @@ -150,7 +150,7 @@ class eventsmanager_notify_orderdeliver extends eventsmanager_notifyAbstract $em = $this->core->getEntityManager(); $repository = $em->getRepository('\Entities\Basket'); - $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser()); + $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser(), false); } catch (Exception $e) { @@ -202,7 +202,7 @@ class eventsmanager_notify_orderdeliver extends eventsmanager_notifyAbstract $em = $this->core->getEntityManager(); $repository = $em->getRepository('\Entities\Basket'); - $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser()); + $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser(), false); } catch (Exception $e) { diff --git a/lib/classes/eventsmanager/notify/validate.class.php b/lib/classes/eventsmanager/notify/validate.class.php index 23cc170bc6..550086d281 100644 --- a/lib/classes/eventsmanager/notify/validate.class.php +++ b/lib/classes/eventsmanager/notify/validate.class.php @@ -143,7 +143,7 @@ class eventsmanager_notify_validate extends eventsmanager_notifyAbstract $em = $this->core->getEntityManager(); $repository = $em->getRepository('\Entities\Basket'); - $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser()); + $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser(), false); $basket_name = trim($basket->getName()) ?: _('Une selection'); } diff --git a/lib/classes/eventsmanager/notify/validationdone.class.php b/lib/classes/eventsmanager/notify/validationdone.class.php index 2104fba124..32a5bd4d8a 100644 --- a/lib/classes/eventsmanager/notify/validationdone.class.php +++ b/lib/classes/eventsmanager/notify/validationdone.class.php @@ -146,7 +146,7 @@ class eventsmanager_notify_validationdone extends eventsmanager_notifyAbstract $em = $this->core->getEntityManager(); $repository = $em->getRepository('\Entities\Basket'); - $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser()); + $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser(), false); } catch (Exception $e) { @@ -199,7 +199,7 @@ class eventsmanager_notify_validationdone extends eventsmanager_notifyAbstract $em = $this->core->getEntityManager(); $repository = $em->getRepository('\Entities\Basket'); - $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser()); + $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser(), false); } catch (Exception $e) { diff --git a/lib/classes/eventsmanager/notify/validationreminder.class.php b/lib/classes/eventsmanager/notify/validationreminder.class.php index 8c493829c9..13622a8500 100644 --- a/lib/classes/eventsmanager/notify/validationreminder.class.php +++ b/lib/classes/eventsmanager/notify/validationreminder.class.php @@ -159,7 +159,7 @@ class eventsmanager_notify_validationreminder extends eventsmanager_notifyAbstra $em = $this->core->getEntityManager(); $repository = $em->getRepository('\Entities\Basket'); - $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser()); + $basket = $repository->findUserBasket($ssel_id, $this->core->getAuthenticatedUser(), false); $basket_name = trim($basket->getName()) ? : _('Une selection'); } diff --git a/lib/classes/record/preview.class.php b/lib/classes/record/preview.class.php index 31ba211c39..6e5b0ff028 100644 --- a/lib/classes/record/preview.class.php +++ b/lib/classes/record/preview.class.php @@ -143,7 +143,7 @@ class record_preview extends record_adapter $repository = $em->getRepository('\Entities\Basket'); /* @var $repository \Repositories\BasketRepository */ - $Basket = $repository->findUserBasket($contId, $Core->getAuthenticatedUser()); + $Basket = $repository->findUserBasket($contId, $Core->getAuthenticatedUser(), false); /* @var $Basket \Entities\Basket */ $this->container = $Basket; diff --git a/lib/classes/set/export.class.php b/lib/classes/set/export.class.php index 3e6cde1ad6..deecccc163 100644 --- a/lib/classes/set/export.class.php +++ b/lib/classes/set/export.class.php @@ -63,7 +63,7 @@ class set_export extends set_abstract $repository = $em->getRepository('\Entities\Basket'); /* @var $repository \Repositories\BasketRepository */ - $Basket = $repository->findUserBasket($sstid, $user); + $Basket = $repository->findUserBasket($sstid, $user, false); foreach ($Basket->getElements() as $basket_element) { diff --git a/www/client/baskets.php b/www/client/baskets.php index fae632a59c..9a4cd0cf81 100644 --- a/www/client/baskets.php +++ b/www/client/baskets.php @@ -41,7 +41,7 @@ if ($Request->get('act') == "ADDIMG" && ($Request->get("p0") != "" && $Request-> { $repository = $em->getRepository('\Entities\Basket'); /* @var $repository \Repositories\BasketRepository */ - $basket = $repository->findUserBasket($Request->get('courChuId'), $user); + $basket = $repository->findUserBasket($Request->get('courChuId'), $user, true); $sbas_id = phrasea::sbasFromBas($Request->get('bas')); $record = new record_adapter($sbas_id, $Request->get('p0')); @@ -61,7 +61,7 @@ if ($Request->get('act') == "DELCHU" && ($Request->get("p0") != "" && $Request-> { $repository = $em->getRepository('\Entities\Basket'); /* @var $repository \Repositories\BasketRepository */ - $basket = $repository->findUserBasket($Request->get('courChuId'), $user); + $basket = $repository->findUserBasket($Request->get('courChuId'), $user, true); $em->remove($basket); $em->flush(); @@ -142,7 +142,7 @@ $out .= ''; $em = $Core->getEntityManager(); $repository = $em->getRepository('\Entities\Basket'); /* @var $repository \Repositories\BasketRepository */ -$basket = $repository->findUserBasket($courChuId, $user); +$basket = $repository->findUserBasket($courChuId, $user, true); $jscriptnochu = $basket->getName() . " : " . sprintf(_('paniers:: %d documents dans le panier'), $basket->getElements()->count()); diff --git a/www/include/download.php b/www/include/download.php index 98d0df351e..8bd2814be4 100644 --- a/www/include/download.php +++ b/www/include/download.php @@ -48,7 +48,7 @@ if ($parm["ssttid"] != "") /* @var $repository \Repositories\BasketRepository */ - $Basket = $repository->findUserBasket($Request->get('ssttid'), $Core->getAuthenticatedUser()); + $Basket = $repository->findUserBasket($Request->get('ssttid'), $Core->getAuthenticatedUser(), false); $exportname = str_replace(' ', '_', $basket->getName()) . "_" . date("Y-n-d"); } diff --git a/www/prod/docfunction.php b/www/prod/docfunction.php index f7201f0853..3861910693 100644 --- a/www/prod/docfunction.php +++ b/www/prod/docfunction.php @@ -243,7 +243,7 @@ $user = User_Adapter::getInstance($usr_id, $appbox); $repository = $em->getRepository('\Entities\Basket'); /* @var $repository \Repositories\BasketRepository */ - $Basket = $repository->findUserBasket($Request->get('SSTTID'), $Core->getAuthenticatedUser()); + $Basket = $repository->findUserBasket($Request->get('SSTTID'), $Core->getAuthenticatedUser(), false); foreach ($Basket->getElements() as $basket_element) {