diff --git a/lib/Alchemy/Phrasea/Controller/Client/Baskets.php b/lib/Alchemy/Phrasea/Controller/Client/Baskets.php index 0472905218..811f1b7af3 100644 --- a/lib/Alchemy/Phrasea/Controller/Client/Baskets.php +++ b/lib/Alchemy/Phrasea/Controller/Client/Baskets.php @@ -61,7 +61,7 @@ class Baskets implements ControllerProviderInterface public function deleteBasketElement(Application $app, Request $request) { try { - $repository = $app['EM']->getRepository('Phraseanet:BasketElement'); + $repository = $app['repo.basket-elements']; $basketElement = $repository->findUserElement($request->request->get('p0'), $app['authentication']->getUser()); $app['EM']->remove($basketElement); $app['EM']->flush(); diff --git a/lib/Alchemy/Phrasea/Controller/Datafiles.php b/lib/Alchemy/Phrasea/Controller/Datafiles.php index 2784ecb667..946b94e661 100644 --- a/lib/Alchemy/Phrasea/Controller/Datafiles.php +++ b/lib/Alchemy/Phrasea/Controller/Datafiles.php @@ -80,7 +80,7 @@ class Datafiles extends AbstractDelivery if ($watermark && !$all_access) { - $repository = $app['EM']->getRepository('Phraseanet:BasketElement'); + $repository = $app['repo.basket-elements']; /* @var $repository BasketElementRepository */ diff --git a/lib/Alchemy/Phrasea/Controller/Lightbox.php b/lib/Alchemy/Phrasea/Controller/Lightbox.php index f29a67958d..833e51be01 100644 --- a/lib/Alchemy/Phrasea/Controller/Lightbox.php +++ b/lib/Alchemy/Phrasea/Controller/Lightbox.php @@ -118,7 +118,7 @@ class Lightbox implements ControllerProviderInterface ->assert('sselcont_id', '\d+'); $controllers->get('/ajax/LOAD_BASKET_ELEMENT/{sselcont_id}/', function (SilexApplication $app, $sselcont_id) { - $repository = $app['EM']->getRepository('Phraseanet:BasketElement'); + $repository = $app['repo.basket-elements']; $BasketElement = $repository->findUserElement($sselcont_id, $app['authentication']->getUser()); @@ -346,7 +346,7 @@ class Lightbox implements ControllerProviderInterface Return new Response('You must provide a note value', 400); } - $repository = $app['EM']->getRepository('Phraseanet:BasketElement'); + $repository = $app['repo.basket-elements']; $basket_element = $repository->findUserElement($sselcont_id, $app['authentication']->getUser()); @@ -393,7 +393,7 @@ class Lightbox implements ControllerProviderInterface 'datas' => $app->trans('Erreur lors de la mise a jour des donnes') ]; - $repository = $app['EM']->getRepository('Phraseanet:BasketElement'); + $repository = $app['repo.basket-elements']; $basket_element = $repository->findUserElement( $sselcont_id diff --git a/lib/Alchemy/Phrasea/Controller/Permalink.php b/lib/Alchemy/Phrasea/Controller/Permalink.php index d6c438c54c..ba2dcc0207 100644 --- a/lib/Alchemy/Phrasea/Controller/Permalink.php +++ b/lib/Alchemy/Phrasea/Controller/Permalink.php @@ -157,7 +157,7 @@ class Permalink extends AbstractDelivery $watermark = !$app['acl']->get($app['authentication']->getUser())->has_right_on_base($record->get_base_id(), 'nowatermark'); if ($watermark) { - $repository = $app['EM']->getRepository('Phraseanet:BasketElement'); + $repository = $app['repo.basket-elements']; if (count($repository->findReceivedValidationElementsByRecord($record, $app['authentication']->getUser())) > 0) { $watermark = false; diff --git a/lib/Alchemy/Phrasea/Controller/Prod/BasketController.php b/lib/Alchemy/Phrasea/Controller/Prod/BasketController.php index b85ce05f0a..047da2d363 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/BasketController.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/BasketController.php @@ -350,7 +350,7 @@ class BasketController implements ControllerProviderInterface foreach ($request->request->get('elements') as $bask_element_id) { try { - $basket_element = $app['EM']->getRepository('Phraseanet:BasketElement') + $basket_element = $app['repo.basket-elements'] ->findUserElement($bask_element_id, $app['authentication']->getUser()); } catch (\Exception $e) { continue; diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Order.php b/lib/Alchemy/Phrasea/Controller/Prod/Order.php index 7c58d9a599..1a5b8ad683 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Order.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Order.php @@ -193,8 +193,8 @@ class Order implements ControllerProviderInterface $baseIds = array_keys($app['acl']->get($app['authentication']->getUser())->get_granted_base(['order_master'])); - $ordersList = $app['EM']->getRepository('Phraseanet:Order')->listOrders($baseIds, $offsetStart, $perPage, $sort); - $total = $app['EM']->getRepository('Phraseanet:Order')->countTotalOrders($baseIds); + $ordersList = $app['repo.orders']->listOrders($baseIds, $offsetStart, $perPage, $sort); + $total = $app['repo.orders']->countTotalOrders($baseIds); return $app['twig']->render('prod/orders/order_box.html.twig', [ 'page' => $page, @@ -216,7 +216,7 @@ class Order implements ControllerProviderInterface */ public function displayOneOrder(Application $app, Request $request, $order_id) { - $order = $app['EM']->getRepository('Phraseanet:Order')->find($order_id); + $order = $app['repo.orders']->find($order_id); if (null === $order) { throw new NotFoundHttpException('Order not found'); } @@ -237,7 +237,7 @@ class Order implements ControllerProviderInterface public function sendOrder(Application $app, Request $request, $order_id) { $success = false; - if (null === $order = $app['EM']->getRepository('Phraseanet:Order')->find($order_id)) { + if (null === $order = $app['repo.orders']->find($order_id)) { throw new NotFoundHttpException('Order not found'); } $basket = $order->getBasket(); @@ -320,7 +320,7 @@ class Order implements ControllerProviderInterface public function denyOrder(Application $app, Request $request, $order_id) { $success = false; - $order = $app['EM']->getRepository('Phraseanet:Order')->find($order_id); + $order = $app['repo.orders']->find($order_id); if (null === $order) { throw new NotFoundHttpException('Order not found'); } diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Records.php b/lib/Alchemy/Phrasea/Controller/Prod/Records.php index 5758453140..9408c7a840 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Records.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Records.php @@ -152,7 +152,7 @@ class Records implements ControllerProviderInterface 'candeleterecord' ]); - $basketElementsRepository = $app['EM']->getRepository('Phraseanet:BasketElement'); + $basketElementsRepository = $app['repo.basket-elements']; $StoryWZRepository = $app['EM']->getRepository('Phraseanet:StoryWZ'); $deleted = []; diff --git a/lib/Alchemy/Phrasea/Core/Provider/ORMServiceProvider.php b/lib/Alchemy/Phrasea/Core/Provider/ORMServiceProvider.php index b281c19d14..a49b1abd2a 100644 --- a/lib/Alchemy/Phrasea/Core/Provider/ORMServiceProvider.php +++ b/lib/Alchemy/Phrasea/Core/Provider/ORMServiceProvider.php @@ -196,6 +196,12 @@ class ORMServiceProvider implements ServiceProviderInterface $app['repo.baskets'] = $app->share(function (PhraseaApplication $app) { return $app['EM']->getRepository('Phraseanet:Basket'); }); + $app['repo.basket-elements'] = $app->share(function (PhraseaApplication $app) { + return $app['EM']->getRepository('Phraseanet:BasketElement'); + }); + $app['repo.orders'] = $app->share(function (PhraseaApplication $app) { + return $app['EM']->getRepository('Phraseanet:Order'); + }); } public function boot(Application $app) diff --git a/lib/classes/databox.php b/lib/classes/databox.php index 9df97cbab8..81fc8f5498 100644 --- a/lib/classes/databox.php +++ b/lib/classes/databox.php @@ -466,7 +466,7 @@ class databox extends base $this->app['EM']->remove($story); } - foreach ($this->app['EM']->getRepository('Phraseanet:BasketElement')->findElementsByDatabox($this) as $element) { + foreach ($this->app['repo.basket-elements']->findElementsByDatabox($this) as $element) { $this->app['EM']->remove($element); } diff --git a/lib/classes/record/adapter.php b/lib/classes/record/adapter.php index 00fb8376fc..14161da901 100644 --- a/lib/classes/record/adapter.php +++ b/lib/classes/record/adapter.php @@ -1507,7 +1507,7 @@ class record_adapter implements record_Interface, cache_cacheableInterface } } - $basketElementRepository = $this->app['EM']->getRepository('Phraseanet:BasketElement'); + $basketElementRepository = $this->app['repo.basket-elements']; /* @var $repository Alchemy\Phrasea\Model\Repositories\BasketElementRepository */ foreach ($basketElementRepository->findElementsByRecord($this) as $basket_element) {