mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
adaptation of newTask() method in singleTaskController
This commit is contained in:
parent
8318458805
commit
53fc5b8399
@ -86,24 +86,52 @@ class SingleTaskController extends AbstractController
|
|||||||
->setType('task_default')
|
->setType('task_default')
|
||||||
;
|
;
|
||||||
|
|
||||||
if ($request->query->has('person_id')) {
|
if($request->query->has('person_id')){
|
||||||
|
$entityType = 'person';
|
||||||
|
} else if ($request->query->has('course_id')) {
|
||||||
|
$entityType = 'course';
|
||||||
|
} else {
|
||||||
|
$entityType = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($entityType !== null) {
|
||||||
|
|
||||||
$personId = $request->query->getInt('person_id', 0); // sf4 check:
|
$entityId = $request->query->getInt("{$entityType}_id", 0); // sf4 check:
|
||||||
// prevent error: `Argument 2 passed to ::getInt() must be of the type int, null given`
|
// prevent error: `Argument 2 passed to ::getInt() must be of the type int, null given`
|
||||||
|
|
||||||
if ($personId === null) {
|
if ($entityId === null) {
|
||||||
return new Response("You must provide a person_id", Response::HTTP_BAD_REQUEST);
|
return new Response("You must provide a {$entityType}_id", Response::HTTP_BAD_REQUEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
$person = $this->getDoctrine()->getManager()
|
if($entityType === 'person')
|
||||||
->getRepository(Person::class)
|
{
|
||||||
->find($personId);
|
$person = $this->getDoctrine()->getManager()
|
||||||
|
->getRepository(Person::class)
|
||||||
|
->find($entityId);
|
||||||
|
|
||||||
if ($person === null) {
|
if ($person === null) {
|
||||||
$this->createNotFoundException("Invalid person id");
|
$this->createNotFoundException("Invalid person id");
|
||||||
|
}
|
||||||
|
|
||||||
|
$task->setPerson($person);
|
||||||
}
|
}
|
||||||
|
|
||||||
$task->setPerson($person);
|
if($entityType === 'course')
|
||||||
|
{
|
||||||
|
|
||||||
|
$course = $this->getDoctrine()->getManager()
|
||||||
|
->getRepository(AccompanyingPeriod::class)
|
||||||
|
->find($entityId);
|
||||||
|
|
||||||
|
if($course === null) {
|
||||||
|
$this->createNotFoundException("Invalid accompanying course id");
|
||||||
|
}
|
||||||
|
|
||||||
|
$task->setCourse($course);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->denyAccessUnlessGranted(TaskVoter::CREATE, $task, 'You are not '
|
$this->denyAccessUnlessGranted(TaskVoter::CREATE, $task, 'You are not '
|
||||||
@ -124,9 +152,19 @@ class SingleTaskController extends AbstractController
|
|||||||
|
|
||||||
$this->addFlash('success', $translator->trans("The task is created"));
|
$this->addFlash('success', $translator->trans("The task is created"));
|
||||||
|
|
||||||
return $this->redirectToRoute('chill_task_singletask_list', [
|
if($entityType === 'person')
|
||||||
'person_id' => $task->getPerson()->getId()
|
{
|
||||||
]);
|
return $this->redirectToRoute('chill_task_singletask_list', [
|
||||||
|
'person_id' => $task->getPerson()->getId()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($entityType === 'course')
|
||||||
|
{
|
||||||
|
return $this->redirectToRoute('chill_task_singletask_list', [
|
||||||
|
'course_id' => $task->getCourse()->getId()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$this->addFlash('error', $translator->trans("This form contains errors"));
|
$this->addFlash('error', $translator->trans("This form contains errors"));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user