|
|
|
@@ -2,7 +2,6 @@
|
|
|
|
|
|
|
|
|
|
namespace Chill\TaskBundle\Controller;
|
|
|
|
|
|
|
|
|
|
use Chill\MainBundle\Entity\Scope;
|
|
|
|
|
use Chill\PersonBundle\Privacy\PrivacyEvent;
|
|
|
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
|
|
|
@@ -20,19 +19,17 @@ use Symfony\Component\Security\Core\Role\Role;
|
|
|
|
|
use Chill\MainBundle\Pagination\PaginatorFactory;
|
|
|
|
|
use Chill\TaskBundle\Repository\SingleTaskRepository;
|
|
|
|
|
use Chill\MainBundle\Entity\User;
|
|
|
|
|
use Chill\MainBundle\Repository\CenterRepository;
|
|
|
|
|
use Chill\MainBundle\Repository\ScopeRepository;
|
|
|
|
|
use Chill\MainBundle\Repository\UserRepository;
|
|
|
|
|
use Chill\PersonBundle\Security\Authorization\PersonVoter;
|
|
|
|
|
use Chill\PersonBundle\Repository\PersonRepository;
|
|
|
|
|
use Chill\TaskBundle\Event\TaskEvent;
|
|
|
|
|
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
|
|
|
|
use Symfony\Component\Translation\TranslatorInterface;
|
|
|
|
|
use Chill\TaskBundle\Event\UI\UIEvent;
|
|
|
|
|
use Chill\MainBundle\Repository\CenterRepository;
|
|
|
|
|
use Chill\MainBundle\Timeline\TimelineBuilder;
|
|
|
|
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
|
|
|
|
use Chill\PersonBundle\Repository\AccompanyingPeriodRepository;
|
|
|
|
|
use Chill\PersonBundle\Repository\PersonRepository;
|
|
|
|
|
use Chill\PersonBundle\Security\Authorization\AccompanyingPeriodVoter;
|
|
|
|
|
use Doctrine\ORM\EntityManagerInterface;
|
|
|
|
|
use Symfony\Component\HttpFoundation\RequestStack;
|
|
|
|
|
use Symfony\Contracts\Translation\TranslatorInterface as TranslationTranslatorInterface;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@@ -42,27 +39,23 @@ use Symfony\Contracts\Translation\TranslatorInterface as TranslationTranslatorIn
|
|
|
|
|
*/
|
|
|
|
|
class SingleTaskController extends AbstractController
|
|
|
|
|
{
|
|
|
|
|
protected EventDispatcherInterface $eventDispatcher;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @var EventDispatcherInterface
|
|
|
|
|
*/
|
|
|
|
|
protected $eventDispatcher;
|
|
|
|
|
protected TimeLineBuilder $timelineBuilder;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @var TimelineBuilder
|
|
|
|
|
*/
|
|
|
|
|
protected $timelineBuilder;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @var LoggerInterface
|
|
|
|
|
*/
|
|
|
|
|
protected $logger;
|
|
|
|
|
protected LoggerInterface $logger;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @var RequestStack
|
|
|
|
|
*/
|
|
|
|
|
protected $request;
|
|
|
|
|
protected PersonRepository $personRepository;
|
|
|
|
|
|
|
|
|
|
protected AccompanyingPeriodRepository $courseRepository;
|
|
|
|
|
|
|
|
|
|
protected UserRepository $userRepository;
|
|
|
|
|
|
|
|
|
|
protected CenterRepository $centerRepository;
|
|
|
|
|
|
|
|
|
|
protected ScopeRepository $scopeRepository;
|
|
|
|
|
|
|
|
|
|
protected SingleTaskRepository $taskRepository;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* SingleTaskController constructor.
|
|
|
|
@@ -73,20 +66,30 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
EventDispatcherInterface $eventDispatcher,
|
|
|
|
|
TimelineBuilder $timelineBuilder,
|
|
|
|
|
LoggerInterface $logger,
|
|
|
|
|
RequestStack $requestStack
|
|
|
|
|
SingleTaskRepository $singleTaskRepository,
|
|
|
|
|
PersonRepository $personRepository,
|
|
|
|
|
AccompanyingPeriodRepository $courseRepository,
|
|
|
|
|
UserRepository $userRepository,
|
|
|
|
|
CenterRepository $centerRepository,
|
|
|
|
|
ScopeRepository $scopeRepository
|
|
|
|
|
) {
|
|
|
|
|
$this->eventDispatcher = $eventDispatcher;
|
|
|
|
|
$this->timelineBuilder = $timelineBuilder;
|
|
|
|
|
$this->logger = $logger;
|
|
|
|
|
$this->request = $requestStack->getCurrentRequest();
|
|
|
|
|
$this->taskRepository = $singleTaskRepository;
|
|
|
|
|
$this->scopeRepository = $scopeRepository;
|
|
|
|
|
$this->centerRepository = $centerRepository;
|
|
|
|
|
$this->userRepository = $userRepository;
|
|
|
|
|
$this->personRepository = $personRepository;
|
|
|
|
|
$this->courseRepository = $courseRepository;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private function getEntityContext()
|
|
|
|
|
private function getEntityContext(Request $request)
|
|
|
|
|
{
|
|
|
|
|
if($this->request->query->has('person_id')){
|
|
|
|
|
if($request->query->has('person_id')){
|
|
|
|
|
return 'person';
|
|
|
|
|
} else if ($this->request->query->has('course_id')) {
|
|
|
|
|
} else if ($request->query->has('course_id')) {
|
|
|
|
|
return 'course';
|
|
|
|
|
} else {
|
|
|
|
|
return null;
|
|
|
|
@@ -101,7 +104,8 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
* )
|
|
|
|
|
*/
|
|
|
|
|
public function newAction(
|
|
|
|
|
TranslationTranslatorInterface $translator
|
|
|
|
|
TranslationTranslatorInterface $translator,
|
|
|
|
|
Request $request
|
|
|
|
|
) {
|
|
|
|
|
|
|
|
|
|
$task = (new SingleTask())
|
|
|
|
@@ -109,46 +113,41 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
->setType('task_default')
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
$entityType = $this->getEntityContext();
|
|
|
|
|
$entityType = $this->getEntityContext($request);
|
|
|
|
|
|
|
|
|
|
if ($entityType !== null) {
|
|
|
|
|
|
|
|
|
|
$entityId = $this->request->query->getInt("{$entityType}_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`
|
|
|
|
|
|
|
|
|
|
if ($entityId === null) {
|
|
|
|
|
return new Response("You must provide a {$entityType}_id", Response::HTTP_BAD_REQUEST);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($entityType === 'person')
|
|
|
|
|
{
|
|
|
|
|
$person = $this->getDoctrine()->getManager()
|
|
|
|
|
->getRepository(Person::class)
|
|
|
|
|
switch($entityType){
|
|
|
|
|
case 'person':
|
|
|
|
|
$person = $this->personRepository
|
|
|
|
|
->find($entityId);
|
|
|
|
|
|
|
|
|
|
if ($person === null) {
|
|
|
|
|
$this->createNotFoundException("Invalid person id");
|
|
|
|
|
}
|
|
|
|
|
if ($person === null) {
|
|
|
|
|
$this->createNotFoundException("Invalid person id");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$task->setPerson($person);
|
|
|
|
|
$task->setPerson($person);
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
case 'course':
|
|
|
|
|
$course = $this->courseRepository
|
|
|
|
|
->find($entityId);
|
|
|
|
|
|
|
|
|
|
if($course === null) {
|
|
|
|
|
$this->createNotFoundException("Invalid accompanying course id");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$task->setCourse($course);
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
new Response("You must provide a {$entityType}_id", Response::HTTP_BAD_REQUEST);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($entityType === 'course')
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
$course = $this->getDoctrine()->getManager()
|
|
|
|
|
->getRepository(AccompanyingPeriod::class)
|
|
|
|
|
->find($entityId);
|
|
|
|
|
|
|
|
|
|
if($course === null) {
|
|
|
|
|
$this->createNotFoundException("Invalid accompanying course id");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$task->setCourse($course);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//TODO : resolve access rights
|
|
|
|
@@ -157,8 +156,7 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
// . 'allowed to create this task');
|
|
|
|
|
|
|
|
|
|
$form = $this->setCreateForm($task, new Role(TaskVoter::CREATE));
|
|
|
|
|
|
|
|
|
|
$form->handleRequest($this->request);
|
|
|
|
|
$form->handleRequest($request);
|
|
|
|
|
|
|
|
|
|
if ($form->isSubmitted()) {
|
|
|
|
|
if ($form->isValid()) {
|
|
|
|
@@ -171,18 +169,17 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
|
|
|
|
|
$this->addFlash('success', $translator->trans("The task is created"));
|
|
|
|
|
|
|
|
|
|
if($entityType === 'person')
|
|
|
|
|
{
|
|
|
|
|
return $this->redirectToRoute('chill_task_singletask_list', [
|
|
|
|
|
switch($entityType){
|
|
|
|
|
case 'person':
|
|
|
|
|
return $this->redirectToRoute('chill_task_singletask_list', [
|
|
|
|
|
'person_id' => $task->getPerson()->getId()
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($entityType === 'course')
|
|
|
|
|
{
|
|
|
|
|
return $this->redirectToRoute('chill_task_singletask_courselist', [
|
|
|
|
|
]);
|
|
|
|
|
break;
|
|
|
|
|
case 'course':
|
|
|
|
|
return $this->redirectToRoute('chill_task_singletask_courselist', [
|
|
|
|
|
'course_id' => $task->getCourse()->getId()
|
|
|
|
|
]);
|
|
|
|
|
]);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
@@ -190,7 +187,7 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch($this->getEntityContext()){
|
|
|
|
|
switch($this->getEntityContext($request)){
|
|
|
|
|
case 'person':
|
|
|
|
|
return $this->render('@ChillTask/SingleTask/Person/new.html.twig', array(
|
|
|
|
|
'form' => $form->createView(),
|
|
|
|
@@ -218,8 +215,8 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
public function showAction($id)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
$em = $this->getDoctrine()->getManager();
|
|
|
|
|
$task = $em->getRepository(SingleTask::class)->find($id);
|
|
|
|
|
// $em = $this->getDoctrine()->getManager();
|
|
|
|
|
$task = $this->taskRepository->find($id);
|
|
|
|
|
|
|
|
|
|
if (!$task) {
|
|
|
|
|
throw $this->createNotFoundException('Unable to find Task entity.');
|
|
|
|
@@ -227,15 +224,7 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
|
|
|
|
|
if ($task->getPerson() !== null) {
|
|
|
|
|
|
|
|
|
|
$personId = $task->getPerson()->getId();
|
|
|
|
|
|
|
|
|
|
if ($personId === null) {
|
|
|
|
|
return new Response("You must provide a person_id", Response::HTTP_BAD_REQUEST);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$person = $this->getDoctrine()->getManager()
|
|
|
|
|
->getRepository(Person::class)
|
|
|
|
|
->find($personId);
|
|
|
|
|
$person = $task->getPerson();
|
|
|
|
|
|
|
|
|
|
if ($person === null) {
|
|
|
|
|
throw $this->createNotFoundException("Invalid person id");
|
|
|
|
@@ -250,22 +239,9 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($task->getCourse() !== null)
|
|
|
|
|
if ($task->getCourse() === null)
|
|
|
|
|
{
|
|
|
|
|
$courseId = $task->getCourse()->getId();
|
|
|
|
|
|
|
|
|
|
if ($courseId === null) {
|
|
|
|
|
return new Response("You must provide a course_id", Response::HTTP_BAD_REQUEST);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$course = $this->getDoctrine()->getManager()
|
|
|
|
|
->getRepository(AccompanyingPeriod::class)
|
|
|
|
|
->find($courseId);
|
|
|
|
|
|
|
|
|
|
if ($course === null)
|
|
|
|
|
{
|
|
|
|
|
throw $this->createNotFoundException("Invalid course id");
|
|
|
|
|
}
|
|
|
|
|
return new Response("You must provide a course_id", Response::HTTP_BAD_REQUEST);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -299,34 +275,23 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
*/
|
|
|
|
|
public function editAction(
|
|
|
|
|
$id,
|
|
|
|
|
TranslationTranslatorInterface $translator
|
|
|
|
|
TranslationTranslatorInterface $translator,
|
|
|
|
|
Request $request
|
|
|
|
|
) {
|
|
|
|
|
|
|
|
|
|
$em = $this->getDoctrine()->getManager();
|
|
|
|
|
$task = $em->getRepository(SingleTask::class)->find($id);
|
|
|
|
|
|
|
|
|
|
if ($task->getContext() instanceof Person) {
|
|
|
|
|
$personId = $task->getPerson()->getId();
|
|
|
|
|
if ($personId === null) {
|
|
|
|
|
|
|
|
|
|
$person = $task->getPerson();
|
|
|
|
|
if ($person === null) {
|
|
|
|
|
return new Response("You must provide a person_id", Response::HTTP_BAD_REQUEST);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$person = $this->getDoctrine()->getManager()
|
|
|
|
|
->getRepository(Person::class)
|
|
|
|
|
->find($personId);
|
|
|
|
|
|
|
|
|
|
if ($person === null) {
|
|
|
|
|
throw $this->createNotFoundException("Invalid person id");
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
$courseId = $task->getCourse()->getId();
|
|
|
|
|
if ($courseId === null) {
|
|
|
|
|
return new Response("You must provide a course_id", Response::HTTP_BAD_REQUEST);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$course = $this->getDoctrine()->getManager()
|
|
|
|
|
->getRepository(AccompanyingPeriod::class)
|
|
|
|
|
->find($courseId);
|
|
|
|
|
$course = $task->getCourse();
|
|
|
|
|
|
|
|
|
|
if ($course === null) {
|
|
|
|
|
throw $this->createNotFoundException("Invalid accompanying period id");
|
|
|
|
@@ -348,7 +313,7 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
|
|
|
|
|
$form = $event->getForm();
|
|
|
|
|
|
|
|
|
|
$form->handleRequest($this->request);
|
|
|
|
|
$form->handleRequest($request);
|
|
|
|
|
|
|
|
|
|
if ($form->isSubmitted()) {
|
|
|
|
|
if ($form->isValid()) {
|
|
|
|
@@ -370,12 +335,12 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
|
|
|
|
|
return $this->redirectToRoute(
|
|
|
|
|
'chill_task_singletask_list',
|
|
|
|
|
$this->request->query->get('list_params', [])
|
|
|
|
|
$request->query->get('list_params', [])
|
|
|
|
|
);
|
|
|
|
|
} else {
|
|
|
|
|
return $this->redirectToRoute(
|
|
|
|
|
'chill_task_singletask_courselist',
|
|
|
|
|
$this->request->query->get('list_params', [])
|
|
|
|
|
$request->query->get('list_params', [])
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
@@ -423,9 +388,7 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
$id,
|
|
|
|
|
TranslationTranslatorInterface $translator
|
|
|
|
|
) {
|
|
|
|
|
|
|
|
|
|
$em = $this->getDoctrine()->getManager();
|
|
|
|
|
$task = $em->getRepository(SingleTask::class)->find($id);
|
|
|
|
|
$task = $this->taskRepository->find($id);
|
|
|
|
|
|
|
|
|
|
if (!$task) {
|
|
|
|
|
throw $this->createNotFoundException('Unable to find Task entity.');
|
|
|
|
@@ -437,8 +400,7 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
return new Response("You must provide a person_id", Response::HTTP_BAD_REQUEST);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$person = $this->getDoctrine()->getManager()
|
|
|
|
|
->getRepository(Person::class)
|
|
|
|
|
$person = $this->personRepository
|
|
|
|
|
->find($personId);
|
|
|
|
|
|
|
|
|
|
if ($person === null) {
|
|
|
|
@@ -451,8 +413,7 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
return new Response("You must provide a course_id", Response::HTTP_BAD_REQUEST);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$course = $this->getDoctrine()->getManager()
|
|
|
|
|
->getRepository(AccompanyingPeriod::class)
|
|
|
|
|
$course = $this->courseRepository
|
|
|
|
|
->find($courseId);
|
|
|
|
|
|
|
|
|
|
if($course === null){
|
|
|
|
@@ -571,11 +532,9 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
*/
|
|
|
|
|
public function listAction(
|
|
|
|
|
PaginatorFactory $paginatorFactory,
|
|
|
|
|
SingleTaskRepository $taskRepository,
|
|
|
|
|
PersonRepository $personRepository,
|
|
|
|
|
AccompanyingPeriodRepository $courseRepository,
|
|
|
|
|
CenterRepository $centerRepository,
|
|
|
|
|
FormFactoryInterface $formFactory
|
|
|
|
|
// SingleTaskRepository $taskRepository,
|
|
|
|
|
FormFactoryInterface $formFactory,
|
|
|
|
|
Request $request
|
|
|
|
|
) {
|
|
|
|
|
/* @var $viewParams array The parameters for the view */
|
|
|
|
|
/* @var $params array The parameters for the query */
|
|
|
|
@@ -589,10 +548,10 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
$viewParams['accompanyingCourse'] = null;
|
|
|
|
|
$params['accompanyingCourse'] = null;
|
|
|
|
|
|
|
|
|
|
if (!empty($this->request->query->get('person_id', NULL))) {
|
|
|
|
|
if (!empty($request->query->get('person_id', NULL))) {
|
|
|
|
|
|
|
|
|
|
$personId = $this->request->query->getInt('person_id', 0);
|
|
|
|
|
$person = $personRepository->find($personId);
|
|
|
|
|
$personId = $request->query->getInt('person_id', 0);
|
|
|
|
|
$person = $this->personRepository->find($personId);
|
|
|
|
|
|
|
|
|
|
if ($person === null) {
|
|
|
|
|
throw $this->createNotFoundException("This person ' $personId ' does not exist.");
|
|
|
|
@@ -603,10 +562,10 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
$params['person'] = $person;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!empty($this->request->query->get('course_id', NULL))) {
|
|
|
|
|
if (!empty($request->query->get('course_id', NULL))) {
|
|
|
|
|
|
|
|
|
|
$courseId = $this->request->query->getInt('course_id', 0);
|
|
|
|
|
$course = $courseRepository->find($courseId);
|
|
|
|
|
$courseId = $request->query->getInt('course_id', 0);
|
|
|
|
|
$course = $this->courseRepository->find($courseId);
|
|
|
|
|
|
|
|
|
|
if ($course === null) {
|
|
|
|
|
throw $this->createNotFoundException("This accompanying course ' $courseId ' does not exist.");
|
|
|
|
@@ -617,27 +576,27 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
$params['accompanyingCourse'] = $course;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!empty($this->request->query->get('center_id', NULL))) {
|
|
|
|
|
$center = $centerRepository->find($this->request->query->getInt('center_id'));
|
|
|
|
|
if (!empty($request->query->get('center_id', NULL))) {
|
|
|
|
|
$center = $this->centerRepository->find($this->request->query->getInt('center_id'));
|
|
|
|
|
if ($center === null) {
|
|
|
|
|
throw $this->createNotFoundException('center not found');
|
|
|
|
|
}
|
|
|
|
|
$params['center'] = $center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!empty($this->request->query->get('types', []))) {
|
|
|
|
|
if(!empty($request->query->get('types', []))) {
|
|
|
|
|
$types = $this->request->query->get('types', []);
|
|
|
|
|
if (count($types) > 0) {
|
|
|
|
|
$params['types'] = $types;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!empty($this->request->query->get('user_id', null))) {
|
|
|
|
|
if ($this->request->query->get('user_id') === '_unassigned') {
|
|
|
|
|
if (!empty($request->query->get('user_id', null))) {
|
|
|
|
|
if ($request->query->get('user_id') === '_unassigned') {
|
|
|
|
|
$params['unassigned'] = true;
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
$userId = $this->request->query->getInt('user_id', 0);
|
|
|
|
|
$userId = $request->query->getInt('user_id', 0);
|
|
|
|
|
$user = $this->getDoctrine()->getManager()
|
|
|
|
|
->getRepository(User::class)
|
|
|
|
|
->find($userId);
|
|
|
|
@@ -651,12 +610,11 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!empty($this->request->query->get('scope_id'))) {
|
|
|
|
|
if (!empty($request->query->get('scope_id'))) {
|
|
|
|
|
|
|
|
|
|
$scopeId = $this->request->query->getInt('scope_id', 0);
|
|
|
|
|
$scopeId = $request->query->getInt('scope_id', 0);
|
|
|
|
|
|
|
|
|
|
$scope = $this->getDoctrine()->getManager()
|
|
|
|
|
->getRepository(Scope::class)
|
|
|
|
|
$scope = $this->scopeRepository
|
|
|
|
|
->find($scopeId);
|
|
|
|
|
|
|
|
|
|
if ($scope === null) {
|
|
|
|
@@ -668,7 +626,7 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$possibleStatuses = \array_merge(SingleTaskRepository::DATE_STATUSES, [ 'closed' ]);
|
|
|
|
|
$statuses = $this->request->query->get('status', $possibleStatuses);
|
|
|
|
|
$statuses = $request->query->get('status', $possibleStatuses);
|
|
|
|
|
|
|
|
|
|
$diff = \array_diff($statuses, $possibleStatuses);
|
|
|
|
|
if (count($diff) > 0) {
|
|
|
|
@@ -683,7 +641,7 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
$tasks_count = 0;
|
|
|
|
|
|
|
|
|
|
foreach($statuses as $status) {
|
|
|
|
|
if($this->request->query->has('status')
|
|
|
|
|
if($request->query->has('status')
|
|
|
|
|
&& FALSE === \in_array($status, $statuses)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
@@ -696,14 +654,14 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
$params['is_closed'] = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$count = $taskRepository
|
|
|
|
|
$count = $this->taskRepository
|
|
|
|
|
->countByParameters($params, $this->getUser())
|
|
|
|
|
;
|
|
|
|
|
$paginator = $paginatorFactory->create($count);
|
|
|
|
|
|
|
|
|
|
$viewParams['single_task_'.$status.'_count'] = $count;
|
|
|
|
|
$viewParams['single_task_'.$status.'_paginator'] = $paginator;
|
|
|
|
|
$viewParams['single_task_'.$status.'_tasks'] = $taskRepository
|
|
|
|
|
$viewParams['single_task_'.$status.'_tasks'] = $this->taskRepository
|
|
|
|
|
->findByParameters($params, $this->getUser(),
|
|
|
|
|
$singleStatus ? $paginator->getCurrentPage()->getFirstItemNumber() : 0,
|
|
|
|
|
$singleStatus ? $paginator->getItemsPerPage() : 10)
|
|
|
|
@@ -729,7 +687,7 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
'add_type' => true
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$form->handleRequest($this->request);
|
|
|
|
|
$form->handleRequest($request);
|
|
|
|
|
|
|
|
|
|
if (isset($person)) {
|
|
|
|
|
$event = new PrivacyEvent($person, array(
|
|
|
|
@@ -744,10 +702,10 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected function getPersonParam(EntityManagerInterface $em)
|
|
|
|
|
protected function getPersonParam(Request $request)
|
|
|
|
|
{
|
|
|
|
|
$person = $em->getRepository(Person::class)
|
|
|
|
|
->find($this->request->query->getInt('person_id'))
|
|
|
|
|
$person = $this->personRepository
|
|
|
|
|
->find($request->query->getInt('person_id'))
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
if (NULL === $person) {
|
|
|
|
@@ -760,10 +718,10 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
return $person;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected function getUserParam(EntityManagerInterface $em)
|
|
|
|
|
protected function getUserParam(Request $request)
|
|
|
|
|
{
|
|
|
|
|
$user = $em->getRepository(User::class)
|
|
|
|
|
->find($this->request->query->getInt('user_id'))
|
|
|
|
|
$user = $this->userRepository
|
|
|
|
|
->find($request->query->getInt('user_id'))
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
if (NULL === $user) {
|
|
|
|
@@ -799,17 +757,16 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
public function listCourseTasks(
|
|
|
|
|
AccompanyingPeriodRepository $courseRepository,
|
|
|
|
|
SingleTaskRepository $taskRepository,
|
|
|
|
|
FormFactoryInterface $formFactory,
|
|
|
|
|
TranslationTranslatorInterface $translator
|
|
|
|
|
TranslationTranslatorInterface $translator,
|
|
|
|
|
Request $request
|
|
|
|
|
): Response
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (!empty($this->request->query->get('course_id', NULL))) {
|
|
|
|
|
if (!empty($request->query->get('course_id', NULL))) {
|
|
|
|
|
|
|
|
|
|
$courseId = $this->request->query->getInt('course_id', 0);
|
|
|
|
|
$course = $courseRepository->find($courseId);
|
|
|
|
|
$courseId = $request->query->getInt('course_id', 0);
|
|
|
|
|
$course = $this->courseRepository->find($courseId);
|
|
|
|
|
|
|
|
|
|
if ($course === null) {
|
|
|
|
|
throw $this->createNotFoundException("This accompanying course ' $courseId ' does not exist.");
|
|
|
|
@@ -817,13 +774,11 @@ class SingleTaskController extends AbstractController
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$em = $this->getDoctrine()->getManager();
|
|
|
|
|
|
|
|
|
|
if($course === NULL) {
|
|
|
|
|
throw $this->createNotFoundException('Accompanying course not found');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$tasks = $taskRepository
|
|
|
|
|
$tasks = $this->taskRepository
|
|
|
|
|
->findBy(
|
|
|
|
|
array('course' => $course)
|
|
|
|
|
);
|
|
|
|
|