-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathTaskController.php
More file actions
129 lines (98 loc) · 3.64 KB
/
TaskController.php
File metadata and controls
129 lines (98 loc) · 3.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
namespace App\Application\Controller;
use App\Domain\Form\Type\TaskType;
use App\Domain\Model\Projeto;
use App\Domain\Model\Status;
use App\Domain\Model\Task;
use App\Domain\Model\UsuarioAtribuicao;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/task")
*/
class TaskController extends AbstractController
{
/**
* @Route("/usuario/{id}")
*/
public function listTasks()
{
}
/**
* @Route("/atribuir/{task}" , name="atribuir_task")
* @ParamConverter("task", class="App\Domain\Model\Task")
*/
public function atribuir(Task $task)
{
$user = $this->getUser();
$usuarioTask = new UsuarioAtribuicao();
$status = $this->getDoctrine()->getRepository(Status::class)->find(2);
$usuarioTask->setStatus($status);
$usuarioTask->setUsuario($user);
$usuarioTask->setDtAtribuicao(new \DateTime());
$usuarioTask->setTask($task);
$task->setStatus($status);
$this->getDoctrine()->getManager()->persist($status);
$this->getDoctrine()->getManager()->persist($usuarioTask);
$this->getDoctrine()->getManager()->flush();
$this->addFlash('success', 'Task alocada com sucesso!!!');
return $this->redirectToRoute('listar_projetos');
}
/**
* @Route("/cadastrar/{projeto}", name="cadastrar_task", methods={"GET", "POST"})
*/
public function cadastrar(Projeto $projeto, Request $request)
{
$form = $this->createForm(TaskType::class);
$form->handleRequest($request);
if ($form->isSubmitted()) {
$task = $form->getData();
$task->setProjeto($projeto);
$doctrine = $this->getDoctrine()->getManager();
$doctrine->persist($task);
$doctrine->flush();
$this->addFlash('success','Task Cadastrada com sucesso');
return $this->redirect('/projetos/visualizar/'.$projeto->getId());
}
return $this->render('novo-task.html.twig', [
'form' => $form->createView(), 'projeto' => $projeto
]);
}
/**
* @Route("/editar/{task}", name="editar_task", methods={"GET", "POST"})
* @ParamConverter("task", class="App\Domain\Model\Task")
*/
public function editar(Task $task, Request $request)
{
$form = $this->createForm(TaskType::class, $task);
$form->handleRequest($request);
if ($form->isSubmitted()) {
$task = $form->getData();
$doctrine = $this->getDoctrine()->getManager();
$doctrine->persist($task);
$doctrine->flush();
$this->addFlash('success','Task Cadastrada com sucesso');
return $this->redirect('/usuario/tasks');
}
return $this->render('novo-task.html.twig', [
'form' => $form->createView(), 'projeto' => $task->getProjeto()
]);
}
/**
* @Route("/deletar/{atribuicao}", name="deletar_task", methods={"GET", "POST"})
* @ParamConverter("atribuicao", class="App\Domain\Model\UsuarioAtribuicao")
*/
public function deletar(UsuarioAtribuicao $atribuicao)
{
$doctrine = $this->getDoctrine()->getManager();
$task = $atribuicao->getTask();
$doctrine->remove($atribuicao);
$doctrine->remove($task);
$doctrine->flush();
$this->addFlash('success','Task Deletada com sucesso');
return $this->redirect('/usuario/tasks');
}
}