public function __construct() { parent::__construct(); try { $this->idmenu = Menu::PRODUTOS; $this->usuarioLogado = $this->getUsuarioLogado(); $this->fachada = new Fachada(); $this->dataTables = new DataTables(); $this->cadastro = false; $this->setarBotoes(); $menu = new Menu(); $menu->id = $this->idmenu; $this->menu = $this->fachada->buscarMenu($menu); Facil::setar("modulo", $this->menu); } catch (\Exception $ex) { Facil::despacharErro(500, "Aplicação está indisponível no momento"); } }
public function inserirPerfil() { try { $id = trim($_POST['id']); $titulo = trim($_POST['titulo']); $ativo = !empty($_POST['ativo']); $permissoesVisualizar = !empty($_POST['visualizar']) ? array_keys($_POST['visualizar']) : array(); $permissoesGravar = !empty($_POST['gravar']) ? array_keys($_POST['gravar']) : array(); $permissoesExcluir = !empty($_POST['excluir']) ? array_keys($_POST['excluir']) : array(); $perfil = new Perfil(); $perfil->id = $id; if (!empty($perfil->id)) { $perfil = $this->fachada->buscarPerfil($perfil); $perfil->permissoes->clear(); } $perfil->titulo = $titulo; $perfil->ativo = $ativo; $menusSelecionados = array_unique(array_merge($permissoesVisualizar, $permissoesGravar, $permissoesExcluir)); foreach ($menusSelecionados as $idmenu) { $menu = new Menu(); $menu->id = $idmenu; $menu = $this->fachada->buscarMenu($menu); $permissao = new Permissao(); $permissao->menu = $menu; $permissao->perfil = $perfil; $permissao->visualizar = in_array($menu->id, $permissoesVisualizar); $permissao->gravar = in_array($menu->id, $permissoesGravar); $permissao->remover = in_array($menu->id, $permissoesExcluir); $perfil->permissoes->add($permissao); } if (empty($perfil->id)) { $this->fachada->inserirPerfil($perfil); } else { $this->fachada->atualizarPerfil($perfil); } echo new JSONResponse(true, self::MSG_OPERACAO_SUCESSO); } catch (\Exception $ex) { echo new JSONResponse(false, $ex->getMessage()); } }