diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Edit.php b/lib/Alchemy/Phrasea/Controller/Prod/Edit.php index 918699b7b3..36d32fe81b 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Edit.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Edit.php @@ -248,7 +248,7 @@ class Edit implements ControllerProviderInterface $query = $request->query->get('query'); - $results = $VC->find($query, $app['authentication']->getUser(), $app['translator'], $databox); + $results = $VC->find($query, $app['authentication']->getUser(), $databox); $list = []; diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Push.php b/lib/Alchemy/Phrasea/Controller/Prod/Push.php index d2918851b7..e26b51ddc6 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Push.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Push.php @@ -550,12 +550,15 @@ class Push implements ControllerProviderInterface $user->setFirstName($request->request->get('firstname')) ->setLastName($request->request->get('lastname')); - if ($request->request->get('company')) + if ($request->request->get('company')) { $user->setCompany($request->request->get('company')); - if ($request->request->get('job')) + } + if ($request->request->get('job')) { $user->setCompany($request->request->get('job')); - if ($request->request->get('form_geonameid')) + } + if ($request->request->get('form_geonameid')) { $app['manipulator.user']->setGeonameId($user, $request->request->get('form_geonameid')); + } $result['message'] = $app->trans('User successfully created'); $result['success'] = true; diff --git a/lib/Alchemy/Phrasea/Controller/Root/Account.php b/lib/Alchemy/Phrasea/Controller/Root/Account.php index 78d1ced4f6..debd20b6de 100644 --- a/lib/Alchemy/Phrasea/Controller/Root/Account.php +++ b/lib/Alchemy/Phrasea/Controller/Root/Account.php @@ -143,7 +143,7 @@ class Account implements ControllerProviderInterface $url = $app->url('account_reset_email', ['token' => $token]); try { - $receiver = Receiver::fromUser($app['authentication']->getUser(), $app['translator']); + $receiver = Receiver::fromUser($app['authentication']->getUser()); } catch (InvalidArgumentException $e) { $app->addFlash('error', $app->trans('phraseanet::erreur: echec du serveur de mail')); diff --git a/lib/Alchemy/Phrasea/Controller/Root/Login.php b/lib/Alchemy/Phrasea/Controller/Root/Login.php index 23633ea903..687ec13898 100644 --- a/lib/Alchemy/Phrasea/Controller/Root/Login.php +++ b/lib/Alchemy/Phrasea/Controller/Root/Login.php @@ -522,7 +522,7 @@ class Login implements ControllerProviderInterface */ private function sendAccountUnlockEmail(PhraseaApplication $app, User $user) { - $receiver = Receiver::fromUser($user, $app['translator']); + $receiver = Receiver::fromUser($user); $expire = new \DateTime('+3 days'); $token = $app['tokens']->getUrlToken(\random::TYPE_PASSWORD, $user->getId(), $expire, $user->getEmail()); @@ -573,7 +573,7 @@ class Login implements ControllerProviderInterface $user->setMailLocked(false); try { - $receiver = Receiver::fromUser($user, $app['translator']); + $receiver = Receiver::fromUser($user); } catch (InvalidArgumentException $e) { $app->addFlash('success', $app->trans('Account has been unlocked, you can now login.')); @@ -663,7 +663,7 @@ class Login implements ControllerProviderInterface } try { - $receiver = Receiver::fromUser($user, $app['translator']); + $receiver = Receiver::fromUser($user); } catch (InvalidArgumentException $e) { throw new FormProcessingException($app->trans('Invalid email address')); } diff --git a/lib/Alchemy/Phrasea/Feed/Aggregate.php b/lib/Alchemy/Phrasea/Feed/Aggregate.php index 85b804f5b4..8aeaf40cdf 100644 --- a/lib/Alchemy/Phrasea/Feed/Aggregate.php +++ b/lib/Alchemy/Phrasea/Feed/Aggregate.php @@ -79,7 +79,7 @@ class Aggregate implements FeedInterface public static function createFromUser(Application $app, User $user) { $feeds = $app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Feed')->getAllForUser($app['acl']->get($user)); - $token = $app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\AggregateToken')->findOneBy(['user' => $user->getId()]); + $token = $app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\AggregateToken')->findOneBy(['user' => $user]); return new static($app['EM'], $feeds, $token); } diff --git a/lib/Alchemy/Phrasea/Feed/Link/AggregateLinkGenerator.php b/lib/Alchemy/Phrasea/Feed/Link/AggregateLinkGenerator.php index 8d8701234e..dc2d45d2b5 100644 --- a/lib/Alchemy/Phrasea/Feed/Link/AggregateLinkGenerator.php +++ b/lib/Alchemy/Phrasea/Feed/Link/AggregateLinkGenerator.php @@ -132,7 +132,7 @@ class AggregateLinkGenerator implements LinkGeneratorInterface { $token = $this->em ->getRepository('Alchemy\Phrasea\Model\Entities\AggregateToken') - ->findOneBy(['user' => $user->getId()]); + ->findOneBy(['user' => $user]); if (null === $token || true === $renew) { if (null === $token) { diff --git a/lib/Alchemy/Phrasea/Feed/Link/FeedLinkGenerator.php b/lib/Alchemy/Phrasea/Feed/Link/FeedLinkGenerator.php index 85021b7b76..6ecefa0565 100644 --- a/lib/Alchemy/Phrasea/Feed/Link/FeedLinkGenerator.php +++ b/lib/Alchemy/Phrasea/Feed/Link/FeedLinkGenerator.php @@ -140,7 +140,7 @@ class FeedLinkGenerator implements LinkGeneratorInterface { $token = $this->em ->getRepository('Alchemy\Phrasea\Model\Entities\FeedToken') - ->findOneBy(['user' => $user->getId(), 'feed' => $feed->getId()]); + ->findOneBy(['user' => $user, 'feed' => $feed]); if (null === $token || true === $renew) { if (null === $token) { diff --git a/lib/Alchemy/Phrasea/Helper/User/Manage.php b/lib/Alchemy/Phrasea/Helper/User/Manage.php index 406f98bed0..6efd77aefb 100644 --- a/lib/Alchemy/Phrasea/Helper/User/Manage.php +++ b/lib/Alchemy/Phrasea/Helper/User/Manage.php @@ -154,7 +154,7 @@ class Manage extends Helper $receiver = null; try { - $receiver = Receiver::fromUser($createdUser, $this->app['translator']); + $receiver = Receiver::fromUser($createdUser); } catch (InvalidArgumentException $e) { } diff --git a/lib/Alchemy/Phrasea/Model/Entities/User.php b/lib/Alchemy/Phrasea/Model/Entities/User.php index 24fc17cfa0..ffba31eeb4 100644 --- a/lib/Alchemy/Phrasea/Model/Entities/User.php +++ b/lib/Alchemy/Phrasea/Model/Entities/User.php @@ -1031,12 +1031,16 @@ class User /** * @return string */ - public function getDisplayName(TranslatorInterface $translator) + public function getDisplayName(TranslatorInterface $translator = null) { - if ($this->isTemplate()) { + if ($this->isTemplate() && $translator) { return $translator->trans('modele %name%', ['%name%' => $this->getLogin()]); } + if ($this->isTemplate()) { + return $this->getLogin(); + } + if (trim($this->lastName) !== '' || trim($this->firstName) !== '') { return $this->firstName . ('' !== $this->firstName && '' !== $this->lastName ? ' ' : '') . $this->lastName; } @@ -1045,6 +1049,10 @@ class User return $this->email; } - return $translator->trans('Unnamed user'); + if ($translator) { + return $translator->trans('Unnamed user'); + } + + return 'Unnamed user'; } } diff --git a/lib/Alchemy/Phrasea/Model/Manager/UserManager.php b/lib/Alchemy/Phrasea/Model/Manager/UserManager.php index c352812542..cd790ee515 100644 --- a/lib/Alchemy/Phrasea/Model/Manager/UserManager.php +++ b/lib/Alchemy/Phrasea/Model/Manager/UserManager.php @@ -138,7 +138,7 @@ class UserManager private function cleanFtpExports(User $user) { $elements = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\FtpExport') - ->findBy(['user' => $user->getId()]); + ->findBy(['user' => $user]); foreach ($elements as $element) { $this->objectManager->remove($element); @@ -153,7 +153,7 @@ class UserManager private function cleanOrders(User $user) { $orders = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\Order') - ->findBy(['user' => $user->getId()]); + ->findBy(['user' => $user]); foreach ($orders as $order) { $this->objectManager->remove($order); @@ -168,7 +168,7 @@ class UserManager private function cleanUserSessions(User $user) { $sessions = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\Session') - ->findByUser(['user' => $user->getId()]); + ->findByUser(['user' => $user]); foreach ($sessions as $session) { $this->objectManager->remove($session); @@ -183,7 +183,7 @@ class UserManager private function cleanAuthProvider(User $user) { $providers = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\UsrAuthProvider') - ->findBy(['user' => $user->getId()]); + ->findBy(['user' => $user]); foreach ($providers as $provider) { $this->objectManager->remove($provider); diff --git a/lib/Alchemy/Phrasea/Model/NativeQueryProvider.php b/lib/Alchemy/Phrasea/Model/NativeQueryProvider.php index 1e26af9519..9bf8e5dc62 100644 --- a/lib/Alchemy/Phrasea/Model/NativeQueryProvider.php +++ b/lib/Alchemy/Phrasea/Model/NativeQueryProvider.php @@ -46,9 +46,6 @@ class NativeQueryProvider public function getModelForUser(User $user, array $basList) { - debug_print_backtrace(10); - echo __METHOD__; - exit; $rsm = new ResultSetMappingBuilder($this->em); $rsm->addRootEntityFromClassMetadata('Alchemy\Phrasea\Model\Entities\User', 'u'); @@ -70,9 +67,6 @@ class NativeQueryProvider public function getAdminsOfBases(array $basList) { - debug_print_backtrace(10); - echo __METHOD__; - exit; $rsm = new ResultSetMappingBuilder($this->em); $rsm->addRootEntityFromClassMetadata('Alchemy\Phrasea\Model\Entities\User', 'u'); $rsm->addScalarResult('base_id', 'base_id'); diff --git a/lib/Alchemy/Phrasea/Model/Repositories/FtpExportRepository.php b/lib/Alchemy/Phrasea/Model/Repositories/FtpExportRepository.php index d1fa9b7756..c5009348ba 100644 --- a/lib/Alchemy/Phrasea/Model/Repositories/FtpExportRepository.php +++ b/lib/Alchemy/Phrasea/Model/Repositories/FtpExportRepository.php @@ -69,6 +69,6 @@ class FtpExportRepository extends EntityRepository */ public function findByUser(User $user) { - return $this->findBy(['user' => $user->getId()]); + return $this->findBy(['user' => $user]); } } diff --git a/lib/Alchemy/Phrasea/Model/Repositories/StoryWZRepository.php b/lib/Alchemy/Phrasea/Model/Repositories/StoryWZRepository.php index 4fa85f2d13..ffa5b6072c 100644 --- a/lib/Alchemy/Phrasea/Model/Repositories/StoryWZRepository.php +++ b/lib/Alchemy/Phrasea/Model/Repositories/StoryWZRepository.php @@ -28,14 +28,14 @@ class StoryWZRepository extends EntityRepository public function findByUser(Application $app, User $user, $sort) { - $dql = 'SELECT s FROM Alchemy\Phrasea\Model\Entities\StoryWZ s WHERE s.user = :usr_id '; + $dql = 'SELECT s FROM Alchemy\Phrasea\Model\Entities\StoryWZ s WHERE s.user = :user '; if ($sort == 'date') { $dql .= ' ORDER BY s.created DESC'; } $query = $this->_em->createQuery($dql); - $query->setParameters(['usr_id' => $user->getId()]); + $query->setParameters(['user' => $user]); $stories = $query->getResult(); @@ -96,13 +96,11 @@ class StoryWZRepository extends EntityRepository public function findUserStory(Application $app, User $user, \record_adapter $Story) { - $story = $this->findOneBy( - [ - 'user' => $user->getId(), - 'sbas_id' => $Story->get_sbas_id(), - 'record_id' => $Story->get_record_id(), - ] - ); + $story = $this->findOneBy([ + 'user' => $user->getId(), + 'sbas_id' => $Story->get_sbas_id(), + 'record_id' => $Story->get_record_id(), + ]); if ($story) { try { @@ -119,7 +117,8 @@ class StoryWZRepository extends EntityRepository public function findByRecord(Application $app, \record_adapter $Story) { - $dql = 'SELECT s FROM Phraseanet:StoryWZ s WHERE s.sbas_id = :sbas_id + $dql = 'SELECT s FROM Alchemy\Phrasea\Model\Entities\StoryWZ s + WHERE s.sbas_id = :sbas_id AND s.record_id = :record_id'; $query = $this->_em->createQuery($dql); @@ -148,9 +147,7 @@ class StoryWZRepository extends EntityRepository $dql = 'SELECT s FROM Phraseanet:StoryWZ s WHERE s.sbas_id = :sbas_id'; $query = $this->_em->createQuery($dql); - $query->setParameters([ - 'sbas_id' => $databox->get_sbas_id(), - ]); + $query->setParameters(['sbas_id' => $databox->get_sbas_id(),]); $stories = $query->getResult(); diff --git a/lib/Alchemy/Phrasea/Model/Repositories/UsrListEntryRepository.php b/lib/Alchemy/Phrasea/Model/Repositories/UsrListEntryRepository.php index 9d75d406cd..c568158998 100644 --- a/lib/Alchemy/Phrasea/Model/Repositories/UsrListEntryRepository.php +++ b/lib/Alchemy/Phrasea/Model/Repositories/UsrListEntryRepository.php @@ -15,6 +15,7 @@ use Alchemy\Phrasea\Model\Entities\User; use Alchemy\Phrasea\Model\Entities\UsrList; use Alchemy\Phrasea\Model\Entities\UsrListEntry; use Doctrine\ORM\EntityRepository; +use Doctrine\ORM\NoResultException; use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; @@ -78,12 +79,12 @@ class UsrListEntryRepository extends EntityRepository $query = $this->_em->createQuery($dql); $query->setParameters($params); - $entry = $query->getResult(); - - if (!$entry) { - throw new NotFoundHttpException('Entry not found'); + try { + $entry = $query->getSingleResult(); + } catch (NoResultException $e) { + throw new NotFoundHttpException('Entry not found', null, $e); } - return $query->getSingleResult(); + return $entry; } } diff --git a/lib/Alchemy/Phrasea/Model/Repositories/UsrListOwnerRepository.php b/lib/Alchemy/Phrasea/Model/Repositories/UsrListOwnerRepository.php index 5361e35943..d8a4c2d5d4 100644 --- a/lib/Alchemy/Phrasea/Model/Repositories/UsrListOwnerRepository.php +++ b/lib/Alchemy/Phrasea/Model/Repositories/UsrListOwnerRepository.php @@ -70,11 +70,10 @@ class UsrListOwnerRepository extends EntityRepository $query = $this->_em->createQuery($dql); $query->setParameters($params); - $owner = $query->getSingleResult(); - - /* @var $owner UsrListOwner */ - if (null === $owner) { - throw new NotFoundHttpException('Owner is not found'); + try { + $owner = $query->getSingleResult(); + } catch (NoResultException $e) { + throw new NotFoundHttpException('Owner is not found', null, $e); } return $owner; diff --git a/lib/Alchemy/Phrasea/Notification/Emitter.php b/lib/Alchemy/Phrasea/Notification/Emitter.php index dc00a7686a..af700b5fb4 100644 --- a/lib/Alchemy/Phrasea/Notification/Emitter.php +++ b/lib/Alchemy/Phrasea/Notification/Emitter.php @@ -55,8 +55,8 @@ class Emitter implements EmitterInterface * * @throws InvalidArgumentException In case no valid email is found for user */ - public static function fromUser(User $user, TranslatorInterface $translator) + public static function fromUser(User $user) { - return new static($user->getDisplayName($translator), $user->getEmail()); + return new static($user->getDisplayName(), $user->getEmail()); } } diff --git a/lib/Alchemy/Phrasea/Notification/Receiver.php b/lib/Alchemy/Phrasea/Notification/Receiver.php index 44d1836aa9..4da21cf29d 100644 --- a/lib/Alchemy/Phrasea/Notification/Receiver.php +++ b/lib/Alchemy/Phrasea/Notification/Receiver.php @@ -55,8 +55,8 @@ class Receiver implements ReceiverInterface * * @throws InvalidArgumentException In case no valid email is found for user */ - public static function fromUser(User $user, TranslatorInterface $translator) + public static function fromUser(User $user) { - return new static($user->getDisplayName($translator), $user->getEmail()); + return new static($user->getDisplayName(), $user->getEmail()); } } diff --git a/lib/Alchemy/Phrasea/Setup/Installer.php b/lib/Alchemy/Phrasea/Setup/Installer.php index a31c12478e..13c68e0d1d 100644 --- a/lib/Alchemy/Phrasea/Setup/Installer.php +++ b/lib/Alchemy/Phrasea/Setup/Installer.php @@ -72,8 +72,8 @@ class Installer ->give_access_to_sbas([$databox->get_sbas_id()]) ->update_rights_to_sbas( $databox->get_sbas_id(), [ - 'bas_manage' => 1, 'bas_modify_struct' => 1, - 'bas_modif_th' => 1, 'bas_chupub' => 1 + 'bas_manage' => 1, 'bas_modify_struct' => 1, + 'bas_modif_th' => 1, 'bas_chupub' => 1 ] ); diff --git a/lib/Alchemy/Phrasea/Vocabulary/ControlProvider/ControlProviderInterface.php b/lib/Alchemy/Phrasea/Vocabulary/ControlProvider/ControlProviderInterface.php index bef32cc6a3..89eb89446f 100644 --- a/lib/Alchemy/Phrasea/Vocabulary/ControlProvider/ControlProviderInterface.php +++ b/lib/Alchemy/Phrasea/Vocabulary/ControlProvider/ControlProviderInterface.php @@ -52,10 +52,9 @@ interface ControlProviderInterface * * @param string $query A scalar quaery * @param User $for_user The user doing the query - * @param TranslatorInterface $translator * @param \databox $on_databox The databox where vocabulary should be requested * * @return Doctrine\Common\Collections\ArrayCollection */ - public function find($query, User $for_user, TranslatorInterface $translator, \databox $on_databox); + public function find($query, User $for_user, \databox $on_databox); } diff --git a/lib/Alchemy/Phrasea/Vocabulary/ControlProvider/UserProvider.php b/lib/Alchemy/Phrasea/Vocabulary/ControlProvider/UserProvider.php index 7e80ee2375..069adc45be 100644 --- a/lib/Alchemy/Phrasea/Vocabulary/ControlProvider/UserProvider.php +++ b/lib/Alchemy/Phrasea/Vocabulary/ControlProvider/UserProvider.php @@ -51,7 +51,7 @@ class UserProvider implements ControlProviderInterface * @param \databox $on_databox * @return \Doctrine\Common\Collections\ArrayCollection */ - public function find($query, User $for_user, TranslatorInterface $translator ,\databox $on_databox = null) + public function find($query, User $for_user,\databox $on_databox = null) { $user_query = new \User_Query($this->app); @@ -69,7 +69,7 @@ class UserProvider implements ControlProviderInterface foreach ($users as $user) { $results->add( - new Term($user->getDisplayName($translator), '', $this, $user->getId()) + new Term($user->getDisplayName($this->app['translator']), '', $this, $user->getId()) ); } diff --git a/lib/classes/API/V1/Interface.php b/lib/classes/API/V1/Interface.php index df5b608189..c9fd4ceb76 100644 --- a/lib/classes/API/V1/Interface.php +++ b/lib/classes/API/V1/Interface.php @@ -9,6 +9,7 @@ * file that was distributed with this source code. */ +use Alchemy\Phrasea\Model\Entities\Basket; use Alchemy\Phrasea\Model\Entities\User; use Symfony\Component\HttpFoundation\Request; use Silex\Application; @@ -199,7 +200,7 @@ interface API_V1_Interface * BASKET_ID : required INT * */ - public function delete_basket(Request $request, $basket_id); + public function delete_basket(Request $request, Basket $basket); /** * Route : /baskets/BASKET_ID/content/FORMAT/ @@ -210,7 +211,7 @@ interface API_V1_Interface * BASKET_ID : required INT * */ - public function get_basket(Request $request, $basket_id); + public function get_basket(Request $request, Basket $basket); /** * Route : /baskets/BASKET_ID/title/FORMAT/ @@ -221,7 +222,7 @@ interface API_V1_Interface * BASKET_ID : required INT * */ - public function set_basket_title(Request $request, $basket_id); + public function set_basket_title(Request $request, Basket $basket); /** * Route : /baskets/BASKET_ID/description/FORMAT/ @@ -232,7 +233,7 @@ interface API_V1_Interface * BASKET_ID : required INT * */ - public function set_basket_description(Request $request, $basket_id); + public function set_basket_description(Request $request, Basket $basket); /** * Route : /publications/list/FORMAT/ diff --git a/lib/classes/API/V1/adapter.php b/lib/classes/API/V1/adapter.php index 44fbb66d65..7f84e28826 100644 --- a/lib/classes/API/V1/adapter.php +++ b/lib/classes/API/V1/adapter.php @@ -1287,17 +1287,12 @@ class API_V1_adapter extends API_V1_Abstract * Delete a basket * * @param Request $request - * @param int $basket_id + * @param Basket $basket * @return array */ - public function delete_basket(Request $request, $basket_id) + public function delete_basket(Request $request, Basket $basket) { - $repository = $this->app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Basket'); - - /* @var $repository Alchemy\Phrasea\Model\Repositories\BasketRepository */ - - $Basket = $repository->findUserBasket($this->app, $basket_id, $this->app['authentication']->getUser(), true); - $this->app['EM']->remove($Basket); + $this->app['EM']->remove($basket); $this->app['EM']->flush(); return $this->search_baskets($request); @@ -1307,24 +1302,18 @@ class API_V1_adapter extends API_V1_Abstract * Retrieve a basket * * @param Request $request - * @param int $basket_id + * @param Basket $basket * @return API_V1_result */ - public function get_basket(Request $request, $basket_id) + public function get_basket(Request $request, Basket $basket) { $result = new API_V1_result($this->app, $request, $this); - $repository = $this->app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Basket'); - - /* @var $repository Alchemy\Phrasea\Model\Repositories\BasketRepository */ - - $Basket = $repository->findUserBasket($this->app, $basket_id, $this->app['authentication']->getUser(), false); - $result->set_datas( - [ - "basket" => $this->list_basket($Basket), - "basket_elements" => $this->list_basket_content($Basket) - ] + [ + "basket" => $this->list_basket($basket), + "basket_elements" => $this->list_basket_content($basket) + ] ); return $result; @@ -1404,26 +1393,19 @@ class API_V1_adapter extends API_V1_Abstract * Change the name of one basket * * @param Request $request - * @param int $basket_id + * @param Basket $basket * @return API_V1_result */ - public function set_basket_title(Request $request, $basket_id) + public function set_basket_title(Request $request, Basket $basket) { $result = new API_V1_result($this->app, $request, $this); - $name = $request->get('name'); + $basket->setName($request->get('name')); - $repository = $this->app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Basket'); - - /* @var $repository Alchemy\Phrasea\Model\Repositories\BasketRepository */ - - $Basket = $repository->findUserBasket($this->app, $basket_id, $this->app['authentication']->getUser(), true); - $Basket->setName($name); - - $this->app['EM']->merge($Basket); + $this->app['EM']->persist($basket); $this->app['EM']->flush(); - $result->set_datas(["basket" => $this->list_basket($Basket)]); + $result->set_datas(["basket" => $this->list_basket($basket)]); return $result; } @@ -1432,26 +1414,19 @@ class API_V1_adapter extends API_V1_Abstract * Change the description of one basket * * @param Request $request - * @param type $basket_id + * @param Basket $basket * @return API_V1_result */ - public function set_basket_description(Request $request, $basket_id) + public function set_basket_description(Request $request, Basket $basket) { $result = new API_V1_result($this->app, $request, $this); - $desc = $request->get('description'); + $basket->setDescription($request->get('description')); - $repository = $this->app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Basket'); - - /* @var $repository Alchemy\Phrasea\Model\Repositories\BasketRepository */ - - $Basket = $repository->findUserBasket($this->app, $basket_id, $this->app['authentication']->getUser(), true); - $Basket->setDescription($desc); - - $this->app['EM']->merge($Basket); + $this->app['EM']->persist($basket); $this->app['EM']->flush(); - $result->set_datas(["basket" => $this->list_basket($Basket)]); + $result->set_datas(["basket" => $this->list_basket($basket)]); return $result; } diff --git a/lib/classes/eventsmanager/notify/autoregister.php b/lib/classes/eventsmanager/notify/autoregister.php index 3843c3e885..312c340a64 100644 --- a/lib/classes/eventsmanager/notify/autoregister.php +++ b/lib/classes/eventsmanager/notify/autoregister.php @@ -172,7 +172,7 @@ class eventsmanager_notify_autoregister extends eventsmanager_notifyAbstract $readyToSend = false; try { - $receiver = Receiver::fromUser($to, $this->app['translator']); + $receiver = Receiver::fromUser($to); $readyToSend = true; } catch (Exception $e) { diff --git a/lib/classes/eventsmanager/notify/bridgeuploadfail.php b/lib/classes/eventsmanager/notify/bridgeuploadfail.php index 5bd9c4f7ed..84f5408d2e 100644 --- a/lib/classes/eventsmanager/notify/bridgeuploadfail.php +++ b/lib/classes/eventsmanager/notify/bridgeuploadfail.php @@ -81,7 +81,7 @@ class eventsmanager_notify_bridgeuploadfail extends eventsmanager_notifyAbstract try { $user = $this->app['manipulator.user']->getRepository()->find($params['usr_id']); $account = Bridge_Account::load_account($this->app, $params['account_id']); - $receiver = Receiver::fromUser($user, $this->app['translator']); + $receiver = Receiver::fromUser($user); $readyToSend = true; } catch (\Exception $e) { diff --git a/lib/classes/eventsmanager/notify/feed.php b/lib/classes/eventsmanager/notify/feed.php index 85653b7e66..b41888e9cd 100644 --- a/lib/classes/eventsmanager/notify/feed.php +++ b/lib/classes/eventsmanager/notify/feed.php @@ -97,7 +97,7 @@ class eventsmanager_notify_feed extends eventsmanager_notifyAbstract $url = $this->app->url('lightbox', ['LOG' => $token]); - $receiver = Receiver::fromUser($user_to_notif, $this->app['translator']); + $receiver = Receiver::fromUser($user_to_notif); $readyToSend = true; } catch (\Exception $e) { diff --git a/lib/classes/eventsmanager/notify/order.php b/lib/classes/eventsmanager/notify/order.php index e808e409cf..78710d8e98 100644 --- a/lib/classes/eventsmanager/notify/order.php +++ b/lib/classes/eventsmanager/notify/order.php @@ -102,7 +102,7 @@ class eventsmanager_notify_order extends eventsmanager_notifyAbstract if ($this->shouldSendNotificationFor($user->getId())) { $readyToSend = false; try { - $receiver = Receiver::fromUser($user, $this->app['translator']); + $receiver = Receiver::fromUser($user); $readyToSend = true; } catch (\Exception $e) { continue; diff --git a/lib/classes/eventsmanager/notify/orderdeliver.php b/lib/classes/eventsmanager/notify/orderdeliver.php index 47c1baad2d..11b189dbfe 100644 --- a/lib/classes/eventsmanager/notify/orderdeliver.php +++ b/lib/classes/eventsmanager/notify/orderdeliver.php @@ -95,8 +95,8 @@ class eventsmanager_notify_orderdeliver extends eventsmanager_notifyAbstract $user_from = $this->app['manipulator.user']->getRepository()->find($params['from']); $user_to = $this->app['manipulator.user']->getRepository()->find($params['to']); - $receiver = Receiver::fromUser($user_to, $this->app['translator']); - $emitter = Emitter::fromUser($user_from, $this->app['translator']); + $receiver = Receiver::fromUser($user_to); + $emitter = Emitter::fromUser($user_from); $repository = $this->app['EM']->getRepository('Phraseanet:Basket'); $basket = $repository->find($params['ssel_id']); diff --git a/lib/classes/eventsmanager/notify/ordernotdelivered.php b/lib/classes/eventsmanager/notify/ordernotdelivered.php index 4377045045..e7e6530907 100644 --- a/lib/classes/eventsmanager/notify/ordernotdelivered.php +++ b/lib/classes/eventsmanager/notify/ordernotdelivered.php @@ -78,8 +78,8 @@ class eventsmanager_notify_ordernotdelivered extends eventsmanager_notifyAbstrac $user_from = $this->app['manipulator.user']->getRepository()->find($params['from']); $user_to = $this->app['manipulator.user']->getRepository()->find($params['to']); - $receiver = Receiver::fromUser($user_to, $this->app['translator']); - $emitter = Emitter::fromUser($user_from, $this->app['translator']); + $receiver = Receiver::fromUser($user_to); + $emitter = Emitter::fromUser($user_from); $readyToSend = true; } catch (Exception $e) { diff --git a/lib/classes/eventsmanager/notify/push.php b/lib/classes/eventsmanager/notify/push.php index 2e1b58e712..93752575db 100644 --- a/lib/classes/eventsmanager/notify/push.php +++ b/lib/classes/eventsmanager/notify/push.php @@ -86,8 +86,8 @@ class eventsmanager_notify_push extends eventsmanager_notifyAbstract $user_from = $this->app['manipulator.user']->getRepository()->find($params['from']); $user_to = $this->app['manipulator.user']->getRepository()->find($params['to']); - $receiver = Receiver::fromUser($user_to, $this->app['translator']); - $emitter = Emitter::fromUser($user_from, $this->app['translator']); + $receiver = Receiver::fromUser($user_to); + $emitter = Emitter::fromUser($user_from); $readyToSend = true; } catch (\Exception $e) { diff --git a/lib/classes/eventsmanager/notify/register.php b/lib/classes/eventsmanager/notify/register.php index 3fb2d4b8db..bf88eca6ce 100644 --- a/lib/classes/eventsmanager/notify/register.php +++ b/lib/classes/eventsmanager/notify/register.php @@ -103,7 +103,7 @@ class eventsmanager_notify_register extends eventsmanager_notifyAbstract $readyToSend = false; try { $admin_user = $this->app['manipulator.user']->getRepository()->find($usr_id); - $receiver = Receiver::fromUser($admin_user, $this->app['translator']); + $receiver = Receiver::fromUser($admin_user); $readyToSend = true; } catch (\Exception $e) { continue; diff --git a/lib/classes/eventsmanager/notify/uploadquarantine.php b/lib/classes/eventsmanager/notify/uploadquarantine.php index 9627082b85..95d1d1861a 100644 --- a/lib/classes/eventsmanager/notify/uploadquarantine.php +++ b/lib/classes/eventsmanager/notify/uploadquarantine.php @@ -109,7 +109,7 @@ class eventsmanager_notify_uploadquarantine extends eventsmanager_notifyAbstract if ($this->shouldSendNotificationFor($user->getId())) { $readyToSend = false; try { - $receiver = Receiver::fromUser($user, $this->app['translator']); + $receiver = Receiver::fromUser($user); $readyToSend = true; } catch (\Exception $e) { diff --git a/lib/classes/eventsmanager/notify/validate.php b/lib/classes/eventsmanager/notify/validate.php index fa5dc7b035..01fd1e2e00 100644 --- a/lib/classes/eventsmanager/notify/validate.php +++ b/lib/classes/eventsmanager/notify/validate.php @@ -101,8 +101,8 @@ class eventsmanager_notify_validate extends eventsmanager_notifyAbstract ->find($params['ssel_id']); $title = $basket->getName(); - $receiver = Receiver::fromUser($user_to, $this->app['translator']); - $emitter = Emitter::fromUser($user_from, $this->app['translator']); + $receiver = Receiver::fromUser($user_to); + $emitter = Emitter::fromUser($user_from); $readyToSend = true; } catch (\Exception $e) { diff --git a/lib/classes/eventsmanager/notify/validationdone.php b/lib/classes/eventsmanager/notify/validationdone.php index e16e826d61..b9da40a410 100644 --- a/lib/classes/eventsmanager/notify/validationdone.php +++ b/lib/classes/eventsmanager/notify/validationdone.php @@ -96,8 +96,8 @@ class eventsmanager_notify_validationdone extends eventsmanager_notifyAbstract ->find($params['ssel_id']); $title = $basket->getName(); - $receiver = Receiver::fromUser($user_to, $this->app['translator']); - $emitter = Emitter::fromUser($user_from, $this->app['translator']); + $receiver = Receiver::fromUser($user_to); + $emitter = Emitter::fromUser($user_from); $readyToSend = true; } catch (\Exception $e) { diff --git a/lib/classes/eventsmanager/notify/validationreminder.php b/lib/classes/eventsmanager/notify/validationreminder.php index 1b41f3f8b8..9688998995 100644 --- a/lib/classes/eventsmanager/notify/validationreminder.php +++ b/lib/classes/eventsmanager/notify/validationreminder.php @@ -102,8 +102,8 @@ class eventsmanager_notify_validationreminder extends eventsmanager_notifyAbstra ->find($params['ssel_id']); $title = $basket->getName(); - $receiver = Receiver::fromUser($user_to, $this->app['translator']); - $emitter = Emitter::fromUser($user_from, $this->app['translator']); + $receiver = Receiver::fromUser($user_to); + $emitter = Emitter::fromUser($user_from); $readyToSend = true; } catch (\Exception $e) { diff --git a/tests/Alchemy/Tests/Phrasea/Application/ApiTestCase.php b/tests/Alchemy/Tests/Phrasea/Application/ApiTestCase.php index 559a962db1..eaf607e466 100644 --- a/tests/Alchemy/Tests/Phrasea/Application/ApiTestCase.php +++ b/tests/Alchemy/Tests/Phrasea/Application/ApiTestCase.php @@ -7,6 +7,7 @@ use Alchemy\Phrasea\Border\File; use Alchemy\Phrasea\Core\PhraseaEvents; use Alchemy\Phrasea\Authentication\Context; use Alchemy\Phrasea\Model\Entities\Task; +use Alchemy\Phrasea\Model\Entities\LazaretSession; use Doctrine\Common\Collections\ArrayCollection; use Guzzle\Common\Exception\GuzzleException; use Symfony\Component\HttpKernel\Client; @@ -1926,7 +1927,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase protected function getQuarantineItem() { - $lazaretSession = new \Alchemy\Phrasea\Model\Entities\LazaretSession(); + $lazaretSession = new LazaretSession(); self::$DI['app']['EM']->persist($lazaretSession); $quarantineItem = null; diff --git a/tests/Alchemy/Tests/Phrasea/Authentication/AuthenticatorTest.php b/tests/Alchemy/Tests/Phrasea/Authentication/AuthenticatorTest.php index 1c45fed6c6..ad30193743 100644 --- a/tests/Alchemy/Tests/Phrasea/Authentication/AuthenticatorTest.php +++ b/tests/Alchemy/Tests/Phrasea/Authentication/AuthenticatorTest.php @@ -34,9 +34,7 @@ class AuthenticatorTest extends \PhraseanetTestCase $app['session'] = $session = $this->getSessionMock(); $app['EM'] = $em = $this->getEntityManagerMock(); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $authenticator = new Authenticator($app, $browser, $session, $em); $authenticator->setUser($user); @@ -57,9 +55,7 @@ class AuthenticatorTest extends \PhraseanetTestCase $app['session'] = $session = $this->getSessionMock(); $app['EM'] = $em = $this->getEntityManagerMock(); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getId') ->will($this->returnvalue(self::$DI['user']->getId())); diff --git a/tests/Alchemy/Tests/Phrasea/Authentication/ManagerTest.php b/tests/Alchemy/Tests/Phrasea/Authentication/ManagerTest.php index f5aa0fc9e1..a8be9982bd 100644 --- a/tests/Alchemy/Tests/Phrasea/Authentication/ManagerTest.php +++ b/tests/Alchemy/Tests/Phrasea/Authentication/ManagerTest.php @@ -14,9 +14,7 @@ class ManagerTest extends \PhraseanetTestCase $authenticator = $this->getAuthenticatorMock(); $providers = $this->getProvidersMock(); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $session = $this->getMock('Alchemy\Phrasea\Model\Entities\Session'); diff --git a/tests/Alchemy/Tests/Phrasea/Authentication/Phrasea/NativeAuthenticationTest.php b/tests/Alchemy/Tests/Phrasea/Authentication/Phrasea/NativeAuthenticationTest.php index d2ad06d597..bc2c73cb5c 100644 --- a/tests/Alchemy/Tests/Phrasea/Authentication/Phrasea/NativeAuthenticationTest.php +++ b/tests/Alchemy/Tests/Phrasea/Authentication/Phrasea/NativeAuthenticationTest.php @@ -14,7 +14,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase $oldEncoder = $this->getOldEncoderMock(); $request = $this->getRequestMock(); - $specialUser = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); + $specialUser = $this->createUserMock(); $specialUser->expects($this->any())->method('isSpecial')->will($this->returnValue(true)); $manipulator = $this->getUserManipulatorMock($specialUser); @@ -40,7 +40,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase $oldEncoder = $this->getOldEncoderMock(); $request = $this->getRequestMock(); - $mailLockedUser = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); + $mailLockedUser = $this->createUserMock(); $mailLockedUser->expects($this->any())->method('isMailLocked')->will($this->returnValue(true)); $manipulator = $this->getUserManipulatorMock($mailLockedUser); @@ -66,7 +66,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase $oldEncoder = $this->getOldEncoderMock(); $request = $this->getRequestMock(); - $user = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); + $user = $this->createUserMock(); $user->expects($this->any())->method('getId')->will($this->returnValue($userId)); $user->expects($this->any())->method('isSpecial')->will($this->returnValue(false)); @@ -101,7 +101,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase $oldEncoder = $this->getOldEncoderMock(); $request = $this->getRequestMock(); - $user = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); + $user = $this->createUserMock(); $user->expects($this->any())->method('getId')->will($this->returnValue($userId)); $user->expects($this->any())->method('isSpecial')->will($this->returnValue(false)); @@ -136,7 +136,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase $oldEncoder = $this->getOldEncoderMock(); $request = $this->getRequestMock(); - $user = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); + $user = $this->createUserMock(); $user->expects($this->any())->method('getId')->will($this->returnValue($userId)); $user->expects($this->any())->method('isSpecial')->will($this->returnValue(false)); @@ -173,7 +173,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase $oldEncoder = $this->getOldEncoderMock(); $request = $this->getRequestMock(); - $user = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); + $user = $this->createUserMock(); $user->expects($this->any())->method('getId')->will($this->returnValue($userId)); $user->expects($this->any())->method('isSpecial')->will($this->returnValue(false)); diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/DownloadTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/DownloadTest.php index 22d66b2b23..0292400e23 100644 --- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/DownloadTest.php +++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/DownloadTest.php @@ -52,10 +52,7 @@ class DownloadTest extends \PhraseanetAuthenticatedWebTestCase self::$DI['app']['events-manager'] = $eventManagerStub; - self::$DI['app']['authentication']->setUser($this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->setMethods(['ACL']) - ->disableOriginalConstructor() - ->getMock()); + self::$DI['app']['authentication']->setUser($this->createUserMock()); $stubbedACL = $this->getMockBuilder('\ACL') ->disableOriginalConstructor() diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Root/LoginTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Root/LoginTest.php index 9cf760be4c..50d8a9b494 100644 --- a/tests/Alchemy/Tests/Phrasea/Controller/Root/LoginTest.php +++ b/tests/Alchemy/Tests/Phrasea/Controller/Root/LoginTest.php @@ -1074,7 +1074,7 @@ class LoginTest extends \PhraseanetAuthenticatedWebTestCase self::$DI['client']->request('POST', '/login/register-classic/', $parameters); - if (null === $user = $user= self::$DI['app']['manipulator.user']->getRepository()->findByEmail($parameters['email'])) { + if (null === $user = self::$DI['app']['manipulator.user']->getRepository()->findByEmail($parameters['email'])) { $this->fail('User not created'); } $this->assertTrue(self::$DI['client']->getResponse()->isRedirect()); diff --git a/tests/Alchemy/Tests/Phrasea/Controller/SetupTest.php b/tests/Alchemy/Tests/Phrasea/Controller/SetupTest.php index 3d3c0ace1e..2cc11aae7a 100644 --- a/tests/Alchemy/Tests/Phrasea/Controller/SetupTest.php +++ b/tests/Alchemy/Tests/Phrasea/Controller/SetupTest.php @@ -106,9 +106,7 @@ class SetupTest extends \PhraseanetWebTestCase ->disableOriginalConstructor() ->getMock(); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->once()) ->method('getId') diff --git a/tests/Alchemy/Tests/Phrasea/Core/Configuration/DisplaySettingServiceTest.php b/tests/Alchemy/Tests/Phrasea/Core/Configuration/DisplaySettingServiceTest.php index 229f2d9015..caf438d55f 100644 --- a/tests/Alchemy/Tests/Phrasea/Core/Configuration/DisplaySettingServiceTest.php +++ b/tests/Alchemy/Tests/Phrasea/Core/Configuration/DisplaySettingServiceTest.php @@ -47,7 +47,7 @@ class DisplaySettingServiceTest extends \PhraseanetTestCase 'lalala' => 'didou', ]); - $user = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); + $user = $this->createUserMock(); $user->expects($this->any())->method('getSettings')->will($this->returnValue(new ArrayCollection())); $this->assertNull(self::$DI['app']['settings']->getUserSetting($user, 'lalala')); diff --git a/tests/Alchemy/Tests/Phrasea/Core/Provider/AuthenticationManagerServiceProviderTest.php b/tests/Alchemy/Tests/Phrasea/Core/Provider/AuthenticationManagerServiceProviderTest.php index 61fed125ff..e6913aef2f 100644 --- a/tests/Alchemy/Tests/Phrasea/Core/Provider/AuthenticationManagerServiceProviderTest.php +++ b/tests/Alchemy/Tests/Phrasea/Core/Provider/AuthenticationManagerServiceProviderTest.php @@ -156,7 +156,7 @@ class AuthenticationManagerServiceProviderTest extends ServiceProviderTestCase return $u->getLogin(); }, self::$DI['app']['authentication.providers.account-creator']->getTemplates())); - self::$DI['app']['model.user-manager']->delete($template1); - self::$DI['app']['model.user-manager']->delete($template2); + $this->removeUser(self::$DI['app'], $template1); + $this->removeUser(self::$DI['app'], $template2); } } diff --git a/tests/Alchemy/Tests/Phrasea/Model/Manipulator/ACLManipulatorTest.php b/tests/Alchemy/Tests/Phrasea/Model/Manipulator/ACLManipulatorTest.php index 76b4e183c1..01b070867f 100644 --- a/tests/Alchemy/Tests/Phrasea/Model/Manipulator/ACLManipulatorTest.php +++ b/tests/Alchemy/Tests/Phrasea/Model/Manipulator/ACLManipulatorTest.php @@ -86,6 +86,6 @@ class ACLManipulatorTest extends \PhraseanetTestCase $this->assertEquals(0, $acl->get_limits($acl->get_mask_xor($baseId))); $this->assertEquals(0, $acl->get_limits($acl->get_mask_and($baseId))); - self::$DI['app']['model.user-manager']->delete($user); + $this->removeUser(self::$DI['app'], $user); } } diff --git a/tests/Alchemy/Tests/Phrasea/Notification/EmitterTest.php b/tests/Alchemy/Tests/Phrasea/Notification/EmitterTest.php index d98c40c441..631abc9dd3 100644 --- a/tests/Alchemy/Tests/Phrasea/Notification/EmitterTest.php +++ b/tests/Alchemy/Tests/Phrasea/Notification/EmitterTest.php @@ -42,9 +42,7 @@ class EmitterTest extends \PhraseanetTestCase */ public function testFromUser() { - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') @@ -54,7 +52,7 @@ class EmitterTest extends \PhraseanetTestCase ->method('getEmail') ->will($this->returnValue($this->email)); - $object = Emitter::fromUser($user, self::$DI['app']['translator']); + $object = Emitter::fromUser($user); $this->assertEquals($this->email, $object->getEmail()); $this->assertEquals($this->name, $object->getName()); } @@ -64,9 +62,7 @@ class EmitterTest extends \PhraseanetTestCase */ public function testFromUserFails() { - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') @@ -77,7 +73,7 @@ class EmitterTest extends \PhraseanetTestCase ->will($this->returnValue('wrong email')); try { - Emitter::fromUser($user, self::$DI['app']['translator']); + Emitter::fromUser($user); $this->fail('Should have raised an exception'); } catch (InvalidArgumentException $e) { diff --git a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoNewOrderTest.php b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoNewOrderTest.php index 0729cee9bd..e9dbedb20a 100644 --- a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoNewOrderTest.php +++ b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoNewOrderTest.php @@ -41,9 +41,7 @@ class MailInfoNewOrderTest extends MailTestCase $this->getMessage() ); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') diff --git a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoOrderCancelledTest.php b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoOrderCancelledTest.php index 5345524cca..ee26fa8f16 100644 --- a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoOrderCancelledTest.php +++ b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoOrderCancelledTest.php @@ -29,9 +29,7 @@ class MailInfoOrderCancelledTest extends MailTestCase $this->getMessage() ); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') @@ -74,9 +72,7 @@ class MailInfoOrderCancelledTest extends MailTestCase $this->getMessage() ); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') diff --git a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoOrderDeliveredTest.php b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoOrderDeliveredTest.php index 41a9894246..7ac3c7d110 100644 --- a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoOrderDeliveredTest.php +++ b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoOrderDeliveredTest.php @@ -53,9 +53,7 @@ class MailInfoOrderDeliveredTest extends MailTestCase $this->getMessage() ); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') @@ -88,9 +86,7 @@ class MailInfoOrderDeliveredTest extends MailTestCase ->method('getId') ->will($this->returnValue(42)); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') diff --git a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoPushReceivedTest.php b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoPushReceivedTest.php index b65f0ce50d..75db81c11a 100644 --- a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoPushReceivedTest.php +++ b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoPushReceivedTest.php @@ -28,9 +28,7 @@ class MailInfoPushReceivedTest extends MailWithLinkTestCase $this->getExpiration() ); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getFirstName') @@ -110,9 +108,7 @@ class MailInfoPushReceivedTest extends MailWithLinkTestCase ->method('getElements') ->will($this->returnValue($collection)); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') diff --git a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoUserRegisteredTest.php b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoUserRegisteredTest.php index 31074cc2e2..1635f74e4b 100644 --- a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoUserRegisteredTest.php +++ b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoUserRegisteredTest.php @@ -46,9 +46,7 @@ class MailInfoUserRegisteredTest extends MailTestCase $this->getMessage() ); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getFirstName') diff --git a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoValidationDoneTest.php b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoValidationDoneTest.php index c5117418b9..63d1261f04 100644 --- a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoValidationDoneTest.php +++ b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoValidationDoneTest.php @@ -38,9 +38,7 @@ class MailInfoValidationDoneTest extends MailWithLinkTestCase $this->getExpiration() ); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') @@ -95,9 +93,7 @@ class MailInfoValidationDoneTest extends MailWithLinkTestCase $this->getExpiration() ); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') diff --git a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoValidationRequestTest.php b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoValidationRequestTest.php index 5274e84402..5db94658ec 100644 --- a/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoValidationRequestTest.php +++ b/tests/Alchemy/Tests/Phrasea/Notification/Mail/MailInfoValidationRequestTest.php @@ -47,9 +47,7 @@ class MailInfoValidationRequestTest extends MailWithLinkTestCase $this->getExpiration() ); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') @@ -81,9 +79,7 @@ class MailInfoValidationRequestTest extends MailWithLinkTestCase $this->getExpiration() ); - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') diff --git a/tests/Alchemy/Tests/Phrasea/Notification/ReceiverTest.php b/tests/Alchemy/Tests/Phrasea/Notification/ReceiverTest.php index 43f2d7e845..4f3301b7cd 100644 --- a/tests/Alchemy/Tests/Phrasea/Notification/ReceiverTest.php +++ b/tests/Alchemy/Tests/Phrasea/Notification/ReceiverTest.php @@ -42,9 +42,7 @@ class ReceiverTest extends \PhraseanetTestCase */ public function testFromUser() { - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') @@ -54,7 +52,7 @@ class ReceiverTest extends \PhraseanetTestCase ->method('getEmail') ->will($this->returnValue($this->email)); - $object = Receiver::fromUser($user, self::$DI['app']['translator']); + $object = Receiver::fromUser($user); $this->assertEquals($this->email, $object->getEmail()); $this->assertEquals($this->name, $object->getName()); } @@ -64,9 +62,7 @@ class ReceiverTest extends \PhraseanetTestCase */ public function testFromUserFailed() { - $user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') - ->disableOriginalConstructor() - ->getMock(); + $user = $this->createUserMock(); $user->expects($this->any()) ->method('getDisplayName') @@ -77,7 +73,7 @@ class ReceiverTest extends \PhraseanetTestCase ->will($this->returnValue('wrong user')); try { - Receiver::fromUser($user, self::$DI['app']['translator']); + Receiver::fromUser($user); $this->fail('Should have raised an exception'); } catch (InvalidArgumentException $e) { diff --git a/tests/Alchemy/Tests/Phrasea/Vocabulary/ControlProvider/UserProviderTest.php b/tests/Alchemy/Tests/Phrasea/Vocabulary/ControlProvider/UserProviderTest.php index afa71b72d1..55c3aabe81 100644 --- a/tests/Alchemy/Tests/Phrasea/Vocabulary/ControlProvider/UserProviderTest.php +++ b/tests/Alchemy/Tests/Phrasea/Vocabulary/ControlProvider/UserProviderTest.php @@ -3,6 +3,7 @@ namespace Alchemy\Tests\Phrasea\Vocabulary\ControlProvider; use Alchemy\Phrasea\Vocabulary\ControlProvider\UserProvider; +use Doctrine\ORM\EntityManager; class UserProviderTest extends \PhraseanetTestCase { @@ -39,29 +40,31 @@ class UserProviderTest extends \PhraseanetTestCase public function testFind() { - self::$DI['app']['EM'] = self::$DI['app']['EM.prod']; - $user = self::$DI['app']['manipulator.user']->createUser(uniqid('test'), 'a_password', uniqid('test').'@titi.tu'); + // mandatory until user rights are managed by doctrine + self::$DI['app']['EM'] = EntityManager::create(self::$DI['app']['conf']->get(['main', 'database']), self::$DI['app']['EM.config'], self::$DI['app']['EM.events-manager']); + + $user = self::$DI['app']['manipulator.user']->createUser(uniqid('test'), 'a_password', uniqid('test').'@domain.fr'); self::giveRightsToUser(self::$DI['app'], $user); - $user->setFirstName('toto'); - $user->setLastName('tata'); + $user->setFirstName('John'); + $user->setLastName('Doe'); self::$DI['app']['EM']->persist($user); self::$DI['app']['EM']->flush(); - $results = $this->object->find('BABE', $user, self::$DI['app']['translator'], self::$DI['collection']->get_databox()); + $results = $this->object->find('BABE', $user, self::$DI['collection']->get_databox()); $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results); - $results = $this->object->find($user->getEmail(), $user,self::$DI['app']['translator'], self::$DI['collection']->get_databox()); + $results = $this->object->find($user->getEmail(), $user, self::$DI['collection']->get_databox()); $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results); $this->assertTrue($results->count() > 0); - $results = $this->object->find($user->getFirstName(), $user, self::$DI['app']['translator'], self::$DI['collection']->get_databox()); + $results = $this->object->find($user->getFirstName(), $user, self::$DI['collection']->get_databox()); $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results); $this->assertTrue($results->count() > 0); - $results = $this->object->find($user->getLastName(), $user, self::$DI['app']['translator'], self::$DI['collection']->get_databox()); + $results = $this->object->find($user->getLastName(), $user, self::$DI['collection']->get_databox()); $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results); $this->assertTrue($results->count() > 0); diff --git a/tests/classes/PhraseanetTestCase.php b/tests/classes/PhraseanetTestCase.php index ed8b628c50..ffef5fa328 100644 --- a/tests/classes/PhraseanetTestCase.php +++ b/tests/classes/PhraseanetTestCase.php @@ -5,7 +5,6 @@ use Alchemy\Phrasea\Application; use Alchemy\Phrasea\Border\File; use Alchemy\Phrasea\Model\Entities\Session; use Alchemy\Phrasea\Model\Entities\User; -use Doctrine\ORM\EntityManager; use Monolog\Logger; use Monolog\Handler\NullHandler; use Silex\WebTestCase; @@ -14,6 +13,7 @@ use Symfony\Component\HttpKernel\Client; use Symfony\Component\DomCrawler\Crawler; use Symfony\Component\Routing\RequestContext; use Alchemy\Tests\Tools\TranslatorMockTrait; +use Alchemy\Phrasea\Authentication\ACLProvider; use Guzzle\Http\Client as Guzzle; abstract class PhraseanetTestCase extends WebTestCase @@ -287,33 +287,11 @@ abstract class PhraseanetTestCase extends WebTestCase ->method('getSubscribedEvents') ->will($this->returnValue([])); - $app['translator'] = $this->createTranslatorMock(); - - $app['EM'] = $app->share(function ($app) { - return $app['EM.test']; - }); - - $app['EM.test'] = $app->share(function ($app) { + $app['EM'] = $app->share($app->extend('EM', function ($em) { $this->initializeSqliteDB(); - try { - $em = EntityManager::create($app['conf']->get(['main', 'database-test']), $app['EM.config'], $app['EM.events-manager']); - } catch (\Exception $e) { - throw new RuntimeException("Unable to create database connection", $e->getCode(), $e); - } - return $em; - }); - - $app['EM.prod'] = $app->share(function ($app) { - try { - $em = EntityManager::create($app['conf']->get(['main', 'database']), $app['EM.config'], $app['EM.events-manager']); - } catch (\Exception $e) { - throw new RuntimeException("Unable to create database connection", $e->getCode(), $e); - } - - return $em; - }); + })); $app['browser'] = $app->share($app->extend('browser', function ($browser) { $browser->setUserAgent(self::USER_AGENT_FIREFOX8MAC); @@ -334,7 +312,7 @@ abstract class PhraseanetTestCase extends WebTestCase public function tearDown() { - \Alchemy\Phrasea\Authentication\ACLProvider::purge(); + ACLProvider::purge(); \collection::purge(); \databox::purge(); \caption_field::purge(); @@ -342,7 +320,6 @@ abstract class PhraseanetTestCase extends WebTestCase \databox_field::purge(); \databox_status::purge(); \thesaurus_xpath::purge(); - \User_Adapter::purge(); /** * Kris Wallsmith pro-tip @@ -635,4 +612,15 @@ abstract class PhraseanetTestCase extends WebTestCase ->disableOriginalConstructor() ->getMock(); } + + public function createUserMock() + { + return $this->getMock('Alchemy\Phrasea\Model\Entities\User'); + } + + public function removeUser(Application $app, User $user) + { + $app['EM']->remove($user); + $app['EM']->flush(); + } } diff --git a/tmp/doctrine-proxies/__CG__AlchemyPhraseaModelEntitiesUser.php b/tmp/doctrine-proxies/__CG__AlchemyPhraseaModelEntitiesUser.php index ced0036873..1d46e03d74 100644 --- a/tmp/doctrine-proxies/__CG__AlchemyPhraseaModelEntitiesUser.php +++ b/tmp/doctrine-proxies/__CG__AlchemyPhraseaModelEntitiesUser.php @@ -1071,7 +1071,7 @@ class User extends \Alchemy\Phrasea\Model\Entities\User implements \Doctrine\ORM /** * {@inheritDoc} */ - public function getDisplayName(\Symfony\Component\Translation\TranslatorInterface $translator) + public function getDisplayName(\Symfony\Component\Translation\TranslatorInterface $translator = NULL) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDisplayName', array($translator));