Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions src/Domain/Form/Type/StatusType.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php

namespace App\Domain\Form\Type;

use App\Domain\Model\Status;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\OptionsResolver\OptionsResolver;


class StatusType extends AbstractType
{

/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('descricao', TextType::class, ['label' => 'Descrição'])
->add('salvar', SubmitType::class);
}

/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => Status::class
]);
}
}
2 changes: 1 addition & 1 deletion src/Domain/Form/Type/TaskType.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class TaskType extends AbstractType
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('nome', TextType::class, ['label' => false, 'attr' => ['placeholder' => 'Nome do Projeto ']])
->add('nome', TextType::class, ['label' => false, 'attr' => ['placeholder' => 'Nome da Task ']])
->add('descricao', TextareaType::class)
->add('dtCadastro', DateType::class, [
'label' => 'Data de Cadastro',
Expand Down
60 changes: 60 additions & 0 deletions src/Domain/Form/Type/UsuarioType.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?php

namespace App\Domain\Form\Type;

use App\Domain\Model\Usuario;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\CallbackTransformer;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\OptionsResolver\OptionsResolver;


class UsuarioType extends AbstractType
{

/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('email', TextType::class, ['label' => 'Email'])
->add('nome', TextType::class, ['label' => 'Nome'])
->add('password', PasswordType::class, ['label' => 'Senha'])
->add('roles', ChoiceType::class, ['label' => 'Permissão',
//'multiple' => false,
'choices' => [
'ROLE_ADMIM' => 'ROLE_ADMIM',
'ROLE_COMUN' => 'ROLE_COMUM',
],
])
->add('salvar', SubmitType::class);

$builder->get('roles')
->addModelTransformer(new CallbackTransformer(
function ($rolesArray) {
// transform the array to a string
return is_array($rolesArray)? $rolesArray[0]: null;
},
function ($rolesString) {
// transform the string back to an array
return [$rolesString];
}
));
}

/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => Usuario::class
]);
}
}
2 changes: 2 additions & 0 deletions src/Domain/Model/ProjetoRepositoryInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,6 @@ interface ProjetoRepositoryInterface
public function salvar(Projeto $projeto): void;

public function listar(): array;

public function findByStatus($value);
}
5 changes: 5 additions & 0 deletions src/Domain/Services/ProjetoService.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,9 @@ public function listar(): array
{
return $this->projetoRepository->listar();
}

public function findByStatus($value)
{
return $this->projetoRepository->findByStatus($value);
}
}
53 changes: 53 additions & 0 deletions src/Domain/Services/StatusService.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<?php

namespace App\Domain\Services;

use App\Domain\Model\Status;
use App\Domain\Model\Usuario;
use App\Infrastructure\Repository\StatusRepository;

/**
* Class StatusService
* @package App\Domain\Services
*/
class StatusService
{

/**
* @var StatusRepository
*/
public StatusRepository $statusRepository;

/**
* StatusService constructor.
* @param StatusRepository $statusoRepository
*/
public function __construct(StatusRepository $statusRepository)
{
$this->statusRepository = $statusRepository;
}

/**
* @param Status $status
*/
public function salvar(Status $status)
{
$this->statusRepository->salvar($status);
}

/**
* @return array
*/
public function listar(): array
{
return $this->statusRepository->listar();
}

/**
* @param Status $status
*/
public function remover(Status $status)
{
$this->statusRepository->remover($status);
}
}
55 changes: 55 additions & 0 deletions src/Domain/Services/TaskService.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php

namespace App\Domain\Services;

use App\Domain\Model\Status;
use App\Domain\Model\Usuario;
use App\Infrastructure\Repository\StatusRepository;
use App\Infrastructure\Repository\TaskRepository;
use App\Domain\Model\Task;

/**
* Class TaskService
* @package App\Domain\Services
*/
class TaskService
{

/**
* @var TaskRepository
*/
public TaskRepository $taskRepository;

/**
* TaskService constructor.
* @param TaskRepository $taskRepository
*/
public function __construct(TaskRepository $taskRepository)
{
$this->taskRepository = $taskRepository;
}

/**
* @param Task $status
*/
public function salvar(Task $task)
{
$this->taskRepository->salvar($task);
}

/**
* @return array
*/
public function listar(): array
{
return $this->taskRepository->listar();
}

/**
* @param Task $task
*/
public function remover(Status $task)
{
$this->taskRepository->remover($task);
}
}
54 changes: 54 additions & 0 deletions src/Domain/Services/UsuarioService.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php

namespace App\Domain\Services;

use App\Domain\Model\Projeto;
use App\Domain\Model\ProjetoRepositoryInterface;
use App\Infrastructure\Repository\UsuarioRepository;
use App\Domain\Model\Usuario;

/**
* Class ProjetoService
* @package App\Domain\Services
*/
class UsuarioService
{

/**
* @var UsuarioRepository
*/
public UsuarioRepository $usuarioRepository;

/**
* UsuarioService constructor.
* @param UsuarioRepository $usuarioRepository
*/
public function __construct(UsuarioRepository $usuarioRepository)
{
$this->usuarioRepository = $usuarioRepository;
}

/**
* @param Usuario $usuario
*/
public function salvar(Usuario $usuario)
{
$this->usuarioRepository->salvar($usuario);
}

/**
* @return array
*/
public function listar(): array
{
return $this->usuarioRepository->listar();
}

/**
* @param Usuario $usuario
*/
public function remover(Usuario $usuario)
{
$this->usuarioRepository->remover($usuario);
}
}
16 changes: 16 additions & 0 deletions src/Infrastructure/Controller/ProjetoController.php
Original file line number Diff line number Diff line change
Expand Up @@ -102,4 +102,20 @@ public function cadastrar(Request $request)
'form' => $form->createView(),
]);
}

/**
* @Route("/pesquisar", name="pesquisar_projetos")
*/
public function findByStatus()
{
$value = 'juan';
$projeto = $this->projetoService->findByStatus($value);
$output = new \Symfony\Component\Console\Output\ConsoleOutput();

$output->writeln('erro');
return $this->render('projeto.html.twig', ['projeto' => $projeto]);
//return $this->render('lista-projetos.html.twig', ['projetos' => $projetos]);
}


}
Loading