From 80572f2a9f0b6f6e93ce122d23e7ff9e618faf90 Mon Sep 17 00:00:00 2001
From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr>
Date: Mon, 18 Feb 2019 12:17:45 +0100
Subject: [PATCH] Ajout de la source dans la recherche d'individu

---
 src/Octopus/Entity/Db/Source.php                 | 8 ++++++++
 src/Octopus/Service/Individu/IndividuService.php | 9 ++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/Octopus/Entity/Db/Source.php b/src/Octopus/Entity/Db/Source.php
index c48bed5..ac60899 100644
--- a/src/Octopus/Entity/Db/Source.php
+++ b/src/Octopus/Entity/Db/Source.php
@@ -3,6 +3,14 @@
 namespace Octopus\Entity\Db;
 
 class Source {
+
+    const SOURCE_APOGEE = "APO";
+    const SOURCE_HARPEGE = "HARP";
+    const SOURCE_FCA = "FCA";
+    const SOURCE_OCTO = "OCTO";
+    const SOURCE_INV = "INV";
+
+
     /** @var string */
     private $cSource;
     /** @var string */
diff --git a/src/Octopus/Service/Individu/IndividuService.php b/src/Octopus/Service/Individu/IndividuService.php
index ea9443e..13f84a0 100644
--- a/src/Octopus/Service/Individu/IndividuService.php
+++ b/src/Octopus/Service/Individu/IndividuService.php
@@ -48,16 +48,23 @@ class IndividuService {
 
     /**
      * @param string $term
+     * @param string $sourceCode
      * @return Individu[]
      */
-    public function getIndividusByTerm($term)
+    public function getIndividusByTerm($term, $sourceCode = null)
     {
         $qb = $this->getEntityManager()->getRepository(Individu::class)->createQueryBuilder('individu')
+            ->addSelect('source')->join('individu.source', 'source')
             ->andWhere('individu.nomUsage LIKE :search')
             ->setParameter('search', '%'.$term.'%')
             ->orderBy('individu.nomUsage, individu.prenom')
         ;
 
+        if ($sourceCode) {
+            $qb = $qb->andWhere('source.cSource = :sourceCode')
+                ->setParameter('sourceCode', $sourceCode);
+        }
+
         $result = $qb->getQuery()->getResult();
         return $result;
     }
-- 
GitLab