export team timesheets (#508)

This commit is contained in:
Kevin Papst
2019-01-19 00:25:00 +01:00
committed by GitHub
parent 1ad440f488
commit a609cbf84a
11 changed files with 199 additions and 14 deletions

View File

@@ -78,6 +78,39 @@ class TimesheetController extends AbstractController
]);
}
/**
* @Route(path="/export", name="admin_timesheet_export", methods={"GET"})
*
* @param Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function exportAction(Request $request)
{
$query = new TimesheetQuery();
$query->setOrder(TimesheetQuery::ORDER_ASC);
$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);
}
}
/* @var $entries Pagerfanta */
$entries = $this->getRepository()->findByQuery($query);
return $this->render('admin/timesheet_export.html.twig', [
'entries' => $entries,
'query' => $query,
]);
}
/**
* @Route(path="/{id}/stop", name="admin_timesheet_stop", methods={"GET"})
* @Security("is_granted('stop', entry)")

View File

@@ -88,6 +88,7 @@ class TimesheetController extends AbstractController
public function exportAction(Request $request)
{
$query = new TimesheetQuery();
$query->setOrder(TimesheetQuery::ORDER_ASC);
$form = $this->getToolbarForm($query);
$form->handleRequest($request);

View File

@@ -23,6 +23,7 @@ class TimesheetVoter extends AbstractVoter
public const STOP = 'stop';
public const EDIT = 'edit';
public const DELETE = 'delete';
public const EXPORT = 'export';
public const VIEW_RATE = 'view_rate';
public const EDIT_RATE = 'edit_rate';
@@ -34,6 +35,7 @@ class TimesheetVoter extends AbstractVoter
self::STOP,
self::EDIT,
self::DELETE,
self::EXPORT,
self::VIEW_RATE,
self::EDIT_RATE,
];
@@ -89,6 +91,7 @@ class TimesheetVoter extends AbstractVoter
case self::STOP:
case self::EDIT:
case self::DELETE:
case self::EXPORT:
$permission .= $attribute;
break;