rdv: fix regression with multiple groups for property on calendar

This commit is contained in:
nobohan 2021-08-19 16:00:37 +02:00
parent 65bce1aacb
commit 6a609eb1ab
2 changed files with 17 additions and 4 deletions

View File

@ -9,13 +9,25 @@ use Symfony\Component\HttpFoundation\Request;
class CalendarAPIController extends ApiController class CalendarAPIController extends ApiController
{ {
protected function getContextForSerialization(string $action, Request $request, string $_format, $entity): array
{
switch($action) {
case '_index':
switch ($request->getMethod()) {
case Request::METHOD_GET:
return [ 'groups' => [ 'calendar:read' ] ];
}
}
return parent::getContextForSerialization($action, $request, $_format, $entity);
}
protected function customizeQuery(string $action, Request $request, $qb): void protected function customizeQuery(string $action, Request $request, $qb): void
{ {
if ($request->query->has('main_user')) { if ($request->query->has('main_user')) {
$qb->where('e.mainUser = :main_user') $qb->where('e.mainUser = :main_user')
->setParameter('main_user', $request->query->get('main_user')); ->setParameter('main_user', $request->query->get('main_user'));
} }
} }

View File

@ -21,6 +21,7 @@ use DateTimeImmutable;
use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\Range; use Symfony\Component\Validator\Constraints\Range;
use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Serializer\Annotation as Serializer;
/** /**
* @ORM\Table(name="chill_calendar.calendar") * @ORM\Table(name="chill_calendar.calendar")
@ -52,7 +53,7 @@ class Calendar
/** /**
* @ORM\ManyToOne(targetEntity="Chill\MainBundle\Entity\User") * @ORM\ManyToOne(targetEntity="Chill\MainBundle\Entity\User")
* @Groups({"read"}) * @Serializer\Groups({"calendar:read"})
*/ */
private ?User $mainUser; private ?User $mainUser;
@ -93,13 +94,13 @@ class Calendar
/** /**
* @ORM\Column(type="datetimetz_immutable") * @ORM\Column(type="datetimetz_immutable")
* @Groups({"read"}) * @Serializer\Groups({"calendar:read"})
*/ */
private \DateTimeImmutable $startDate; private \DateTimeImmutable $startDate;
/** /**
* @ORM\Column(type="datetimetz_immutable") * @ORM\Column(type="datetimetz_immutable")
* @Groups({"read"}) * @Serializer\Groups({"calendar:read"})
*/ */
private \DateTimeImmutable $endDate; private \DateTimeImmutable $endDate;