From fbff6815168bdf0b4799a85750b90df0658cfc0d Mon Sep 17 00:00:00 2001
From: Camille Simiand <camille.simiand@tetras-libre.fr>
Date: Tue, 1 Feb 2022 09:05:32 +0100
Subject: [PATCH] Refacto

---
 src/Controller/CapsuleEditorController.php |  3 ++-
 src/DataFixtures/CapsuleFixtures.php       |  6 ------
 src/Repository/UserRepository.php          | 16 +++++-----------
 3 files changed, 7 insertions(+), 18 deletions(-)

diff --git a/src/Controller/CapsuleEditorController.php b/src/Controller/CapsuleEditorController.php
index 370fb90..f867888 100644
--- a/src/Controller/CapsuleEditorController.php
+++ b/src/Controller/CapsuleEditorController.php
@@ -61,7 +61,8 @@ class CapsuleEditorController extends AbstractController
         }
 
         $current_capsule_editors_users = $capsule->getEditors()->toArray();
-        if (! in_array($current_user, $current_capsule_editors_users)) {
+        if (! $capsule->getEditors()->contains($current_user)) {
+//            in_array($current_user, $current_capsule_editors_users)) {
             $this->addFlash(
                 'warning',
                 $this->translator->trans(
diff --git a/src/DataFixtures/CapsuleFixtures.php b/src/DataFixtures/CapsuleFixtures.php
index 7f5c90a..c95b19e 100644
--- a/src/DataFixtures/CapsuleFixtures.php
+++ b/src/DataFixtures/CapsuleFixtures.php
@@ -3,7 +3,6 @@
 namespace App\DataFixtures;
 
 use App\Builder\CapsuleBuilder;
-use App\Entity\CapsuleEditor;
 use App\Entity\User;
 use DateTime;
 use Doctrine\Bundle\FixturesBundle\Fixture;
@@ -67,11 +66,6 @@ class CapsuleFixtures extends Fixture implements DependentFixtureInterface
             }
         );
 
-//        $editor = new CapsuleEditor();
-//        $editor->setCapsuleId(1);
-//        $editor->setUserId(3);
-//        $manager->persist($editor);
-
         $manager->flush();
     }
 
diff --git a/src/Repository/UserRepository.php b/src/Repository/UserRepository.php
index c05f501..147f8c5 100644
--- a/src/Repository/UserRepository.php
+++ b/src/Repository/UserRepository.php
@@ -66,16 +66,10 @@ class UserRepository extends ServiceEntityRepository implements PasswordUpgrader
      */
     public function getUsersFromIds(array $user_ids): array
     {
-        $users = [];
-
-        foreach ($user_ids as $user_id) {
-            $user = $this->findOneBy(['id' => $user_id]);
-            if (null === $user) {
-                throw new Exception('User was not found');
-            }
-            $users[] = $user;
-        }
-
-        return $users;
+        return $this->createQueryBuilder('u')
+            ->andWhere('u.id in (:ids)')
+            ->setParameter('ids', $user_ids)
+            ->getQuery()
+            ->getResult();
     }
 }
-- 
GitLab