go back to calendar after editing and creation of time-records (#519)

This commit is contained in:
Kevin Papst
2019-01-23 17:30:45 +01:00
committed by GitHub
parent ee32d6f926
commit 572f01ed74
9 changed files with 38 additions and 27 deletions

View File

@@ -190,11 +190,15 @@ class TimesheetController extends AbstractController
*/
public function editAction(Timesheet $entry, Request $request)
{
$route = 'timesheet';
if (null !== $request->get('page')) {
return $this->edit($entry, $request, 'timesheet_paginated', 'timesheet/edit.html.twig');
$route = 'timesheet_paginated';
} elseif ('calendar' === $request->get('origin')) {
$route = 'calendar';
}
return $this->edit($entry, $request, 'timesheet', 'timesheet/edit.html.twig');
return $this->edit($entry, $request, $route, 'timesheet/edit.html.twig');
}
/**
@@ -206,7 +210,12 @@ class TimesheetController extends AbstractController
*/
public function createAction(Request $request)
{
return $this->create($request, 'timesheet', 'timesheet/edit.html.twig');
$route = 'timesheet';
if ('calendar' === $request->get('origin')) {
$route = 'calendar';
}
return $this->create($request, $route, 'timesheet/edit.html.twig');
}
/**
@@ -234,12 +243,13 @@ class TimesheetController extends AbstractController
/**
* @param Timesheet $entry
* @param string $redirectRoute
* @return \Symfony\Component\Form\FormInterface
*/
protected function getCreateForm(Timesheet $entry)
protected function getCreateForm(Timesheet $entry, string $redirectRoute)
{
return $this->createForm(TimesheetEditForm::class, $entry, [
'action' => $this->generateUrl('timesheet_create'),
'action' => $this->generateUrl('timesheet_create', ['origin' => $redirectRoute]),
'include_rate' => $this->isGranted('edit_rate', $entry),
]);
}
@@ -247,14 +257,16 @@ class TimesheetController extends AbstractController
/**
* @param Timesheet $entry
* @param int $page
* @param string $redirectRoute
* @return \Symfony\Component\Form\FormInterface
*/
protected function getEditForm(Timesheet $entry, $page)
protected function getEditForm(Timesheet $entry, $page, string $redirectRoute)
{
return $this->createForm(TimesheetEditForm::class, $entry, [
'action' => $this->generateUrl('timesheet_edit', [
'id' => $entry->getId(),
'page' => $page
'page' => $page,
'origin' => $redirectRoute,
]),
'include_rate' => $this->isGranted('edit_rate', $entry),
]);