From b2587c71b81e3bfa75301ec6c1a8ca756b8a8c27 Mon Sep 17 00:00:00 2001 From: Kevin Papst Date: Thu, 7 Feb 2019 23:43:20 +0100 Subject: [PATCH] do not limit timesheet-export page size (#545) --- src/Controller/Admin/TimesheetController.php | 18 ++++++++++++------ src/Controller/TimesheetController.php | 19 +++++++++++++------ 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/Controller/Admin/TimesheetController.php b/src/Controller/Admin/TimesheetController.php index 89018b66..90716cca 100644 --- a/src/Controller/Admin/TimesheetController.php +++ b/src/Controller/Admin/TimesheetController.php @@ -78,20 +78,26 @@ class TimesheetController extends AbstractController public function exportAction(Request $request) { $query = new TimesheetQuery(); + $query->setResultType(TimesheetQuery::RESULT_TYPE_OBJECTS); $form = $this->getToolbarForm($query); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { /** @var TimesheetQuery $query */ $query = $form->getData(); - if (null !== $query->getBegin()) { - $query->getBegin()->setTime(0, 0, 0); - } - if (null !== $query->getEnd()) { - $query->getEnd()->setTime(23, 59, 59); - } } + // by default the current month is exported, but it can be overwritten + if (null === $query->getBegin()) { + $query->setBegin(new \DateTime('first day of this month')); + } + $query->getBegin()->setTime(0, 0, 0); + + if (null === $query->getEnd()) { + $query->setEnd(new \DateTime('last day of this month')); + } + $query->getEnd()->setTime(23, 59, 59); + /* @var $entries Pagerfanta */ $entries = $this->getRepository()->findByQuery($query); diff --git a/src/Controller/TimesheetController.php b/src/Controller/TimesheetController.php index 1d843367..54933086 100644 --- a/src/Controller/TimesheetController.php +++ b/src/Controller/TimesheetController.php @@ -88,20 +88,27 @@ class TimesheetController extends AbstractController public function exportAction(Request $request) { $query = new TimesheetQuery(); + $query->setResultType(TimesheetQuery::RESULT_TYPE_OBJECTS); $form = $this->getToolbarForm($query); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { /** @var TimesheetQuery $query */ $query = $form->getData(); - if (null !== $query->getBegin()) { - $query->getBegin()->setTime(0, 0, 0); - } - if (null !== $query->getEnd()) { - $query->getEnd()->setTime(23, 59, 59); - } } + // by default the current month is exported, but it can be overwritten + if (null === $query->getBegin()) { + $query->setBegin(new \DateTime('first day of this month')); + } + $query->getBegin()->setTime(0, 0, 0); + + if (null === $query->getEnd()) { + $query->setEnd(new \DateTime('last day of this month')); + } + $query->getEnd()->setTime(23, 59, 59); + + // user timesheet always export for the session user $query->setUser($this->getUser()); /* @var $entries Pagerfanta */