mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
refactor: Upgrade repositories.
This commit is contained in:
parent
55695b7d2c
commit
174d873398
@ -37,3 +37,7 @@ services:
|
|||||||
- "%chill_person.validation.birtdate_not_before%"
|
- "%chill_person.validation.birtdate_not_before%"
|
||||||
tags:
|
tags:
|
||||||
- { name: validator.constraint_validator, alias: birthdate_not_before }
|
- { name: validator.constraint_validator, alias: birthdate_not_before }
|
||||||
|
|
||||||
|
Chill\PersonBundle\Repository\:
|
||||||
|
resource: '../src/Repository/'
|
||||||
|
tags: ['doctrine.repository_service']
|
||||||
|
@ -2,24 +2,6 @@ services:
|
|||||||
|
|
||||||
chill.person.repository.person:
|
chill.person.repository.person:
|
||||||
class: Chill\PersonBundle\Repository\PersonRepository
|
class: Chill\PersonBundle\Repository\PersonRepository
|
||||||
factory: ['@doctrine.orm.entity_manager', getRepository]
|
autowire: true
|
||||||
arguments:
|
autoconfigure: true
|
||||||
- 'Chill\PersonBundle\Entity\Person'
|
|
||||||
Chill\PersonBundle\Repository\PersonRepository: '@chill.person.repository.person'
|
Chill\PersonBundle\Repository\PersonRepository: '@chill.person.repository.person'
|
||||||
|
|
||||||
Chill\PersonBundle\Repository\AccompanyingPeriod\ClosingMotiveRepository:
|
|
||||||
class: Chill\PersonBundle\Repository\AccompanyingPeriod\ClosingMotiveRepository
|
|
||||||
factory: ['@doctrine.orm.entity_manager', getRepository]
|
|
||||||
arguments:
|
|
||||||
- 'Chill\PersonBundle\Entity\AccompanyingPeriod\ClosingMotive'
|
|
||||||
|
|
||||||
Chill\PersonBundle\Repository\AccompanyingPeriodRepository:
|
|
||||||
class: Chill\PersonBundle\Repository\AccompanyingPeriodRepository
|
|
||||||
tags: [ doctrine.repository_service ]
|
|
||||||
arguments:
|
|
||||||
- '@Doctrine\Persistence\ManagerRegistry'
|
|
||||||
|
|
||||||
Chill\PersonBundle\Repository\AccompanyingPeriodParticipationRepository:
|
|
||||||
arguments:
|
|
||||||
- '@Doctrine\Persistence\ManagerRegistry'
|
|
||||||
tags: [ doctrine.repository_service ]
|
|
||||||
|
@ -38,6 +38,7 @@ use Symfony\Component\Translation\TranslatorInterface;
|
|||||||
use Chill\MainBundle\Search\SearchProvider;
|
use Chill\MainBundle\Search\SearchProvider;
|
||||||
use Chill\PersonBundle\Repository\PersonRepository;
|
use Chill\PersonBundle\Repository\PersonRepository;
|
||||||
use Chill\PersonBundle\Config\ConfigPersonAltNamesHelper;
|
use Chill\PersonBundle\Config\ConfigPersonAltNamesHelper;
|
||||||
|
use Chill\PersonBundle\Repository\PersonNotDuplicateRepository;
|
||||||
use Symfony\Component\Validator\Validator\ValidatorInterface;
|
use Symfony\Component\Validator\Validator\ValidatorInterface;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
|
|
||||||
@ -290,7 +291,7 @@ final class PersonController extends AbstractController
|
|||||||
return $errors;
|
return $errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function reviewAction(Request $request)
|
public function reviewAction(Request $request, PersonNotDuplicateRepository $personNotDuplicateRepository)
|
||||||
{
|
{
|
||||||
if ($request->getMethod() !== 'POST') {
|
if ($request->getMethod() !== 'POST') {
|
||||||
$r = new Response("You must send something to review the creation of a new Person");
|
$r = new Response("You must send something to review the creation of a new Person");
|
||||||
@ -342,8 +343,7 @@ final class PersonController extends AbstractController
|
|||||||
|
|
||||||
$this->em->persist($person);
|
$this->em->persist($person);
|
||||||
|
|
||||||
$alternatePersons = $this->similarPersonMatcher
|
$alternatePersons = $this->similarPersonMatcher->matchPerson($person, $personNotDuplicateRepository);
|
||||||
->matchPerson($person);
|
|
||||||
|
|
||||||
if (count($alternatePersons) === 0) {
|
if (count($alternatePersons) === 0) {
|
||||||
return $this->forward('ChillPersonBundle:Person:create');
|
return $this->forward('ChillPersonBundle:Person:create');
|
||||||
|
@ -19,6 +19,7 @@ use Symfony\Component\Translation\TranslatorInterface;
|
|||||||
use Chill\ActivityBundle\Entity\Activity;
|
use Chill\ActivityBundle\Entity\Activity;
|
||||||
use Chill\DocStoreBundle\Entity\PersonDocument;
|
use Chill\DocStoreBundle\Entity\PersonDocument;
|
||||||
use Chill\EventBundle\Entity\Participation;
|
use Chill\EventBundle\Entity\Participation;
|
||||||
|
use Chill\PersonBundle\Repository\PersonNotDuplicateRepository;
|
||||||
use Chill\TaskBundle\Entity\SingleTask;
|
use Chill\TaskBundle\Entity\SingleTask;
|
||||||
|
|
||||||
class PersonDuplicateController extends Controller
|
class PersonDuplicateController extends Controller
|
||||||
@ -62,7 +63,7 @@ class PersonDuplicateController extends Controller
|
|||||||
$this->eventDispatcher = $eventDispatcher;
|
$this->eventDispatcher = $eventDispatcher;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function viewAction($person_id)
|
public function viewAction($person_id, PersonNotDuplicateRepository $personNotDuplicateRepository)
|
||||||
{
|
{
|
||||||
$person = $this->_getPerson($person_id);
|
$person = $this->_getPerson($person_id);
|
||||||
if ($person === null) {
|
if ($person === null) {
|
||||||
@ -76,8 +77,7 @@ class PersonDuplicateController extends Controller
|
|||||||
$duplicatePersons = $this->similarPersonMatcher->
|
$duplicatePersons = $this->similarPersonMatcher->
|
||||||
matchPerson($person, 0.5, SimilarPersonMatcher::SIMILAR_SEARCH_ORDER_BY_ALPHABETICAL);
|
matchPerson($person, 0.5, SimilarPersonMatcher::SIMILAR_SEARCH_ORDER_BY_ALPHABETICAL);
|
||||||
|
|
||||||
$notDuplicatePersons = $this->getDoctrine()->getRepository(PersonNotDuplicate::class)
|
$notDuplicatePersons = $personNotDuplicateRepository->findNotDuplicatePerson($person);
|
||||||
->findNotDuplicatePerson($person);
|
|
||||||
|
|
||||||
return $this->render('ChillPersonBundle:PersonDuplicate:view.html.twig', [
|
return $this->render('ChillPersonBundle:PersonDuplicate:view.html.twig', [
|
||||||
'person' => $person,
|
'person' => $person,
|
||||||
@ -97,7 +97,7 @@ class PersonDuplicateController extends Controller
|
|||||||
|
|
||||||
$person1->counters = $this->_getCounters($person1_id);
|
$person1->counters = $this->_getCounters($person1_id);
|
||||||
$person2->counters = $this->_getCounters($person2_id);
|
$person2->counters = $this->_getCounters($person2_id);
|
||||||
|
|
||||||
if ($person1 === null) {
|
if ($person1 === null) {
|
||||||
throw $this->createNotFoundException("Person with id $person1_id not"
|
throw $this->createNotFoundException("Person with id $person1_id not"
|
||||||
. " found on this server");
|
. " found on this server");
|
||||||
@ -264,17 +264,17 @@ class PersonDuplicateController extends Controller
|
|||||||
|
|
||||||
return [$person1, $person2];
|
return [$person1, $person2];
|
||||||
}
|
}
|
||||||
|
|
||||||
private function _getCounters($id): ?array
|
private function _getCounters($id): ?array
|
||||||
{
|
{
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
|
||||||
$nb_activity = $em->getRepository(Activity::class)->findBy(['person'=>$id]);
|
$nb_activity = $em->getRepository(Activity::class)->findBy(['person'=>$id]);
|
||||||
$nb_document = $em->getRepository(PersonDocument::class)->findBy(['person'=>$id]);
|
$nb_document = $em->getRepository(PersonDocument::class)->findBy(['person'=>$id]);
|
||||||
$nb_event = $em->getRepository(Participation::class)->findBy(['person'=>$id]);
|
$nb_event = $em->getRepository(Participation::class)->findBy(['person'=>$id]);
|
||||||
$nb_task = $em->getRepository(SingleTask::class)->countByParameters(['person'=>$id]);
|
$nb_task = $em->getRepository(SingleTask::class)->countByParameters(['person'=>$id]);
|
||||||
$person = $em->getRepository(Person::class)->findOneBy(['id'=>$id]);
|
$person = $em->getRepository(Person::class)->findOneBy(['id'=>$id]);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'nb_activity' => count($nb_activity),
|
'nb_activity' => count($nb_activity),
|
||||||
'nb_document' => count($nb_document),
|
'nb_document' => count($nb_document),
|
||||||
|
@ -37,43 +37,43 @@ use Chill\MainBundle\Entity\User;
|
|||||||
/**
|
/**
|
||||||
* AccompanyingPeriod Class
|
* AccompanyingPeriod Class
|
||||||
*
|
*
|
||||||
* @ORM\Entity(repositoryClass="Chill\PersonBundle\Repository\AccompanyingPeriodRepository")
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_accompanying_period")
|
* @ORM\Table(name="chill_person_accompanying_period")
|
||||||
*/
|
*/
|
||||||
class AccompanyingPeriod
|
class AccompanyingPeriod
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Mark an accompanying period as "occasional"
|
* Mark an accompanying period as "occasional"
|
||||||
*
|
*
|
||||||
* used in INTENSITY
|
* used in INTENSITY
|
||||||
*/
|
*/
|
||||||
public const INTENSITY_OCCASIONAL = 'occasional';
|
public const INTENSITY_OCCASIONAL = 'occasional';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mark an accompanying period as "regular"
|
* Mark an accompanying period as "regular"
|
||||||
*
|
*
|
||||||
* used in INTENSITY
|
* used in INTENSITY
|
||||||
*/
|
*/
|
||||||
public const INTENSITY_REGULAR = 'regular';
|
public const INTENSITY_REGULAR = 'regular';
|
||||||
|
|
||||||
public const INTENSITIES = [self::INTENSITY_OCCASIONAL, self::INTENSITY_REGULAR];
|
public const INTENSITIES = [self::INTENSITY_OCCASIONAL, self::INTENSITY_REGULAR];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mark an accompanying period as "draft".
|
* Mark an accompanying period as "draft".
|
||||||
*
|
*
|
||||||
* This means that the accompanying period is not yet
|
* This means that the accompanying period is not yet
|
||||||
* confirmed by the creator
|
* confirmed by the creator
|
||||||
*/
|
*/
|
||||||
public const STEP_DRAFT = 'DRAFT';
|
public const STEP_DRAFT = 'DRAFT';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mark an accompanying period as "confirmed".
|
* Mark an accompanying period as "confirmed".
|
||||||
*
|
*
|
||||||
* This means that the accompanying period **is**
|
* This means that the accompanying period **is**
|
||||||
* confirmed by the creator
|
* confirmed by the creator
|
||||||
*/
|
*/
|
||||||
public const STEP_CONFIRMED = 'CONFIRMED';
|
public const STEP_CONFIRMED = 'CONFIRMED';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var integer
|
* @var integer
|
||||||
*
|
*
|
||||||
@ -148,7 +148,7 @@ class AccompanyingPeriod
|
|||||||
* @ORM\Column(type="string", length=32, nullable=true)
|
* @ORM\Column(type="string", length=32, nullable=true)
|
||||||
*/
|
*/
|
||||||
private $step = self::STEP_DRAFT;
|
private $step = self::STEP_DRAFT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\ManyToOne(targetEntity=Origin::class)
|
* @ORM\ManyToOne(targetEntity=Origin::class)
|
||||||
* @ORM\JoinColumn(nullable=true)
|
* @ORM\JoinColumn(nullable=true)
|
||||||
|
@ -4,7 +4,6 @@ namespace Chill\PersonBundle\Entity\AccompanyingPeriod;
|
|||||||
|
|
||||||
use Chill\PersonBundle\Entity\SocialWork\Result;
|
use Chill\PersonBundle\Entity\SocialWork\Result;
|
||||||
use Chill\PersonBundle\Entity\SocialWork\SocialAction;
|
use Chill\PersonBundle\Entity\SocialWork\SocialAction;
|
||||||
use Chill\PersonBundle\Repository\AccompanyingPeriod\AccompanyingPeriodWorkRepository;
|
|
||||||
use Chill\MainBundle\Entity\User;
|
use Chill\MainBundle\Entity\User;
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
use Chill\ThirdPartyBundle\Entity\ThirdParty;
|
use Chill\ThirdPartyBundle\Entity\ThirdParty;
|
||||||
@ -13,7 +12,7 @@ use Doctrine\Common\Collections\Collection;
|
|||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity(repositoryClass=AccompanyingPeriodWorkRepository::class)
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_accompanying_period_work")
|
* @ORM\Table(name="chill_person_accompanying_period_work")
|
||||||
*/
|
*/
|
||||||
class AccompanyingPeriodWork
|
class AccompanyingPeriodWork
|
||||||
|
@ -4,13 +4,12 @@ namespace Chill\PersonBundle\Entity\AccompanyingPeriod;
|
|||||||
|
|
||||||
use Chill\PersonBundle\Entity\SocialWork\Goal;
|
use Chill\PersonBundle\Entity\SocialWork\Goal;
|
||||||
use Chill\PersonBundle\Entity\SocialWork\Result;
|
use Chill\PersonBundle\Entity\SocialWork\Result;
|
||||||
use Chill\PersonBundle\Repository\AccompanyingPeriod\AccompanyingPeriodWorkGoalRepository;
|
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Doctrine\Common\Collections\Collection;
|
use Doctrine\Common\Collections\Collection;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity(repositoryClass=AccompanyingPeriodWorkGoalRepository::class)
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_accompanying_period_work_goal")
|
* @ORM\Table(name="chill_person_accompanying_period_work_goal")
|
||||||
*/
|
*/
|
||||||
class AccompanyingPeriodWorkGoal
|
class AccompanyingPeriodWorkGoal
|
||||||
|
@ -29,8 +29,7 @@ use Doctrine\Common\Collections\ArrayCollection;
|
|||||||
/**
|
/**
|
||||||
* ClosingMotive give an explanation why we closed the Accompanying period
|
* ClosingMotive give an explanation why we closed the Accompanying period
|
||||||
*
|
*
|
||||||
* @ORM\Entity(
|
* @ORM\Entity
|
||||||
* repositoryClass="Chill\PersonBundle\Repository\AccompanyingPeriod\ClosingMotiveRepository")
|
|
||||||
* @ORM\Table(name="chill_person_accompanying_period_closingmotive")
|
* @ORM\Table(name="chill_person_accompanying_period_closingmotive")
|
||||||
*/
|
*/
|
||||||
class ClosingMotive
|
class ClosingMotive
|
||||||
@ -50,14 +49,14 @@ class ClosingMotive
|
|||||||
* @ORM\Column(type="json")
|
* @ORM\Column(type="json")
|
||||||
*/
|
*/
|
||||||
private $name;
|
private $name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var boolean
|
* @var boolean
|
||||||
*
|
*
|
||||||
* @ORM\Column(type="boolean")
|
* @ORM\Column(type="boolean")
|
||||||
*/
|
*/
|
||||||
private $active = true;
|
private $active = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var self
|
* @var self
|
||||||
*
|
*
|
||||||
@ -66,7 +65,7 @@ class ClosingMotive
|
|||||||
* inversedBy="children")
|
* inversedBy="children")
|
||||||
*/
|
*/
|
||||||
private $parent = null;
|
private $parent = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Child Accompanying periods
|
* Child Accompanying periods
|
||||||
* @var Collection
|
* @var Collection
|
||||||
@ -76,15 +75,15 @@ class ClosingMotive
|
|||||||
* mappedBy="parent")
|
* mappedBy="parent")
|
||||||
*/
|
*/
|
||||||
private $children;
|
private $children;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var float
|
* @var float
|
||||||
*
|
*
|
||||||
* @ORM\Column(type="float")
|
* @ORM\Column(type="float")
|
||||||
*/
|
*/
|
||||||
private $ordering = 0.0;
|
private $ordering = 0.0;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ClosingMotive constructor.
|
* ClosingMotive constructor.
|
||||||
*/
|
*/
|
||||||
@ -92,7 +91,7 @@ class ClosingMotive
|
|||||||
{
|
{
|
||||||
$this->children = new ArrayCollection();
|
$this->children = new ArrayCollection();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get id
|
* Get id
|
||||||
*
|
*
|
||||||
@ -126,7 +125,7 @@ class ClosingMotive
|
|||||||
{
|
{
|
||||||
return $this->name;
|
return $this->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
@ -134,7 +133,7 @@ class ClosingMotive
|
|||||||
{
|
{
|
||||||
return $this->active;
|
return $this->active;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param bool $active
|
* @param bool $active
|
||||||
* @return $this
|
* @return $this
|
||||||
@ -142,16 +141,16 @@ class ClosingMotive
|
|||||||
public function setActive(bool $active)
|
public function setActive(bool $active)
|
||||||
{
|
{
|
||||||
$this->active = $active;
|
$this->active = $active;
|
||||||
|
|
||||||
if ($this->active === FALSE) {
|
if ($this->active === FALSE) {
|
||||||
foreach ($this->getChildren() as $child) {
|
foreach ($this->getChildren() as $child) {
|
||||||
$child->setActive(FALSE);
|
$child->setActive(FALSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return ClosingMotive
|
* @return ClosingMotive
|
||||||
*/
|
*/
|
||||||
@ -159,7 +158,7 @@ class ClosingMotive
|
|||||||
{
|
{
|
||||||
return $this->parent;
|
return $this->parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Collection
|
* @return Collection
|
||||||
*/
|
*/
|
||||||
@ -167,7 +166,7 @@ class ClosingMotive
|
|||||||
{
|
{
|
||||||
return $this->children;
|
return $this->children;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ClosingMotive|null $parent
|
* @param ClosingMotive|null $parent
|
||||||
* @return ClosingMotive
|
* @return ClosingMotive
|
||||||
@ -175,14 +174,14 @@ class ClosingMotive
|
|||||||
public function setParent(?ClosingMotive $parent): ClosingMotive
|
public function setParent(?ClosingMotive $parent): ClosingMotive
|
||||||
{
|
{
|
||||||
$this->parent = $parent;
|
$this->parent = $parent;
|
||||||
|
|
||||||
if (NULL !== $parent) {
|
if (NULL !== $parent) {
|
||||||
//$parent->addChildren($this);
|
//$parent->addChildren($this);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Collection $children
|
* @param Collection $children
|
||||||
* @return ClosingMotive
|
* @return ClosingMotive
|
||||||
@ -190,10 +189,10 @@ class ClosingMotive
|
|||||||
public function setChildren(Collection $children): ClosingMotive
|
public function setChildren(Collection $children): ClosingMotive
|
||||||
{
|
{
|
||||||
$this->children = $children;
|
$this->children = $children;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ClosingMotive $child
|
* @param ClosingMotive $child
|
||||||
* @return ClosingMotive
|
* @return ClosingMotive
|
||||||
@ -203,13 +202,13 @@ class ClosingMotive
|
|||||||
if ($this->children->contains($child)) {
|
if ($this->children->contains($child)) {
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->children->add($child);
|
$this->children->add($child);
|
||||||
$child->setParent($this);
|
$child->setParent($this);
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ClosingMotive $child
|
* @param ClosingMotive $child
|
||||||
* @return ClosingMotive
|
* @return ClosingMotive
|
||||||
@ -219,10 +218,10 @@ class ClosingMotive
|
|||||||
if ($this->children->removeElement($child)) {
|
if ($this->children->removeElement($child)) {
|
||||||
$child->setParent(null);
|
$child->setParent(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return float
|
* @return float
|
||||||
*/
|
*/
|
||||||
@ -230,7 +229,7 @@ class ClosingMotive
|
|||||||
{
|
{
|
||||||
return $this->ordering;
|
return $this->ordering;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param float $ordering
|
* @param float $ordering
|
||||||
* @return $this
|
* @return $this
|
||||||
@ -238,10 +237,10 @@ class ClosingMotive
|
|||||||
public function setOrdering(float $ordering)
|
public function setOrdering(float $ordering)
|
||||||
{
|
{
|
||||||
$this->ordering = $ordering;
|
$this->ordering = $ordering;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
@ -249,7 +248,7 @@ class ClosingMotive
|
|||||||
{
|
{
|
||||||
return $this->parent !== null;
|
return $this->parent !== null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
@ -257,7 +256,7 @@ class ClosingMotive
|
|||||||
{
|
{
|
||||||
return $this->children->count() > 0;
|
return $this->children->count() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
@ -265,7 +264,7 @@ class ClosingMotive
|
|||||||
{
|
{
|
||||||
return $this->children->count() === 0;
|
return $this->children->count() === 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
|
@ -22,13 +22,12 @@
|
|||||||
|
|
||||||
namespace Chill\PersonBundle\Entity\AccompanyingPeriod;
|
namespace Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
|
|
||||||
use Chill\PersonBundle\Repository\AccompanyingPeriod\CommentRepository;
|
|
||||||
use Chill\MainBundle\Entity\User;
|
use Chill\MainBundle\Entity\User;
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity(repositoryClass=CommentRepository::class)
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_accompanying_period_comment")
|
* @ORM\Table(name="chill_person_accompanying_period_comment")
|
||||||
*/
|
*/
|
||||||
class Comment
|
class Comment
|
||||||
|
@ -22,11 +22,10 @@
|
|||||||
|
|
||||||
namespace Chill\PersonBundle\Entity\AccompanyingPeriod;
|
namespace Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod\OriginRepository;
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity(repositoryClass=OriginRepository::class)
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_accompanying_period_origin")
|
* @ORM\Table(name="chill_person_accompanying_period_origin")
|
||||||
*/
|
*/
|
||||||
class Origin
|
class Origin
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
namespace Chill\PersonBundle\Entity\AccompanyingPeriod;
|
namespace Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
|
|
||||||
use Chill\PersonBundle\Repository\AccompanyingPeriod\ResourceRepository;
|
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod\Comment;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod\Comment;
|
||||||
use Chill\PersonBundle\Entity\Person;
|
use Chill\PersonBundle\Entity\Person;
|
||||||
@ -30,7 +29,7 @@ use Chill\ThirdPartyBundle\Entity\ThirdParty;
|
|||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity(repositoryClass=ResourceRepository::class)
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_accompanying_period_resource")
|
* @ORM\Table(name="chill_person_accompanying_period_resource")
|
||||||
*/
|
*/
|
||||||
class Resource
|
class Resource
|
||||||
@ -121,7 +120,7 @@ class Resource
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Person|ThirdParty
|
* @return Person|ThirdParty
|
||||||
*/
|
*/
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
namespace Chill\PersonBundle\Entity;
|
namespace Chill\PersonBundle\Entity;
|
||||||
|
|
||||||
use Chill\PersonBundle\Repository\AccompanyingPeriodParticipationRepository;
|
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
use Chill\PersonBundle\Entity\Person;
|
use Chill\PersonBundle\Entity\Person;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
@ -31,7 +30,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
* AccompanyingPeriodParticipation Class
|
* AccompanyingPeriodParticipation Class
|
||||||
*
|
*
|
||||||
* @package Chill\PersonBundle\Entity
|
* @package Chill\PersonBundle\Entity
|
||||||
* @ORM\Entity(repositoryClass=AccompanyingPeriodParticipationRepository::class)
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_accompanying_period_participation")
|
* @ORM\Table(name="chill_person_accompanying_period_participation")
|
||||||
*/
|
*/
|
||||||
class AccompanyingPeriodParticipation
|
class AccompanyingPeriodParticipation
|
||||||
@ -42,83 +41,83 @@ class AccompanyingPeriodParticipation
|
|||||||
* @ORM\Column(type="integer")
|
* @ORM\Column(type="integer")
|
||||||
*/
|
*/
|
||||||
private $id;
|
private $id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\ManyToOne(targetEntity=Person::class, inversedBy="accompanyingPeriodParticipations")
|
* @ORM\ManyToOne(targetEntity=Person::class, inversedBy="accompanyingPeriodParticipations")
|
||||||
* @ORM\JoinColumn(name="person_id", referencedColumnName="id", nullable=false)
|
* @ORM\JoinColumn(name="person_id", referencedColumnName="id", nullable=false)
|
||||||
*/
|
*/
|
||||||
private $person;
|
private $person;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\ManyToOne(targetEntity=AccompanyingPeriod::class, inversedBy="participations", cascade={"persist"})
|
* @ORM\ManyToOne(targetEntity=AccompanyingPeriod::class, inversedBy="participations", cascade={"persist"})
|
||||||
* @ORM\JoinColumn(name="accompanyingperiod_id", referencedColumnName="id", nullable=false)
|
* @ORM\JoinColumn(name="accompanyingperiod_id", referencedColumnName="id", nullable=false)
|
||||||
*/
|
*/
|
||||||
private $accompanyingPeriod;
|
private $accompanyingPeriod;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="date", nullable=false)
|
* @ORM\Column(type="date", nullable=false)
|
||||||
*/
|
*/
|
||||||
private $startDate;
|
private $startDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="date", nullable=true)
|
* @ORM\Column(type="date", nullable=true)
|
||||||
*/
|
*/
|
||||||
private $endDate = null;
|
private $endDate = null;
|
||||||
|
|
||||||
public function __construct(AccompanyingPeriod $accompanyingPeriod, Person $person)
|
public function __construct(AccompanyingPeriod $accompanyingPeriod, Person $person)
|
||||||
{
|
{
|
||||||
$this->startDate = new \DateTimeImmutable('now');
|
$this->startDate = new \DateTimeImmutable('now');
|
||||||
$this->accompanyingPeriod = $accompanyingPeriod;
|
$this->accompanyingPeriod = $accompanyingPeriod;
|
||||||
$this->person = $person;
|
$this->person = $person;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId(): ?int
|
public function getId(): ?int
|
||||||
{
|
{
|
||||||
return $this->id;
|
return $this->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPerson(): ?Person
|
public function getPerson(): ?Person
|
||||||
{
|
{
|
||||||
return $this->person;
|
return $this->person;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setPerson(?Person $person): self
|
public function setPerson(?Person $person): self
|
||||||
{
|
{
|
||||||
$this->person = $person;
|
$this->person = $person;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAccompanyingPeriod(): ?AccompanyingPeriod
|
public function getAccompanyingPeriod(): ?AccompanyingPeriod
|
||||||
{
|
{
|
||||||
return $this->accompanyingPeriod;
|
return $this->accompanyingPeriod;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setAccompanyingPeriod(?AccompanyingPeriod $accompanyingPeriod): self
|
public function setAccompanyingPeriod(?AccompanyingPeriod $accompanyingPeriod): self
|
||||||
{
|
{
|
||||||
$this->accompanyingPeriod = $accompanyingPeriod;
|
$this->accompanyingPeriod = $accompanyingPeriod;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getStartDate(): ?\DateTimeInterface
|
public function getStartDate(): ?\DateTimeInterface
|
||||||
{
|
{
|
||||||
return $this->startDate;
|
return $this->startDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* public function setStartDate(\DateTimeInterface $startDate): self { $this->startDate = $startDate; return $this; }
|
* public function setStartDate(\DateTimeInterface $startDate): self { $this->startDate = $startDate; return $this; }
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public function getEndDate(): ?\DateTimeInterface
|
public function getEndDate(): ?\DateTimeInterface
|
||||||
{
|
{
|
||||||
return $this->endDate;
|
return $this->endDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setEndDate(?\DateTimeInterface $endDate): self
|
public function setEndDate(?\DateTimeInterface $endDate): self
|
||||||
{
|
{
|
||||||
$this->endDate = $endDate;
|
$this->endDate = $endDate;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
/**
|
/**
|
||||||
* MaritalStatus
|
* MaritalStatus
|
||||||
*
|
*
|
||||||
* @ORM\Entity()
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_marital_status")
|
* @ORM\Table(name="chill_person_marital_status")
|
||||||
* @ORM\HasLifecycleCallbacks()
|
* @ORM\HasLifecycleCallbacks()
|
||||||
*/
|
*/
|
||||||
@ -48,7 +48,7 @@ class MaritalStatus
|
|||||||
/**
|
/**
|
||||||
* Get id
|
* Get id
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getId()
|
public function getId()
|
||||||
{
|
{
|
||||||
@ -57,7 +57,7 @@ class MaritalStatus
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Set id
|
* Set id
|
||||||
*
|
*
|
||||||
* @param string $id
|
* @param string $id
|
||||||
* @return MaritalStatus
|
* @return MaritalStatus
|
||||||
*/
|
*/
|
||||||
@ -76,17 +76,17 @@ class MaritalStatus
|
|||||||
public function setName($name)
|
public function setName($name)
|
||||||
{
|
{
|
||||||
$this->name = $name;
|
$this->name = $name;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get name
|
* Get name
|
||||||
*
|
*
|
||||||
* @return string array
|
* @return string array
|
||||||
*/
|
*/
|
||||||
public function getName()
|
public function getName()
|
||||||
{
|
{
|
||||||
return $this->name;
|
return $this->name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
|||||||
/**
|
/**
|
||||||
* Person Class
|
* Person Class
|
||||||
*
|
*
|
||||||
* @ORM\Entity(repositoryClass="Chill\PersonBundle\Repository\PersonRepository")
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_person",
|
* @ORM\Table(name="chill_person_person",
|
||||||
* indexes={@ORM\Index(
|
* indexes={@ORM\Index(
|
||||||
* name="person_names",
|
* name="person_names",
|
||||||
@ -287,7 +287,7 @@ class Person implements HasCenterInterface
|
|||||||
|
|
||||||
$this->open(new AccompanyingPeriod($opening));
|
$this->open(new AccompanyingPeriod($opening));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This private function scan accompanyingPeriodParticipations Collection,
|
* This private function scan accompanyingPeriodParticipations Collection,
|
||||||
* searching for a given AccompanyingPeriod
|
* searching for a given AccompanyingPeriod
|
||||||
@ -299,10 +299,10 @@ class Person implements HasCenterInterface
|
|||||||
if ($accompanyingPeriod === $participation->getAccompanyingPeriod()) {
|
if ($accompanyingPeriod === $participation->getAccompanyingPeriod()) {
|
||||||
return $participation;
|
return $participation;
|
||||||
}}
|
}}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This public function is the same but return only true or false
|
* This public function is the same but return only true or false
|
||||||
*/
|
*/
|
||||||
@ -310,7 +310,7 @@ class Person implements HasCenterInterface
|
|||||||
{
|
{
|
||||||
return ($this->participationsContainAccompanyingPeriod($accompanyingPeriod)) ? false : true;
|
return ($this->participationsContainAccompanyingPeriod($accompanyingPeriod)) ? false : true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add AccompanyingPeriodParticipation
|
* Add AccompanyingPeriodParticipation
|
||||||
*
|
*
|
||||||
@ -320,7 +320,7 @@ class Person implements HasCenterInterface
|
|||||||
{
|
{
|
||||||
$participation = new AccompanyingPeriodParticipation($accompanyingPeriod, $this);
|
$participation = new AccompanyingPeriodParticipation($accompanyingPeriod, $this);
|
||||||
$this->accompanyingPeriodParticipations->add($participation);
|
$this->accompanyingPeriodParticipations->add($participation);
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -330,7 +330,7 @@ class Person implements HasCenterInterface
|
|||||||
public function removeAccompanyingPeriod(AccompanyingPeriod $accompanyingPeriod) : void
|
public function removeAccompanyingPeriod(AccompanyingPeriod $accompanyingPeriod) : void
|
||||||
{
|
{
|
||||||
$participation = $this->participationsContainAccompanyingPeriod($accompanyingPeriod);
|
$participation = $this->participationsContainAccompanyingPeriod($accompanyingPeriod);
|
||||||
|
|
||||||
if (! null === $participation) {
|
if (! null === $participation) {
|
||||||
$participation->setEndDate(\DateTimeImmutable::class);
|
$participation->setEndDate(\DateTimeImmutable::class);
|
||||||
$this->accompanyingPeriodParticipations->removeElement($participation);
|
$this->accompanyingPeriodParticipations->removeElement($participation);
|
||||||
@ -408,7 +408,7 @@ class Person implements HasCenterInterface
|
|||||||
}
|
}
|
||||||
return $accompanyingPeriods;
|
return $accompanyingPeriods;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get AccompanyingPeriodParticipations Collection
|
* Get AccompanyingPeriodParticipations Collection
|
||||||
*/
|
*/
|
||||||
@ -1140,12 +1140,12 @@ class Person implements HasCenterInterface
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getFullnameCanonical() : string
|
public function getFullnameCanonical() : string
|
||||||
{
|
{
|
||||||
return $this->fullnameCanonical;
|
return $this->fullnameCanonical;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setFullnameCanonical($fullnameCanonical) : Person
|
public function setFullnameCanonical($fullnameCanonical) : Person
|
||||||
{
|
{
|
||||||
$this->fullnameCanonical = $fullnameCanonical;
|
$this->fullnameCanonical = $fullnameCanonical;
|
||||||
|
@ -8,7 +8,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
* PersonAltName
|
* PersonAltName
|
||||||
*
|
*
|
||||||
* @ORM\Table(name="chill_person_alt_name")
|
* @ORM\Table(name="chill_person_alt_name")
|
||||||
* @ORM\Entity(repositoryClass="Chill\PersonBundle\Repository\PersonAltNameRepository")
|
* @ORM\Entity
|
||||||
*/
|
*/
|
||||||
class PersonAltName
|
class PersonAltName
|
||||||
{
|
{
|
||||||
@ -34,7 +34,7 @@ class PersonAltName
|
|||||||
* @ORM\Column(name="label", type="text")
|
* @ORM\Column(name="label", type="text")
|
||||||
*/
|
*/
|
||||||
private $label;
|
private $label;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var Person
|
* @var Person
|
||||||
*
|
*
|
||||||
@ -45,7 +45,7 @@ class PersonAltName
|
|||||||
*/
|
*/
|
||||||
private $person;
|
private $person;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get id.
|
* Get id.
|
||||||
*
|
*
|
||||||
@ -103,7 +103,7 @@ class PersonAltName
|
|||||||
{
|
{
|
||||||
return $this->label;
|
return $this->label;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Person
|
* @return Person
|
||||||
*/
|
*/
|
||||||
@ -111,7 +111,7 @@ class PersonAltName
|
|||||||
{
|
{
|
||||||
return $this->person;
|
return $this->person;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Person|null $person
|
* @param Person|null $person
|
||||||
* @return $this
|
* @return $this
|
||||||
@ -119,7 +119,7 @@ class PersonAltName
|
|||||||
public function setPerson(?Person $person = null)
|
public function setPerson(?Person $person = null)
|
||||||
{
|
{
|
||||||
$this->person = $person;
|
$this->person = $person;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@ use Chill\MainBundle\Entity\User;
|
|||||||
* PersonNotDuplicate
|
* PersonNotDuplicate
|
||||||
*
|
*
|
||||||
* @ORM\Table(name="chill_person_not_duplicate")
|
* @ORM\Table(name="chill_person_not_duplicate")
|
||||||
* @ORM\Entity(repositoryClass="Chill\PersonBundle\Repository\PersonNotDuplicateRepository")
|
* @ORM\Entity
|
||||||
*/
|
*/
|
||||||
class PersonNotDuplicate
|
class PersonNotDuplicate
|
||||||
{
|
{
|
||||||
|
@ -8,7 +8,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
/**
|
/**
|
||||||
* Person Phones
|
* Person Phones
|
||||||
*
|
*
|
||||||
* @ORM\Entity()
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_phone")
|
* @ORM\Table(name="chill_person_phone")
|
||||||
*/
|
*/
|
||||||
class PersonPhone
|
class PersonPhone
|
||||||
@ -107,7 +107,7 @@ class PersonPhone
|
|||||||
{
|
{
|
||||||
$this->date = $date;
|
$this->date = $date;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isEmpty(): bool
|
public function isEmpty(): bool
|
||||||
{
|
{
|
||||||
return empty($this->getDescription()) && empty($this->getPhonenumber());
|
return empty($this->getDescription()) && empty($this->getPhonenumber());
|
||||||
|
@ -2,11 +2,10 @@
|
|||||||
|
|
||||||
namespace Chill\PersonBundle\Entity\SocialWork;
|
namespace Chill\PersonBundle\Entity\SocialWork;
|
||||||
|
|
||||||
use Chill\PersonBundle\Repository\SocialWork\EvaluationRepository;
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity(repositoryClass=EvaluationRepository::class)
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_social_work_evaluation")
|
* @ORM\Table(name="chill_person_social_work_evaluation")
|
||||||
*/
|
*/
|
||||||
class Evaluation
|
class Evaluation
|
||||||
|
@ -2,13 +2,12 @@
|
|||||||
|
|
||||||
namespace Chill\PersonBundle\Entity\SocialWork;
|
namespace Chill\PersonBundle\Entity\SocialWork;
|
||||||
|
|
||||||
use Chill\PersonBundle\Repository\SocialWork\GoalRepository;
|
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Doctrine\Common\Collections\Collection;
|
use Doctrine\Common\Collections\Collection;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity(repositoryClass=GoalRepository::class)
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_social_work_goal")
|
* @ORM\Table(name="chill_person_social_work_goal")
|
||||||
*/
|
*/
|
||||||
class Goal
|
class Goal
|
||||||
|
@ -4,13 +4,12 @@ namespace Chill\PersonBundle\Entity\SocialWork;
|
|||||||
|
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork;
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkGoal;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkGoal;
|
||||||
use Chill\PersonBundle\Repository\SocialWork\ResultRepository;
|
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Doctrine\Common\Collections\Collection;
|
use Doctrine\Common\Collections\Collection;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity(repositoryClass=ResultRepository::class)
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_social_work_result")
|
* @ORM\Table(name="chill_person_social_work_result")
|
||||||
*/
|
*/
|
||||||
class Result
|
class Result
|
||||||
|
@ -2,13 +2,12 @@
|
|||||||
|
|
||||||
namespace Chill\PersonBundle\Entity\SocialWork;
|
namespace Chill\PersonBundle\Entity\SocialWork;
|
||||||
|
|
||||||
use Chill\PersonBundle\Repository\SocialWork\SocialActionRepository;
|
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Doctrine\Common\Collections\Collection;
|
use Doctrine\Common\Collections\Collection;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity(repositoryClass=SocialActionRepository::class)
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_social_action")
|
* @ORM\Table(name="chill_person_social_action")
|
||||||
*/
|
*/
|
||||||
class SocialAction
|
class SocialAction
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Chill\PersonBundle\Entity\SocialWork;
|
namespace Chill\PersonBundle\Entity\SocialWork;
|
||||||
|
|
||||||
|
|
||||||
use Chill\PersonBundle\Repository\SocialWork\SocialIssueRepository;
|
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Doctrine\Common\Collections\Collection;
|
use Doctrine\Common\Collections\Collection;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity(repositoryClass=SocialIssueRepository::class)
|
* @ORM\Entity
|
||||||
* @ORM\Table(name="chill_person_social_issue")
|
* @ORM\Table(name="chill_person_social_issue")
|
||||||
*/
|
*/
|
||||||
class SocialIssue
|
class SocialIssue
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkGoal;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkGoal;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method AccompanyingPeriodWorkGoal|null find($id, $lockMode = null, $lockVersion = null)
|
* @method AccompanyingPeriodWorkGoal|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -12,10 +12,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method AccompanyingPeriodWorkGoal[] findAll()
|
* @method AccompanyingPeriodWorkGoal[] findAll()
|
||||||
* @method AccompanyingPeriodWorkGoal[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method AccompanyingPeriodWorkGoal[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class AccompanyingPeriodWorkGoalRepository extends ServiceEntityRepository
|
class AccompanyingPeriodWorkGoalRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
{
|
{
|
||||||
parent::__construct($registry, AccompanyingPeriodWorkGoal::class);
|
$this->repository = $entityManager->getRepository(AccompanyingPeriodWorkGoal::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method AccompanyingPeriodWork|null find($id, $lockMode = null, $lockVersion = null)
|
* @method AccompanyingPeriodWork|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -12,10 +12,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method AccompanyingPeriodWork[] findAll()
|
* @method AccompanyingPeriodWork[] findAll()
|
||||||
* @method AccompanyingPeriodWork[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method AccompanyingPeriodWork[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class AccompanyingPeriodWorkRepository extends ServiceEntityRepository
|
class AccompanyingPeriodWorkRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
{
|
{
|
||||||
parent::__construct($registry, AccompanyingPeriodWork::class);
|
$this->repository = $entityManager->getRepository(AccompanyingPeriodWork::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
|
|
||||||
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
||||||
|
|
||||||
|
use Chill\PersonBundle\Entity\AccompanyingPeriod\ClosingMotive;
|
||||||
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\ORM\EntityRepository;
|
use Doctrine\ORM\EntityRepository;
|
||||||
use Doctrine\ORM\QueryBuilder;
|
use Doctrine\ORM\QueryBuilder;
|
||||||
use Doctrine\ORM\Query\ResultSetMappingBuilder;
|
use Doctrine\ORM\Query\ResultSetMappingBuilder;
|
||||||
@ -32,33 +34,41 @@ use Doctrine\ORM\Query\ResultSetMappingBuilder;
|
|||||||
*
|
*
|
||||||
* @package Chill\PersonBundle\Repository
|
* @package Chill\PersonBundle\Repository
|
||||||
*/
|
*/
|
||||||
class ClosingMotiveRepository extends EntityRepository
|
class ClosingMotiveRepository
|
||||||
{
|
{
|
||||||
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
|
{
|
||||||
|
$this->repository = $entityManager->getRepository(ClosingMotive::class);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param bool $onlyLeaf
|
* @param bool $onlyLeaf
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function getActiveClosingMotive(bool $onlyLeaf = true)
|
public function getActiveClosingMotive(bool $onlyLeaf = true)
|
||||||
{
|
{
|
||||||
$rsm = new ResultSetMappingBuilder($this->getEntityManager());
|
$rsm = new ResultSetMappingBuilder($this->repository->getEntityManager());
|
||||||
$rsm->addRootEntityFromClassMetadata($this->getClassName(), 'cm');
|
$rsm->addRootEntityFromClassMetadata($this->repository->getClassName(), 'cm');
|
||||||
|
|
||||||
$sql = "SELECT ".(string) $rsm."
|
$sql = "SELECT ".(string) $rsm."
|
||||||
FROM chill_person_accompanying_period_closingmotive AS cm
|
FROM chill_person_accompanying_period_closingmotive AS cm
|
||||||
WHERE
|
WHERE
|
||||||
active IS TRUE ";
|
active IS TRUE ";
|
||||||
|
|
||||||
if ($onlyLeaf) {
|
if ($onlyLeaf) {
|
||||||
$sql .= "AND cm.id NOT IN (
|
$sql .= "AND cm.id NOT IN (
|
||||||
SELECT DISTINCT parent_id FROM chill_person_accompanying_period_closingmotive WHERE parent_id IS NOT NULL
|
SELECT DISTINCT parent_id FROM chill_person_accompanying_period_closingmotive WHERE parent_id IS NOT NULL
|
||||||
)";
|
)";
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql .= " ORDER BY cm.ordering ASC";
|
$sql .= " ORDER BY cm.ordering ASC";
|
||||||
|
|
||||||
return $this->_em
|
return $this
|
||||||
|
->repository
|
||||||
|
->getEntityManager()
|
||||||
->createNativeQuery($sql, $rsm)
|
->createNativeQuery($sql, $rsm)
|
||||||
->getResult()
|
->getResult();
|
||||||
;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,8 +23,8 @@
|
|||||||
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod\Comment;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod\Comment;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method Comment|null find($id, $lockMode = null, $lockVersion = null)
|
* @method Comment|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -32,11 +32,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method Comment[] findAll()
|
* @method Comment[] findAll()
|
||||||
* @method Comment[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method Comment[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class CommentRepository extends ServiceEntityRepository
|
class CommentRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
{
|
{
|
||||||
parent::__construct($registry, Comment::class);
|
$this->repository = $entityManager->getRepository(Comment::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -23,8 +23,8 @@
|
|||||||
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod\Origin;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod\Origin;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method Origin|null find($id, $lockMode = null, $lockVersion = null)
|
* @method Origin|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -32,11 +32,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method Origin[] findAll()
|
* @method Origin[] findAll()
|
||||||
* @method Origin[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method Origin[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class OriginRepository extends ServiceEntityRepository
|
class OriginRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
{
|
|
||||||
parent::__construct($registry, Origin::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
|
{
|
||||||
|
$this->repository = $entityManager->getRepository(Origin::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,8 +23,8 @@
|
|||||||
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
namespace Chill\PersonBundle\Repository\AccompanyingPeriod;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod\Resource;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod\Resource;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method Resource|null find($id, $lockMode = null, $lockVersion = null)
|
* @method Resource|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -32,11 +32,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method Resource[] findAll()
|
* @method Resource[] findAll()
|
||||||
* @method Resource[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method Resource[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class ResourceRepository extends ServiceEntityRepository
|
class ResourceRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
{
|
|
||||||
parent::__construct($registry, Resource::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
|
{
|
||||||
|
$this->repository = $entityManager->getRepository(Resource::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,8 +23,8 @@
|
|||||||
namespace Chill\PersonBundle\Repository;
|
namespace Chill\PersonBundle\Repository;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriodParticipation;
|
use Chill\PersonBundle\Entity\AccompanyingPeriodParticipation;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method AccompanyingPeriodParticipation|null find($id, $lockMode = null, $lockVersion = null)
|
* @method AccompanyingPeriodParticipation|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -32,11 +32,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method AccompanyingPeriodParticipation[] findAll()
|
* @method AccompanyingPeriodParticipation[] findAll()
|
||||||
* @method AccompanyingPeriodParticipation[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method AccompanyingPeriodParticipation[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class AccompanyingPeriodParticipationRepository extends ServiceEntityRepository
|
class AccompanyingPeriodParticipationRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
{
|
{
|
||||||
parent::__construct($registry, AccompanyingPeriodParticipation::class);
|
$this->repository = $entityManager->getRepository(AccompanyingPeriodParticipation::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -23,9 +23,8 @@
|
|||||||
namespace Chill\PersonBundle\Repository;
|
namespace Chill\PersonBundle\Repository;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
use Chill\PersonBundle\Entity\Person;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\ORM\EntityRepository;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method AccompanyingPeriod|null find($id, $lockMode = null, $lockVersion = null)
|
* @method AccompanyingPeriod|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -33,10 +32,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method AccompanyingPeriod[] findAll()
|
* @method AccompanyingPeriod[] findAll()
|
||||||
* @method AccompanyingPeriod[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method AccompanyingPeriod[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class AccompanyingPeriodRepository extends ServiceEntityRepository
|
class AccompanyingPeriodRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
{
|
{
|
||||||
parent::__construct($registry, AccompanyingPeriod::class);
|
$this->repository = $entityManager->getRepository(AccompanyingPeriod::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,12 +2,22 @@
|
|||||||
|
|
||||||
namespace Chill\PersonBundle\Repository;
|
namespace Chill\PersonBundle\Repository;
|
||||||
|
|
||||||
|
use Chill\PersonBundle\Entity\PersonAltName;
|
||||||
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PersonAltNameRepository
|
* PersonAltNameRepository
|
||||||
*
|
*
|
||||||
* This class was generated by the Doctrine ORM. Add your own custom
|
* This class was generated by the Doctrine ORM. Add your own custom
|
||||||
* repository methods below.
|
* repository methods below.
|
||||||
*/
|
*/
|
||||||
class PersonAltNameRepository extends \Doctrine\ORM\EntityRepository
|
class PersonAltNameRepository
|
||||||
{
|
{
|
||||||
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
|
{
|
||||||
|
$this->repository = $entityManager->getRepository(PersonAltName::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ namespace Chill\PersonBundle\Repository;
|
|||||||
|
|
||||||
use Chill\PersonBundle\Entity\Person;
|
use Chill\PersonBundle\Entity\Person;
|
||||||
use Chill\PersonBundle\Entity\PersonNotDuplicate;
|
use Chill\PersonBundle\Entity\PersonNotDuplicate;
|
||||||
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\ORM\EntityRepository;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -11,8 +12,15 @@ use Doctrine\ORM\EntityRepository;
|
|||||||
*
|
*
|
||||||
* @package Chill\PersonBundle\Repository
|
* @package Chill\PersonBundle\Repository
|
||||||
*/
|
*/
|
||||||
class PersonNotDuplicateRepository extends EntityRepository
|
class PersonNotDuplicateRepository
|
||||||
{
|
{
|
||||||
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
|
{
|
||||||
|
$this->repository = $entityManager->getRepository(PersonNotDuplicate::class);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param \Chill\PersonBundle\Entity\Person $person
|
* @param \Chill\PersonBundle\Entity\Person $person
|
||||||
*
|
*
|
||||||
@ -20,7 +28,7 @@ class PersonNotDuplicateRepository extends EntityRepository
|
|||||||
*/
|
*/
|
||||||
public function findNotDuplicatePerson(Person $person)
|
public function findNotDuplicatePerson(Person $person)
|
||||||
{
|
{
|
||||||
$qb = $this->createQueryBuilder('pnd');
|
$qb = $this->repository->createQueryBuilder('pnd');
|
||||||
$qb->select('pnd')
|
$qb->select('pnd')
|
||||||
->where('pnd.person1 = :person OR pnd.person2 = :person')
|
->where('pnd.person1 = :person OR pnd.person2 = :person')
|
||||||
;
|
;
|
||||||
|
@ -18,16 +18,25 @@
|
|||||||
|
|
||||||
namespace Chill\PersonBundle\Repository;
|
namespace Chill\PersonBundle\Repository;
|
||||||
|
|
||||||
|
use Chill\PersonBundle\Entity\Person;
|
||||||
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\ORM\EntityRepository;
|
use Doctrine\ORM\EntityRepository;
|
||||||
use Doctrine\ORM\QueryBuilder;
|
use Doctrine\ORM\QueryBuilder;
|
||||||
|
|
||||||
/**
|
final class PersonRepository
|
||||||
* Class PersonRepository
|
|
||||||
*
|
|
||||||
* @package Chill\PersonBundle\Repository
|
|
||||||
*/
|
|
||||||
class PersonRepository extends EntityRepository
|
|
||||||
{
|
{
|
||||||
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
|
{
|
||||||
|
$this->repository = $entityManager->getRepository(Person::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function find($id, $lockMode = null, $lockVersion = null)
|
||||||
|
{
|
||||||
|
return $this->repository->find($id, $lockMode, $lockVersion);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $phonenumber
|
* @param string $phonenumber
|
||||||
* @param $centers
|
* @param $centers
|
||||||
@ -38,25 +47,25 @@ class PersonRepository extends EntityRepository
|
|||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function findByPhone(
|
public function findByPhone(
|
||||||
string $phonenumber,
|
string $phonenumber,
|
||||||
$centers,
|
$centers,
|
||||||
$firstResult,
|
$firstResult,
|
||||||
$maxResults,
|
$maxResults,
|
||||||
array $only = ['mobile', 'phone']
|
array $only = ['mobile', 'phone']
|
||||||
) {
|
) {
|
||||||
$qb = $this->createQueryBuilder('p');
|
$qb = $this->repository->createQueryBuilder('p');
|
||||||
$qb->select('p');
|
$qb->select('p');
|
||||||
|
|
||||||
$this->addByCenters($qb, $centers);
|
$this->addByCenters($qb, $centers);
|
||||||
$this->addPhoneNumber($qb, $phonenumber, $only);
|
$this->addPhoneNumber($qb, $phonenumber, $only);
|
||||||
|
|
||||||
$qb->setFirstResult($firstResult)
|
$qb->setFirstResult($firstResult)
|
||||||
->setMaxResults($maxResults)
|
->setMaxResults($maxResults)
|
||||||
;
|
;
|
||||||
|
|
||||||
return $qb->getQuery()->getResult();
|
return $qb->getQuery()->getResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $phonenumber
|
* @param string $phonenumber
|
||||||
* @param $centers
|
* @param $centers
|
||||||
@ -66,20 +75,20 @@ class PersonRepository extends EntityRepository
|
|||||||
* @throws \Doctrine\ORM\NonUniqueResultException
|
* @throws \Doctrine\ORM\NonUniqueResultException
|
||||||
*/
|
*/
|
||||||
public function countByPhone(
|
public function countByPhone(
|
||||||
string $phonenumber,
|
string $phonenumber,
|
||||||
$centers,
|
$centers,
|
||||||
array $only = ['mobile', 'phone']
|
array $only = ['mobile', 'phone']
|
||||||
): int
|
): int
|
||||||
{
|
{
|
||||||
$qb = $this->createQueryBuilder('p');
|
$qb = $this->repository->createQueryBuilder('p');
|
||||||
$qb->select('COUNT(p)');
|
$qb->select('COUNT(p)');
|
||||||
|
|
||||||
$this->addByCenters($qb, $centers);
|
$this->addByCenters($qb, $centers);
|
||||||
$this->addPhoneNumber($qb, $phonenumber, $only);
|
$this->addPhoneNumber($qb, $phonenumber, $only);
|
||||||
|
|
||||||
return $qb->getQuery()->getSingleScalarResult();
|
return $qb->getQuery()->getSingleScalarResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param QueryBuilder $qb
|
* @param QueryBuilder $qb
|
||||||
* @param string $phonenumber
|
* @param string $phonenumber
|
||||||
@ -91,23 +100,23 @@ class PersonRepository extends EntityRepository
|
|||||||
if (count($only) === 0) {
|
if (count($only) === 0) {
|
||||||
throw new \Exception("No array field to search");
|
throw new \Exception("No array field to search");
|
||||||
}
|
}
|
||||||
|
|
||||||
$phonenumber = $this->parsePhoneNumber($phonenumber);
|
$phonenumber = $this->parsePhoneNumber($phonenumber);
|
||||||
|
|
||||||
$orX = $qb->expr()->orX();
|
$orX = $qb->expr()->orX();
|
||||||
|
|
||||||
if (\in_array('mobile', $only)) {
|
if (\in_array('mobile', $only)) {
|
||||||
$orX->add($qb->expr()->like("REPLACE(p.mobilenumber, ' ', '')", ':phonenumber'));
|
$orX->add($qb->expr()->like("REPLACE(p.mobilenumber, ' ', '')", ':phonenumber'));
|
||||||
}
|
}
|
||||||
if (\in_array('phone', $only)) {
|
if (\in_array('phone', $only)) {
|
||||||
$orX->add($qb->expr()->like("REPLACE(p.phonenumber, ' ', '')", ':phonenumber'));
|
$orX->add($qb->expr()->like("REPLACE(p.phonenumber, ' ', '')", ':phonenumber'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$qb->andWhere($orX);
|
$qb->andWhere($orX);
|
||||||
|
|
||||||
$qb->setParameter('phonenumber', '%'.$phonenumber.'%');
|
$qb->setParameter('phonenumber', '%'.$phonenumber.'%');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $phonenumber
|
* @param $phonenumber
|
||||||
* @return string
|
* @return string
|
||||||
@ -116,7 +125,7 @@ class PersonRepository extends EntityRepository
|
|||||||
{
|
{
|
||||||
return \str_replace(' ', '', $phonenumber);
|
return \str_replace(' ', '', $phonenumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param QueryBuilder $qb
|
* @param QueryBuilder $qb
|
||||||
* @param array $centers
|
* @param array $centers
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
namespace Chill\PersonBundle\Repository\SocialWork;
|
namespace Chill\PersonBundle\Repository\SocialWork;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\SocialWork\Evaluation;
|
use Chill\PersonBundle\Entity\SocialWork\Evaluation;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method Evaluation|null find($id, $lockMode = null, $lockVersion = null)
|
* @method Evaluation|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -12,10 +12,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method Evaluation[] findAll()
|
* @method Evaluation[] findAll()
|
||||||
* @method Evaluation[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method Evaluation[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class EvaluationRepository extends ServiceEntityRepository
|
class EvaluationRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
{
|
{
|
||||||
parent::__construct($registry, Evaluation::class);
|
$this->repository = $entityManager->getRepository(Evaluation::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
namespace Chill\PersonBundle\Repository\SocialWork;
|
namespace Chill\PersonBundle\Repository\SocialWork;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\SocialWork\Goal;
|
use Chill\PersonBundle\Entity\SocialWork\Goal;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method Goal|null find($id, $lockMode = null, $lockVersion = null)
|
* @method Goal|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -12,10 +12,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method Goal[] findAll()
|
* @method Goal[] findAll()
|
||||||
* @method Goal[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method Goal[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class GoalRepository extends ServiceEntityRepository
|
class GoalRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
{
|
{
|
||||||
parent::__construct($registry, Goal::class);
|
$this->repository = $entityManager->getRepository(Goal::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
namespace Chill\PersonBundle\Repository\SocialWork;
|
namespace Chill\PersonBundle\Repository\SocialWork;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\SocialWork\Result;
|
use Chill\PersonBundle\Entity\SocialWork\Result;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method Result|null find($id, $lockMode = null, $lockVersion = null)
|
* @method Result|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -12,10 +12,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method Result[] findAll()
|
* @method Result[] findAll()
|
||||||
* @method Result[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method Result[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class ResultRepository extends ServiceEntityRepository
|
class ResultRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
{
|
{
|
||||||
parent::__construct($registry, Result::class);
|
$this->repository = $entityManager->getRepository(Result::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
namespace Chill\PersonBundle\Repository\SocialWork;
|
namespace Chill\PersonBundle\Repository\SocialWork;
|
||||||
|
|
||||||
use Chill\PersonBundle\Entity\SocialWork\SocialAction;
|
use Chill\PersonBundle\Entity\SocialWork\SocialAction;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method SocialAction|null find($id, $lockMode = null, $lockVersion = null)
|
* @method SocialAction|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -12,10 +12,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method SocialAction[] findAll()
|
* @method SocialAction[] findAll()
|
||||||
* @method SocialAction[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method SocialAction[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class SocialActionRepository extends ServiceEntityRepository
|
class SocialActionRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
{
|
{
|
||||||
parent::__construct($registry, SocialAction::class);
|
$this->repository = $entityManager->getRepository(SocialAction::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,8 @@ namespace Chill\PersonBundle\Repository\SocialWork;
|
|||||||
|
|
||||||
use Chill\PersonBundle\Entity\SocialWork\SocialIssue;
|
use Chill\PersonBundle\Entity\SocialWork\SocialIssue;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method SocialIssue|null find($id, $lockMode = null, $lockVersion = null)
|
* @method SocialIssue|null find($id, $lockMode = null, $lockVersion = null)
|
||||||
@ -12,10 +13,12 @@ use Doctrine\Persistence\ManagerRegistry;
|
|||||||
* @method SocialIssue[] findAll()
|
* @method SocialIssue[] findAll()
|
||||||
* @method SocialIssue[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
* @method SocialIssue[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
|
||||||
*/
|
*/
|
||||||
class SocialIssueRepository extends ServiceEntityRepository
|
class SocialIssueRepository
|
||||||
{
|
{
|
||||||
public function __construct(ManagerRegistry $registry)
|
private EntityRepository $repository;
|
||||||
|
|
||||||
|
public function __construct(EntityManagerInterface $entityManager)
|
||||||
{
|
{
|
||||||
parent::__construct($registry, SocialIssue::class);
|
$this->repository = $entityManager->getRepository(SocialIssue::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,12 +22,14 @@ use Chill\PersonBundle\Entity\PersonNotDuplicate;
|
|||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Chill\PersonBundle\Entity\Person;
|
use Chill\PersonBundle\Entity\Person;
|
||||||
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
|
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
|
||||||
|
use Chill\PersonBundle\Repository\PersonNotDuplicateRepository;
|
||||||
|
use Chill\PersonBundle\Repository\PersonRepository;
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||||
use Symfony\Component\Security\Core\Role\Role;
|
use Symfony\Component\Security\Core\Role\Role;
|
||||||
use Chill\PersonBundle\Security\Authorization\PersonVoter;
|
use Chill\PersonBundle\Security\Authorization\PersonVoter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @author Julien Fastré <julien.fastre@champs-libres.coop>
|
* @author Julien Fastré <julien.fastre@champs-libres.coop>
|
||||||
*/
|
*/
|
||||||
@ -41,20 +43,20 @@ class SimilarPersonMatcher
|
|||||||
* @var EntityManagerInterface
|
* @var EntityManagerInterface
|
||||||
*/
|
*/
|
||||||
protected $em;
|
protected $em;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var AuthorizationHelper
|
* @var AuthorizationHelper
|
||||||
*/
|
*/
|
||||||
protected $authorizationHelper;
|
protected $authorizationHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var TokenStorageInterface
|
* @var TokenStorageInterface
|
||||||
*/
|
*/
|
||||||
protected $tokenStorage;
|
protected $tokenStorage;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
EntityManagerInterface $em,
|
EntityManagerInterface $em,
|
||||||
AuthorizationHelper $authorizationHelper,
|
AuthorizationHelper $authorizationHelper,
|
||||||
TokenStorageInterface $tokenStorage
|
TokenStorageInterface $tokenStorage
|
||||||
) {
|
) {
|
||||||
$this->em = $em;
|
$this->em = $em;
|
||||||
@ -62,7 +64,7 @@ class SimilarPersonMatcher
|
|||||||
$this->tokenStorage = $tokenStorage;
|
$this->tokenStorage = $tokenStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function matchPerson(Person $person, $precision = 0.15, $orderBy = self::SIMILAR_SEARCH_ORDER_BY_SIMILARITY)
|
public function matchPerson(Person $person, PersonNotDuplicateRepository $personNotDuplicateRepository, $precision = 0.15, $orderBy = self::SIMILAR_SEARCH_ORDER_BY_SIMILARITY)
|
||||||
{
|
{
|
||||||
$centers = $this->authorizationHelper->getReachableCenters(
|
$centers = $this->authorizationHelper->getReachableCenters(
|
||||||
$this->tokenStorage->getToken()->getUser(),
|
$this->tokenStorage->getToken()->getUser(),
|
||||||
@ -77,8 +79,7 @@ class SimilarPersonMatcher
|
|||||||
. ' AND p.id != :personId '
|
. ' AND p.id != :personId '
|
||||||
;
|
;
|
||||||
|
|
||||||
$notDuplicatePersons = $this->em->getRepository(PersonNotDuplicate::class)
|
$notDuplicatePersons = $personNotDuplicateRepository->findNotDuplicatePerson($person);
|
||||||
->findNotDuplicatePerson($person);
|
|
||||||
|
|
||||||
if (count($notDuplicatePersons)) {
|
if (count($notDuplicatePersons)) {
|
||||||
$dql .= ' AND p.id not in (:notDuplicatePersons)';
|
$dql .= ' AND p.id not in (:notDuplicatePersons)';
|
||||||
|
@ -30,14 +30,15 @@ use Chill\PersonBundle\Security\Authorization\PersonVoter;
|
|||||||
use Symfony\Component\Security\Core\Role\Role;
|
use Symfony\Component\Security\Core\Role\Role;
|
||||||
use Doctrine\ORM\EntityManager;
|
use Doctrine\ORM\EntityManager;
|
||||||
use Chill\CustomFieldsBundle\Entity\CustomField;
|
use Chill\CustomFieldsBundle\Entity\CustomField;
|
||||||
|
use Chill\PersonBundle\Repository\PersonRepository;
|
||||||
use Twig\Environment;
|
use Twig\Environment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add a widget with person list.
|
* add a widget with person list.
|
||||||
*
|
*
|
||||||
* The configuration is defined by `PersonListWidgetFactory`
|
* The configuration is defined by `PersonListWidgetFactory`
|
||||||
*
|
*
|
||||||
* If the options 'custom_fields' is used, the custom fields entity will be
|
* If the options 'custom_fields' is used, the custom fields entity will be
|
||||||
* queried from the db and transmitted to the view under the `customFields` variable.
|
* queried from the db and transmitted to the view under the `customFields` variable.
|
||||||
*/
|
*/
|
||||||
class PersonListWidget implements WidgetInterface
|
class PersonListWidget implements WidgetInterface
|
||||||
@ -45,38 +46,38 @@ class PersonListWidget implements WidgetInterface
|
|||||||
/**
|
/**
|
||||||
* Repository for persons
|
* Repository for persons
|
||||||
*
|
*
|
||||||
* @var EntityRepository
|
* @var PersonRepository
|
||||||
*/
|
*/
|
||||||
protected $personRepository;
|
protected $personRepository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The entity manager
|
* The entity manager
|
||||||
*
|
*
|
||||||
* @var EntityManager
|
* @var EntityManager
|
||||||
*/
|
*/
|
||||||
protected $entityManager;
|
protected $entityManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the authorization helper
|
* the authorization helper
|
||||||
*
|
*
|
||||||
* @var AuthorizationHelper;
|
* @var AuthorizationHelper;
|
||||||
*/
|
*/
|
||||||
protected $authorizationHelper;
|
protected $authorizationHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @var TokenStorage
|
* @var TokenStorage
|
||||||
*/
|
*/
|
||||||
protected $tokenStorage;
|
protected $tokenStorage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @var UserInterface
|
* @var UserInterface
|
||||||
*/
|
*/
|
||||||
protected $user;
|
protected $user;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
EntityRepository $personRepostory,
|
PersonRepository $personRepostory,
|
||||||
EntityManager $em,
|
EntityManager $em,
|
||||||
AuthorizationHelper $authorizationHelper,
|
AuthorizationHelper $authorizationHelper,
|
||||||
TokenStorage $tokenStorage
|
TokenStorage $tokenStorage
|
||||||
@ -88,26 +89,26 @@ class PersonListWidget implements WidgetInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param type $place
|
* @param type $place
|
||||||
* @param array $context
|
* @param array $context
|
||||||
* @param array $config
|
* @param array $config
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function render(Environment $env, $place, array $context, array $config)
|
public function render(Environment $env, $place, array $context, array $config)
|
||||||
{
|
{
|
||||||
$numberOfItems = $config['number_of_items'] ?? 20;
|
$numberOfItems = $config['number_of_items'] ?? 20;
|
||||||
|
|
||||||
$qb = $this->personRepository
|
$qb = $this->personRepository
|
||||||
->createQueryBuilder('person');
|
->createQueryBuilder('person');
|
||||||
|
|
||||||
// show only the person from the authorized centers
|
// show only the person from the authorized centers
|
||||||
$and = $qb->expr()->andX();
|
$and = $qb->expr()->andX();
|
||||||
$centers = $this->authorizationHelper
|
$centers = $this->authorizationHelper
|
||||||
->getReachableCenters($this->getUser(), new Role(PersonVoter::SEE));
|
->getReachableCenters($this->getUser(), new Role(PersonVoter::SEE));
|
||||||
$and->add($qb->expr()->in('person.center', ':centers'));
|
$and->add($qb->expr()->in('person.center', ':centers'));
|
||||||
$qb->setParameter('centers', $centers);
|
$qb->setParameter('centers', $centers);
|
||||||
|
|
||||||
|
|
||||||
// add the "only active" query
|
// add the "only active" query
|
||||||
if (\array_key_exists('only_active', $config) && $config['only_active'] === true) {
|
if (\array_key_exists('only_active', $config) && $config['only_active'] === true) {
|
||||||
@ -126,34 +127,34 @@ class PersonListWidget implements WidgetInterface
|
|||||||
$qb->setParameter('now', new \DateTime(), Type::DATE);
|
$qb->setParameter('now', new \DateTime(), Type::DATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (\array_key_exists('filtering_class', $config) && $config['filtering_class'] !== NULL) {
|
if (\array_key_exists('filtering_class', $config) && $config['filtering_class'] !== NULL) {
|
||||||
$filteringClass = new $config['filtering_class'];
|
$filteringClass = new $config['filtering_class'];
|
||||||
if ( ! $filteringClass instanceof PersonListWidget\PersonFilteringInterface) {
|
if ( ! $filteringClass instanceof PersonListWidget\PersonFilteringInterface) {
|
||||||
throw new \UnexpectedValueException(sprintf("the class %s does not "
|
throw new \UnexpectedValueException(sprintf("the class %s does not "
|
||||||
. "implements %s", $config['filtering_class'],
|
. "implements %s", $config['filtering_class'],
|
||||||
PersonListWidget\PersonFilteringInterface::class));
|
PersonListWidget\PersonFilteringInterface::class));
|
||||||
}
|
}
|
||||||
$ids = $filteringClass->getPersonIds($this->entityManager,
|
$ids = $filteringClass->getPersonIds($this->entityManager,
|
||||||
$this->getUser());
|
$this->getUser());
|
||||||
$in = (new Expr())->in('person.id', ':ids');
|
$in = (new Expr())->in('person.id', ':ids');
|
||||||
$and->add($in);
|
$and->add($in);
|
||||||
$qb->setParameter('ids', $ids);
|
$qb->setParameter('ids', $ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
// adding the where clause to the query
|
// adding the where clause to the query
|
||||||
$qb->where($and);
|
$qb->where($and);
|
||||||
|
|
||||||
// ordering the query by lastname, firstname
|
// ordering the query by lastname, firstname
|
||||||
$qb->addOrderBy('person.lastName', 'ASC')
|
$qb->addOrderBy('person.lastName', 'ASC')
|
||||||
->addOrderBy('person.firstName', 'ASC');
|
->addOrderBy('person.firstName', 'ASC');
|
||||||
|
|
||||||
|
|
||||||
$qb->setFirstResult(0)->setMaxResults($numberOfItems);
|
$qb->setFirstResult(0)->setMaxResults($numberOfItems);
|
||||||
|
|
||||||
$persons = $qb->getQuery()->getResult();
|
$persons = $qb->getQuery()->getResult();
|
||||||
|
|
||||||
// get some custom field when the view is overriden and we want to
|
// get some custom field when the view is overriden and we want to
|
||||||
// show some custom field in the overriden view.
|
// show some custom field in the overriden view.
|
||||||
$cfields = array();
|
$cfields = array();
|
||||||
if (isset($config['custom_fields'])) {
|
if (isset($config['custom_fields'])) {
|
||||||
@ -166,39 +167,39 @@ class PersonListWidget implements WidgetInterface
|
|||||||
$cfields[$cf->getSlug()] = $cf;
|
$cfields[$cf->getSlug()] = $cf;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $env->render(
|
return $env->render(
|
||||||
'ChillPersonBundle:Widget:homepage_person_list.html.twig',
|
'ChillPersonBundle:Widget:homepage_person_list.html.twig',
|
||||||
array(
|
array(
|
||||||
'persons' => $persons,
|
'persons' => $persons,
|
||||||
'customFields' => $cfields
|
'customFields' => $cfields
|
||||||
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @return UserInterface
|
* @return UserInterface
|
||||||
* @throws \RuntimeException
|
* @throws \RuntimeException
|
||||||
*/
|
*/
|
||||||
private function getUser()
|
private function getUser()
|
||||||
{
|
{
|
||||||
$token = $this->tokenStorage->getToken();
|
$token = $this->tokenStorage->getToken();
|
||||||
|
|
||||||
if ($token === null) {
|
if ($token === null) {
|
||||||
throw new \RuntimeException("the token should not be null");
|
throw new \RuntimeException("the token should not be null");
|
||||||
}
|
}
|
||||||
|
|
||||||
$user = $token->getUser();
|
$user = $token->getUser();
|
||||||
|
|
||||||
if (!$user instanceof UserInterface || $user == null) {
|
if (!$user instanceof UserInterface || $user == null) {
|
||||||
throw new \RuntimeException("the user should implement UserInterface. "
|
throw new \RuntimeException("the user should implement UserInterface. "
|
||||||
. "Are you logged in ?");
|
. "Are you logged in ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
return $user;
|
return $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user