diff --git a/config/packages/mapping/ActivityEntity.orm.xml b/config/packages/mapping/ActivityEntity.orm.xml index 7ffc421..a8e0e3d 100644 --- a/config/packages/mapping/ActivityEntity.orm.xml +++ b/config/packages/mapping/ActivityEntity.orm.xml @@ -6,7 +6,7 @@ - + diff --git a/config/packages/mapping/ActorEntity.orm.xml b/config/packages/mapping/ActorEntity.orm.xml index 4361fcb..bf0536c 100644 --- a/config/packages/mapping/ActorEntity.orm.xml +++ b/config/packages/mapping/ActorEntity.orm.xml @@ -5,6 +5,6 @@ - + \ No newline at end of file diff --git a/src/Controller/ActorController.php b/src/Controller/ActorController.php index d799651..8882fe2 100644 --- a/src/Controller/ActorController.php +++ b/src/Controller/ActorController.php @@ -5,10 +5,12 @@ use Symfony\Component\HttpFoundation\Response; use App\Form\Actors\ActorAddForm; use App\Repository\ActorRepository; +use App\Entity\ActivityEntity; use App\Entity\ActorEntity; use App\Form\Actors\ActorDeleteForm; use Symfony\Component\Routing\Generator\UrlGenerator; use App\Form\Actors\ActorEditForm; +use App\Repository\ActivityRepository; class ActorController extends AbstractExtendedController { @@ -100,9 +102,14 @@ $entityManager = $this->getDoctrine()->getManager(); /** @var ActorRepository $actorRepository */ $actorRepository = $entityManager->getRepository(ActorEntity::class); + /** @var ActivityRepository $activityRepository */ + $activityRepository = $entityManager->getRepository(ActivityEntity::class); - // Get actor + // Get information $actor = $actorRepository->find($id); + $activities = $activityRepository->findBy([ + 'actor' => $actor, + ]); // Actor edit form /** @var ActorEditForm $actorEditForm */ @@ -151,6 +158,7 @@ return $this->render('actor/actor.html.twig', [ 'actor' => $actor, + 'activities' => $activities, 'editForm' => $actorEditForm, 'deleteForm' => $actorDeleteForm, ]); diff --git a/src/Entity/ActorEntity.php b/src/Entity/ActorEntity.php index fa2da43..ccb4c32 100644 --- a/src/Entity/ActorEntity.php +++ b/src/Entity/ActorEntity.php @@ -3,6 +3,7 @@ use App\Helper\StringGenerationHelper; use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; /** * Entity for workspaces @@ -25,7 +26,7 @@ /** @var bool If the actor is still active, if set to false, he will not be proposed when setting and actor to a taks or activity */ protected $active = True; - /** @var ArrayCollection List of related activities */ + /** @var Collection List of related activities */ protected $activities = Null; /** @@ -192,9 +193,9 @@ * * * Get the list of activities * - * @return ArrayCollection + * @return Collection */ - public function getActivities(): ArrayCollection + public function getActivities(): Collection { return $this->activities; } @@ -202,10 +203,10 @@ /** * Set list of activities * - * @param ArrayCollection $activities + * @param Collection $activities * @return self */ - public function setActivities(ArrayCollection $activities): self + public function setActivities(Collection $activities): self { $this->activities = $activities; diff --git a/src/Repository/ActorRepository.php b/src/Repository/ActorRepository.php index 5970316..7ad8ee5 100644 --- a/src/Repository/ActorRepository.php +++ b/src/Repository/ActorRepository.php @@ -2,6 +2,7 @@ namespace App\Repository; use Doctrine\ORM\EntityRepository; +use App\Entity\ActorEntity; /** * Repository for workspaces @@ -15,6 +16,9 @@ 'lastName' => 'asc' ]; + /** + * {@inheritdoc} + */ public function findAll($onlyActive = false): array { $critera = []; @@ -23,4 +27,12 @@ } return $this->findBy($critera, ActorRepository::DEFAULT_ORDER); } + + /** + * {@inheritdoc} + */ + public function find($id, $lockMode = null, $lockVersion = null): ?ActorEntity + { + return parent::find($id, $lockMode = null, $lockVersion = null); + } } \ No newline at end of file diff --git a/templates/_includes/html/arrays/activity.html.twig b/templates/_includes/html/arrays/activity.html.twig index 135d468..ca2778e 100644 --- a/templates/_includes/html/arrays/activity.html.twig +++ b/templates/_includes/html/arrays/activity.html.twig @@ -1,12 +1,15 @@ {% import '_includes/macros/status.html.twig' as statusTools %} {% import '_includes/macros/date.html.twig' as dateTools %} +{% set hideActor=hideActor|default(false) %} + {% if not hideActor %} + {% endif %} @@ -19,8 +22,10 @@ + {% if not hideActor %} + {% endif %} -
Nom StatusActeurDébut planifié Fin planifiée Début réél
{{ activity.name }} {{ statusTools.statusName(activity.status) }}{% if activity.actor is not null %} {{ activity.actor.displayName }} {% endif %}{% if activity.startDate is not null %} {{ dateTools.euro(activity.startDate) }} {% endif %} {% if activity.endDate is not null %} {{ dateTools.euro(activity.endDate) }} @@ -29,7 +34,8 @@ {% endif %} {% if activity.realEndDate is not null %} {{ dateTools.euro(activity.realEndDate) }} {% endif %}Editer {% if activityDeleteForm is defined %} {% include '_includes/html/genericForm.html.twig' with {'form': activityDeleteForm, 'data': {activity: activity, variant: 'icon'}} only %} diff --git a/templates/actor/actor.html.twig b/templates/actor/actor.html.twig index 82aae40..63becfc 100644 --- a/templates/actor/actor.html.twig +++ b/templates/actor/actor.html.twig @@ -25,4 +25,14 @@ +
+
+
+

Activités

+
+
+ {% include "_includes/html/arrays/activity.html.twig" with {activities: activities, hideActor: true} only %} +
+
+
{% endblock %} \ No newline at end of file