Add basket-element repository as a service

This commit is contained in:
Romain Neutron
2014-02-27 17:08:55 +01:00
parent a72d8ccabc
commit a6a2d3d268
10 changed files with 21 additions and 15 deletions

View File

@@ -61,7 +61,7 @@ class Baskets implements ControllerProviderInterface
public function deleteBasketElement(Application $app, Request $request) public function deleteBasketElement(Application $app, Request $request)
{ {
try { try {
$repository = $app['EM']->getRepository('Phraseanet:BasketElement'); $repository = $app['repo.basket-elements'];
$basketElement = $repository->findUserElement($request->request->get('p0'), $app['authentication']->getUser()); $basketElement = $repository->findUserElement($request->request->get('p0'), $app['authentication']->getUser());
$app['EM']->remove($basketElement); $app['EM']->remove($basketElement);
$app['EM']->flush(); $app['EM']->flush();

View File

@@ -80,7 +80,7 @@ class Datafiles extends AbstractDelivery
if ($watermark && !$all_access) { if ($watermark && !$all_access) {
$repository = $app['EM']->getRepository('Phraseanet:BasketElement'); $repository = $app['repo.basket-elements'];
/* @var $repository BasketElementRepository */ /* @var $repository BasketElementRepository */

View File

@@ -118,7 +118,7 @@ class Lightbox implements ControllerProviderInterface
->assert('sselcont_id', '\d+'); ->assert('sselcont_id', '\d+');
$controllers->get('/ajax/LOAD_BASKET_ELEMENT/{sselcont_id}/', function (SilexApplication $app, $sselcont_id) { $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()); $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); 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()); $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') '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( $basket_element = $repository->findUserElement(
$sselcont_id $sselcont_id

View File

@@ -157,7 +157,7 @@ class Permalink extends AbstractDelivery
$watermark = !$app['acl']->get($app['authentication']->getUser())->has_right_on_base($record->get_base_id(), 'nowatermark'); $watermark = !$app['acl']->get($app['authentication']->getUser())->has_right_on_base($record->get_base_id(), 'nowatermark');
if ($watermark) { if ($watermark) {
$repository = $app['EM']->getRepository('Phraseanet:BasketElement'); $repository = $app['repo.basket-elements'];
if (count($repository->findReceivedValidationElementsByRecord($record, $app['authentication']->getUser())) > 0) { if (count($repository->findReceivedValidationElementsByRecord($record, $app['authentication']->getUser())) > 0) {
$watermark = false; $watermark = false;

View File

@@ -350,7 +350,7 @@ class BasketController implements ControllerProviderInterface
foreach ($request->request->get('elements') as $bask_element_id) { foreach ($request->request->get('elements') as $bask_element_id) {
try { try {
$basket_element = $app['EM']->getRepository('Phraseanet:BasketElement') $basket_element = $app['repo.basket-elements']
->findUserElement($bask_element_id, $app['authentication']->getUser()); ->findUserElement($bask_element_id, $app['authentication']->getUser());
} catch (\Exception $e) { } catch (\Exception $e) {
continue; continue;

View File

@@ -193,8 +193,8 @@ class Order implements ControllerProviderInterface
$baseIds = array_keys($app['acl']->get($app['authentication']->getUser())->get_granted_base(['order_master'])); $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); $ordersList = $app['repo.orders']->listOrders($baseIds, $offsetStart, $perPage, $sort);
$total = $app['EM']->getRepository('Phraseanet:Order')->countTotalOrders($baseIds); $total = $app['repo.orders']->countTotalOrders($baseIds);
return $app['twig']->render('prod/orders/order_box.html.twig', [ return $app['twig']->render('prod/orders/order_box.html.twig', [
'page' => $page, 'page' => $page,
@@ -216,7 +216,7 @@ class Order implements ControllerProviderInterface
*/ */
public function displayOneOrder(Application $app, Request $request, $order_id) 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) { if (null === $order) {
throw new NotFoundHttpException('Order not found'); throw new NotFoundHttpException('Order not found');
} }
@@ -237,7 +237,7 @@ class Order implements ControllerProviderInterface
public function sendOrder(Application $app, Request $request, $order_id) public function sendOrder(Application $app, Request $request, $order_id)
{ {
$success = false; $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'); throw new NotFoundHttpException('Order not found');
} }
$basket = $order->getBasket(); $basket = $order->getBasket();
@@ -320,7 +320,7 @@ class Order implements ControllerProviderInterface
public function denyOrder(Application $app, Request $request, $order_id) public function denyOrder(Application $app, Request $request, $order_id)
{ {
$success = false; $success = false;
$order = $app['EM']->getRepository('Phraseanet:Order')->find($order_id); $order = $app['repo.orders']->find($order_id);
if (null === $order) { if (null === $order) {
throw new NotFoundHttpException('Order not found'); throw new NotFoundHttpException('Order not found');
} }

View File

@@ -152,7 +152,7 @@ class Records implements ControllerProviderInterface
'candeleterecord' 'candeleterecord'
]); ]);
$basketElementsRepository = $app['EM']->getRepository('Phraseanet:BasketElement'); $basketElementsRepository = $app['repo.basket-elements'];
$StoryWZRepository = $app['EM']->getRepository('Phraseanet:StoryWZ'); $StoryWZRepository = $app['EM']->getRepository('Phraseanet:StoryWZ');
$deleted = []; $deleted = [];

View File

@@ -196,6 +196,12 @@ class ORMServiceProvider implements ServiceProviderInterface
$app['repo.baskets'] = $app->share(function (PhraseaApplication $app) { $app['repo.baskets'] = $app->share(function (PhraseaApplication $app) {
return $app['EM']->getRepository('Phraseanet:Basket'); 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) public function boot(Application $app)

View File

@@ -466,7 +466,7 @@ class databox extends base
$this->app['EM']->remove($story); $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); $this->app['EM']->remove($element);
} }

View File

@@ -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 */ /* @var $repository Alchemy\Phrasea\Model\Repositories\BasketElementRepository */
foreach ($basketElementRepository->findElementsByRecord($this) as $basket_element) { foreach ($basketElementRepository->findElementsByRecord($this) as $basket_element) {