Release 2.45 (#5721)
Co-authored-by: Henning Klein <info@henningklein.de>
This commit is contained in:
@@ -86,7 +86,7 @@ final class ActivityController extends BaseApiController
|
||||
}
|
||||
|
||||
$visible = $paramFetcher->get('visible');
|
||||
if (\is_string($visible) && $visible !== '') {
|
||||
if (is_numeric($visible)) {
|
||||
$query->setVisibility((int) $visible);
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
use Symfony\Component\Form\FormTypeInterface;
|
||||
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
||||
|
||||
abstract class BaseApiController extends AbstractController
|
||||
{
|
||||
@@ -85,8 +84,11 @@ abstract class BaseApiController extends AbstractController
|
||||
$size = $all['size'];
|
||||
if (is_numeric($size)) {
|
||||
$size = (int) $size;
|
||||
if ($size < 1 || $size > self::MAX_PAGE_SIZE) {
|
||||
throw new BadRequestHttpException('Size must be between 1 and ' . self::MAX_PAGE_SIZE);
|
||||
if ($size < 1) {
|
||||
$size = BaseQuery::DEFAULT_PAGESIZE;
|
||||
}
|
||||
if ($size > self::MAX_PAGE_SIZE) {
|
||||
$size = self::MAX_PAGE_SIZE;
|
||||
}
|
||||
$query->setPageSize($size);
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ final class CustomerController extends BaseApiController
|
||||
}
|
||||
|
||||
$visible = $paramFetcher->get('visible');
|
||||
if (\is_string($visible) && $visible !== '') {
|
||||
if (is_numeric($visible)) {
|
||||
$query->setVisibility((int) $visible);
|
||||
}
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ final class ProjectController extends BaseApiController
|
||||
}
|
||||
|
||||
$visible = $paramFetcher->get('visible');
|
||||
if (\is_string($visible) && $visible !== '') {
|
||||
if (is_numeric($visible)) {
|
||||
$query->setVisibility((int) $visible);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ use App\Repository\CustomerRepository;
|
||||
use App\Repository\ProjectRepository;
|
||||
use App\Repository\Query\TeamQuery;
|
||||
use App\Repository\TeamRepository;
|
||||
use App\User\TeamService;
|
||||
use FOS\RestBundle\View\View;
|
||||
use FOS\RestBundle\View\ViewHandlerInterface;
|
||||
use OpenApi\Attributes as OA;
|
||||
@@ -41,7 +42,8 @@ final class TeamController extends BaseApiController
|
||||
|
||||
public function __construct(
|
||||
private readonly ViewHandlerInterface $viewHandler,
|
||||
private readonly TeamRepository $repository
|
||||
private readonly TeamRepository $repository,
|
||||
private readonly TeamService $teamService
|
||||
)
|
||||
{
|
||||
}
|
||||
@@ -88,7 +90,7 @@ final class TeamController extends BaseApiController
|
||||
#[Route(methods: ['DELETE'], path: '/{id}', name: 'delete_team', requirements: ['id' => '\d+'])]
|
||||
public function deleteAction(Team $team): Response
|
||||
{
|
||||
$this->repository->deleteTeam($team);
|
||||
$this->teamService->deleteTeam($team);
|
||||
|
||||
$view = new View(null, Response::HTTP_NO_CONTENT);
|
||||
|
||||
@@ -104,13 +106,13 @@ final class TeamController extends BaseApiController
|
||||
#[Route(methods: ['POST'], path: '', name: 'post_team')]
|
||||
public function postAction(Request $request): Response
|
||||
{
|
||||
$team = new Team('');
|
||||
$team = $this->teamService->createNewTeam('');
|
||||
|
||||
$form = $this->createForm(TeamApiEditForm::class, $team);
|
||||
$form->submit($request->request->all());
|
||||
|
||||
if ($form->isValid()) {
|
||||
$this->repository->saveTeam($team);
|
||||
$this->teamService->saveTeam($team);
|
||||
|
||||
$view = new View($team, 200);
|
||||
$view->getContext()->setGroups(self::GROUPS_ENTITY);
|
||||
@@ -139,6 +141,8 @@ final class TeamController extends BaseApiController
|
||||
$team->removeMember($member);
|
||||
$this->repository->removeTeamMember($member);
|
||||
}
|
||||
// this fails, if we use the teamservice, because the validator
|
||||
// complains about teams without members or teamleads
|
||||
$this->repository->saveTeam($team);
|
||||
}
|
||||
|
||||
@@ -154,7 +158,7 @@ final class TeamController extends BaseApiController
|
||||
return $this->viewHandler->handle($view);
|
||||
}
|
||||
|
||||
$this->repository->saveTeam($team);
|
||||
$this->teamService->saveTeam($team);
|
||||
|
||||
$view = new View($team, Response::HTTP_OK);
|
||||
$view->getContext()->setGroups(self::GROUPS_ENTITY);
|
||||
@@ -178,7 +182,7 @@ final class TeamController extends BaseApiController
|
||||
|
||||
$team->addUser($member);
|
||||
|
||||
$this->repository->saveTeam($team);
|
||||
$this->teamService->saveTeam($team);
|
||||
|
||||
$view = new View($team, Response::HTTP_OK);
|
||||
$view->getContext()->setGroups(self::GROUPS_ENTITY);
|
||||
@@ -206,7 +210,7 @@ final class TeamController extends BaseApiController
|
||||
|
||||
$team->removeUser($member);
|
||||
|
||||
$this->repository->saveTeam($team);
|
||||
$this->teamService->saveTeam($team);
|
||||
|
||||
$view = new View($team, Response::HTTP_OK);
|
||||
$view->getContext()->setGroups(self::GROUPS_ENTITY);
|
||||
|
||||
@@ -66,7 +66,7 @@ final class UserController extends BaseApiController
|
||||
$query->setCurrentUser($this->getUser());
|
||||
|
||||
$visible = $paramFetcher->get('visible');
|
||||
if (\is_string($visible) && $visible !== '') {
|
||||
if (is_numeric($visible)) {
|
||||
$query->setVisibility((int) $visible);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user