diff --git a/data/database.sqlite b/data/database.sqlite index 6804099..c4e6d3a 100755 Binary files a/data/database.sqlite and b/data/database.sqlite differ diff --git a/src/Command/CreateEnderecosCommand.php b/src/Command/CreateEnderecosCommand.php index dd07fc2..5e403a7 100644 --- a/src/Command/CreateEnderecosCommand.php +++ b/src/Command/CreateEnderecosCommand.php @@ -3,7 +3,6 @@ namespace App\Command; - use App\Entity\Endereco; use Doctrine\Common\Persistence\ObjectManager; use Doctrine\ORM\EntityManager; @@ -115,4 +114,4 @@ private function cepRandom() -} \ No newline at end of file +} diff --git a/src/Controller/ImobiliariaController.php b/src/Controller/ImobiliariaController.php index 20be8c6..f89f6cc 100644 --- a/src/Controller/ImobiliariaController.php +++ b/src/Controller/ImobiliariaController.php @@ -16,9 +16,7 @@ class ImobiliariaController extends AbstractController */ public function index() { - return $this->render('index.html.twig'); - } /** @@ -26,8 +24,6 @@ public function index() */ public function dashboard() { - return $this->render('imobiliaria.html.twig'); - } -} \ No newline at end of file +} diff --git a/src/Controller/ImovelController.php b/src/Controller/ImovelController.php index 5cbf296..1061c76 100644 --- a/src/Controller/ImovelController.php +++ b/src/Controller/ImovelController.php @@ -1,51 +1,66 @@ createForm(ImovelType::class, $imovel); - $form->handleRequest($request); - - if ($form->isSubmitted()) { + $imovel = new Imovel(); + $form = $this->createForm(ImovelType::class, $imovel); + $form->handleRequest($request); + if ($form->isSubmitted()) { $imovel = $form->getData(); - $em = $this->getDoctrine()->getManager(); - $em->persist($imovel); - $em->flush(); +// $em = $this->getDoctrine()->getManager(); +// $em->persist($imovel); +// $em->flush(); + + $imovelService->salvar($imovel); return $this->redirectToRoute('index'); - } + } - return $this->render('imovel_cadastro.html.twig', [ - 'form' => $form->createView() - ]); + return $this->render('imovel_cadastro.html.twig' , [ + 'form'=>$form->createview() + ] + ); } /** * @Route("/imovel/listar", name="listar_imoveis") */ - public function listarImoveis() + + public function listarImoveis(Request $request) { + $user = new Corretor(); + $user->setLogin('helio'); + $user->setRoles([true ? 'ROLE_ADMIN' : 'ROLE_USER']); + + $user->setPassword('ZkCCqGmNQXOeL1avsq2OWv2BSKLqHE33c2aolQ1nFxg'); + $em = $this->getDoctrine()->getManager(); + $em->persist($user); + $em->flush(); + + + $em = $this->getDoctrine()->getManager(); $imoveis = $em->getRepository(Imovel::class)->findAll(); @@ -55,32 +70,50 @@ public function listarImoveis() } /** - * @Route("/imovel/portifolios", name="listar_portifolios") + * @Route("/editar/{id}", name="editar_imovel") */ - public function imoveisPortifolios() + public function editarImovel(int $id, Request $request) { $em = $this->getDoctrine()->getManager(); - $imoveis = $em->getRepository(Imovel::class)->findAll(); + $imovel = $em->getRepository(Imovel::class)->find($id); - return $this->render('listar_portifolios.html.twig', [ - 'imoveis' => $imoveis + if (!$imovel) { + throw new \Exception('Imovel não encontrado'); + } + + $form = $this->createForm(ImovelType::class, $imovel); + + $form->handleRequest($request); + + if ($form->isSubmitted()) { + $imovel = $form->getData(); + $em = $this->getDoctrine()->getManager(); + $em->merge($imovel); + $em->flush(); + + return $this->redirectToRoute('listar_imoveis'); + } + + return $this->render('imovel_cadastro.html.twig', [ + 'form' => $form->createView() ]); } /** - * @Route("/imovel/visualizar/{id}", name="imovel_visualizar") + * @Route("/deletar/{id}", name="deletar_imovel") */ - public function imovelVisualizar(Request $request) + public function deletarImovel(int $id, Request $request) { - $id = $request->get('id'); +// $imovel = new Imovel(); +// $imovel = $this->getRepository(Imovel::class)->find($id); +// $imovelService->deletar($imovel); + $em = $this->getDoctrine()->getManager(); $imovel = $em->getRepository(Imovel::class)->find($id); + $em->remove($imovel); + $em->flush(); + $this->addFlash('success', 'Imovel de id:'.$id.' deletado com sucesso!!!'); - return $this->render('imovel_visualizar.html.twig', [ - 'imovel' => $imovel - ]); + return $this->redirectToRoute('listar_imoveis'); } - - - -} \ No newline at end of file +} diff --git a/src/Controller/LoginController.php b/src/Controller/LoginController.php index f05d9f1..bd364d0 100644 --- a/src/Controller/LoginController.php +++ b/src/Controller/LoginController.php @@ -3,7 +3,6 @@ namespace App\Controller; - use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; class LoginController extends AbstractController @@ -13,4 +12,4 @@ public function login() // return $this->render(); } -} \ No newline at end of file +} diff --git a/src/Controller/SecurityController.php b/src/Controller/SecurityController.php index 7f28f35..2084ecd 100644 --- a/src/Controller/SecurityController.php +++ b/src/Controller/SecurityController.php @@ -31,3 +31,4 @@ public function logout() throw new \Exception('Don\'t forget to activate logout in security.yaml'); } } + diff --git a/src/Controller/UsuarioController.php b/src/Controller/UsuarioController.php index f1facd9..63d3524 100644 --- a/src/Controller/UsuarioController.php +++ b/src/Controller/UsuarioController.php @@ -6,6 +6,7 @@ use App\Entity\Corretor; use App\Forms\UsuarioType; use App\Entity\Usuario; +use App\Service\UsuarioService; use phpDocumentor\Reflection\DocBlock\Tags\Throws; use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; @@ -21,31 +22,32 @@ class UsuarioController extends AbstractController { /** - *@IsGranted("ROLE_ADMIN") * @Route("/usuario", name="usuario_novo") */ - public function cadastroUsuario(Request $request) + public function cadastroUsuario(Request $request, UsuarioService $usuarioService) { $usuario = new Usuario(); $form = $this->createForm(UsuarioType::class, $usuario); $form->handleRequest($request); - if ($form->isSubmitted()) { $usuario = $form->getData(); - $em = $this->getDoctrine()->getManager(); - $em->persist($usuario); - $em->flush(); +// $em = $this->getDoctrine()->getManager(); +// $em->persist($usuario); +// $em->flush(); + + $usuarioService->salvar($usuario); return $this->redirectToRoute('index'); } - return $this->render('usuario_cadastro.html.twig', [ - 'form' => $form->createView() - ]); + return $this->render('usuario_cadastro.html.twig' , [ + 'form'=>$form->createview() + ] + ); } - /** - * @Route("/listar", name="listar_usuarios") + /** + * @Route("/usuario/listar", name="listar_usuarios") */ public function listarUsuarios(Request $request) { @@ -112,3 +114,4 @@ public function deletarUsuario(int $id, Request $request) return $this->redirectToRoute('listar_usuarios'); } } + diff --git a/src/DataFixtures/AppFixtures.php b/src/DataFixtures/AppFixtures.php index c5d6d13..e2ff5f6 100644 --- a/src/DataFixtures/AppFixtures.php +++ b/src/DataFixtures/AppFixtures.php @@ -194,4 +194,4 @@ private static function mod($dividendo, $divisor): float { return round($dividendo - (floor($dividendo / $divisor) * $divisor)); } -} \ No newline at end of file +} diff --git a/src/Entity/ContratoAdm.php b/src/Entity/ContratoAdm.php new file mode 100644 index 0000000..549faac --- /dev/null +++ b/src/Entity/ContratoAdm.php @@ -0,0 +1,129 @@ +id; + } + + /** + * @param mixed $id + */ + public function setId($id): void + { + $this->id = $id; + } + + /** + * @return mixed + */ + public function getDtCadastro() + { + return $this->dtCadastro; + } + + /** + * @param mixed $dtCadastro + */ + public function setDtCadastro($dtCadastro): void + { + $this->dtCadastro = $dtCadastro; + } + + /** + * @return mixed + */ + public function getUsuario() + { + return $this->usuario; + } + + /** + * @param mixed $usuario + */ + public function setUsuario($usuario): void + { + $this->usuario = $usuario; + } + + /** + * @return mixed + */ + public function getImovel() + { + return $this->imovel; + } + + /** + * @param mixed $imovel + */ + public function setImovel($imovel): void + { + $this->imovel = $imovel; + } + + /** + * @return mixed + */ + + + /** + * @return mixed + */ + public function getClausulaContratual() + { + return $this->clausula_contratual; + } + + /** + * @param mixed $clausula_contratual + */ + public function setClausulaContratual($clausula_contratual): void + { + $this->clausula_contratual = $clausula_contratual; + } +} diff --git a/src/Entity/ContratoLocacao.php b/src/Entity/ContratoLocacao.php new file mode 100644 index 0000000..f10b8e7 --- /dev/null +++ b/src/Entity/ContratoLocacao.php @@ -0,0 +1,186 @@ +id; + } + + /** + * @param mixed $id + */ + public function setId($id): void + { + $this->id = $id; + } + + /** + * @return mixed + */ + public function getDtCadastro() + { + return $this->dtCadastro; + } + + /** + * @param mixed $dtCadastro + */ + public function setDtCadastro($dtCadastro): void + { + $this->dtCadastro = $dtCadastro; + } + + /** + * @return mixed + */ + public function getDtValidade() + { + return $this->dtValidade; + } + + /** + * @param mixed $dtValidade + */ + public function setDtValidade($dtValidade): void + { + $this->dtValidade = $dtValidade; + } + + /** + * @return mixed + */ + public function getFormaPagamento() + { + return $this->formaPagamento; + } + + /** + * @param mixed $formaPagamento + */ + public function setFormaPagamento($formaPagamento): void + { + $this->formaPagamento = $formaPagamento; + } + + /** + * @return mixed + */ + public function getDtVencimento() + { + return $this->dtVencimento; + } + + /** + * @param mixed $dtVencimento + */ + public function setDtVencimento($dtVencimento): void + { + $this->dtVencimento = $dtVencimento; + } + + /** + * @return mixed + */ + public function getUsuario() + { + return $this->usuario; + } + + /** + * @param mixed $usuario + */ + public function setUsuario($usuario): void + { + $this->usuario = $usuario; + } + + /** + * @return mixed + */ + public function getImovel() + { + return $this->imovel; + } + + /** + * @param mixed $imovel + */ + public function setImovel($imovel): void + { + $this->imovel = $imovel; + } + + /** + * @return mixed + */ + public function getClausulaContratual() + { + return $this->clausula_contratual; + } + + /** + * @param mixed $clausula_contratual + */ + public function setClausulaContratual($clausula_contratual): void + { + $this->clausula_contratual = $clausula_contratual; + } +} diff --git a/src/Entity/Imovel.php b/src/Entity/Imovel.php index e50f78c..41891a1 100644 --- a/src/Entity/Imovel.php +++ b/src/Entity/Imovel.php @@ -47,6 +47,15 @@ class Imovel */ private $endereco; + /** + * @ORM\OneToMany(targetEntity="App\Entity\ContratoLocacao", mappedBy="imovel") + */ + private $contratoLocacao; + + /** + * @ORM\OneToMany(targetEntity="App\Entity\ContratoAdm", mappedBy="imovel") + */ + private $contratoAdm; /** @@ -161,13 +170,35 @@ public function setEndereco($endereco): void $this->endereco = $endereco; } -// /** -// * @ORM\OneToMany(targetEntity="Entity\contratoLocacao", mappedBy="imovel") -// */ -// private $contratoLocacao; -// -// /** -// * @ORM\OneToMany(targetEntity="Entity\ContratoAdm", mappedBy="imovel") -// */ -// private $contratoAdm; -} \ No newline at end of file + /** + * @return mixed + */ + public function getContratoLocacao() + { + return $this->contratoLocacao; + } + + /** + * @param mixed $contratoLocacao + */ + public function setContratoLocacao(ContratoLocacao $contratoLocacao): void + { + $this->contratoLocacao = $contratoLocacao; + } + + /** + * @return mixed + */ + public function getContratoAdm() + { + return $this->contratoAdm; + } + + /** + * @param mixed $contratoAdm + */ + public function setContratoAdm(ContratoAdm $contratoAdm): void + { + $this->contratoAdm = $contratoAdm; + } +} diff --git a/src/Entity/Usuario.php b/src/Entity/Usuario.php index 692db37..cfa252e 100644 --- a/src/Entity/Usuario.php +++ b/src/Entity/Usuario.php @@ -1,4 +1,5 @@ contratoLocacao; + return $this->tipoUsuario; } /** - * @param mixed $contratoLocacao + * @param string $tipoUsuario */ - public function setContratoLocacao($contratoLocacao): void + public function setTipoUsuario(string $tipoUsuario): void { - $this->contratoLocacao = $contratoLocacao; + $this->tipoUsuario = $tipoUsuario; } /** * @return mixed */ - public function getContratoAdm() + public function getContratoLocacao() { - return $this->contratoAdm; + return $this->contratoLocacao; } /** - * @param mixed $contratoAdm + * @param mixed $contratoLocacao */ - public function setContratoAdm($contratoAdm): void + public function setContratoLocacao(ContratoLocacao $contratoLocacao): void { - $this->contratoAdm = $contratoAdm; + $this->contratoLocacao = $contratoLocacao; } /** - * @return string + * @return mixed */ - public function getTipoUsuario(): ?string + public function getContratoAdm() { - return $this->tipoUsuario; + return $this->contratoAdm; } /** - * @param string $tipoUsuario + * @param mixed $contratoAdm */ - public function setTipoUsuario(string $tipoUsuario): void + public function setContratoAdm(ContratoAdm $contratoAdm): void { - $this->tipoUsuario = $tipoUsuario; + $this->contratoAdm = $contratoAdm; } } + diff --git a/src/Forms/EnderecoType.php b/src/Forms/EnderecoType.php index 2689962..f66e962 100755 --- a/src/Forms/EnderecoType.php +++ b/src/Forms/EnderecoType.php @@ -1,6 +1,5 @@ setAction('../usuario') +// ->setAction('../imovel') // ->setMethod('POST') ->add('status', ChoiceType::class, [ 'label' => 'Status', diff --git a/src/Repository/ImovelRepository.php b/src/Repository/ImovelRepository.php new file mode 100644 index 0000000..5137219 --- /dev/null +++ b/src/Repository/ImovelRepository.php @@ -0,0 +1,29 @@ +getEntityManager(); + $em->persist($imovel); + $em->flush(); + } + +} diff --git a/src/Repository/UsuarioRepository.php b/src/Repository/UsuarioRepository.php new file mode 100644 index 0000000..43d38aa --- /dev/null +++ b/src/Repository/UsuarioRepository.php @@ -0,0 +1,28 @@ +getEntityManager(); + $em->persist($usuario); + $em->flush(); + } +} diff --git a/src/Service/ImovelService.php b/src/Service/ImovelService.php new file mode 100644 index 0000000..841c82a --- /dev/null +++ b/src/Service/ImovelService.php @@ -0,0 +1,27 @@ +imovelRepository = $imovelRepository; + } + + public function salvar(Imovel $imovel) + { + $this->imovelRepository->salvar($imovel); + } +} diff --git a/src/Service/UsuarioService.php b/src/Service/UsuarioService.php new file mode 100644 index 0000000..866835a --- /dev/null +++ b/src/Service/UsuarioService.php @@ -0,0 +1,26 @@ +usuarioRepository = $usuarioRepository; + } + + public function salvar(Usuario $usuario) + { + $this->usuarioRepository->salvar($usuario); + } +} diff --git a/templates/base.html.twig b/templates/base.html.twig index 6d8013b..45f6fa5 100755 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -72,7 +72,7 @@
- Lista de Clientes + Lista de Clientes Lista de Imóveis Listar Contratos
diff --git a/templates/listar_imoveis.html.twig b/templates/listar_imoveis.html.twig index 6af1973..11faa92 100644 --- a/templates/listar_imoveis.html.twig +++ b/templates/listar_imoveis.html.twig @@ -45,9 +45,13 @@ {{ imovel.dtCadastro|date("m/d/Y") }} {{ imovel.endereco.bairro }} {{ imovel.endereco.logradouro }} - + - + + + + + {% endfor %}