diff --git a/src/Controller/ActivityController.php b/src/Controller/ActivityController.php index f7b4108..9dcf489 100644 --- a/src/Controller/ActivityController.php +++ b/src/Controller/ActivityController.php @@ -32,7 +32,7 @@ $activityRepository = $entityManager->getRepository(ActivityEntity::class); /** @var ActorRepository $actorRepository */ $actorRepository = $entityManager->getRepository(ActorEntity::class); - + // Get actors $actors = $actorRepository->findAll(); @@ -94,11 +94,7 @@ 'actors' => $actors, ]); $activityFilterForm->handleRequest($request); - if($activityFilterForm->isSubmitted() && $activityFilterForm->isValid()) { - $activities = $activityFilterForm->getActivities($activityRepository); - } else { - $activities = $activityRepository->findAll(); - } + $activities = $activityFilterForm->getActivities($activityRepository); return $this->render('activity/activities.html.twig', [ 'activities' => $activities, diff --git a/src/Form/Activity/ActivityFilterForm.php b/src/Form/Activity/ActivityFilterForm.php index 2e421ae..c2f224a 100644 --- a/src/Form/Activity/ActivityFilterForm.php +++ b/src/Form/Activity/ActivityFilterForm.php @@ -27,7 +27,14 @@ public function __construct(FormBuilderInterface $formBuilder, array $data = [], bool $usesToken = true) { $this->actors = $data['actors']; + $formBuilder->setData([ + 'actor' => null, + 'followed' => false, + 'status' => null, + 'active' => false, + 'notClosed' => true, + ]); parent::__construct($formBuilder, $data, $usesToken); } @@ -53,16 +60,19 @@ $criteria->andWhere($criteria->expr() ->eq('actor.followed', true)); } - + // Filter status if (!is_null($data['status'])) { - $criteria->andWhere($criteria->expr()->eq('activity.status', $data['status'])); + $criteria->andWhere($criteria->expr() + ->eq('activity.status', $data['status'])); } - if($data['active']) { - $criteria->andWhere($criteria->expr()->in('activity.status', StatusEnum::ACTIVE_STATUS)); + if ($data['active']) { + $criteria->andWhere($criteria->expr() + ->in('activity.status', StatusEnum::ACTIVE_STATUS)); } - if($data['notClosed']) { - $criteria->andWhere($criteria->expr()->neq('activity.status', StatusEnum::CLOSED)); + if ($data['notClosed']) { + $criteria->andWhere($criteria->expr() + ->neq('activity.status', StatusEnum::CLOSED)); } // Create query