public static function getModulosPerfis($cod_perfil) { $moduloPerfilDao = new ModuloPerfilDao(); $items = $moduloPerfilDao->getModulosPerfis($cod_perfil); if ($items) { Flight::json($items); } else { Flight::halt(404, 'Nenhum modulo x perfil encontrado.'); } }
public static function save() { $perfilTO = new PerfilTO(); $perfilTO->cod_perfil = isset($_POST['cod_perfil']) ? $_POST['cod_perfil'] : ""; $perfilTO->nme_perfil = isset($_POST['nme_perfil']) ? $_POST['nme_perfil'] : ""; $perfilTO->flg_ativo = isset($_POST['flg_ativo']) ? $_POST['flg_ativo'] : array(); $perfilTO->modulos = isset($_POST['modulos']) ? $_POST['modulos'] : array(); $validator = new DataValidator(); $validator->set_msg('A Descrição é obrigatória')->set('nme_perfil', $perfilTO->nme_perfil)->is_required(); if (count($modulos) == 0) { $validator->set_msg('Selecione ao menos um módulo')->set('modulos', $perfilTO->modulos)->set_custom_error(); } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } try { $perfilDao = new PerfilDao(); if ($cod_perfil === "") { $perfilTO->cod_perfil = $perfilDao->savePerfil($perfilTO); } else { if (!$perfilDao->updatePerfil($perfilTO)) { Flight::halt(500, "Falha ao atualizar o perfil [" . $perfilTO->nme_perfil . "]"); } } if ($perfilTO->cod_perfil) { $moduloPerfilDao = new ModuloPerfilDao(); if ($moduloPerfilDao->deleteAllModulosPerfil($perfilTO->cod_perfil)) { foreach ($modus as $key => $modulo) { $moduloPerfilTO = new ModuloPerfilTO(); $moduloPerfilTO->cod_modulo = $modulo['cod_modulo']; $moduloPerfilTO->cod_perfil = $perfilTO->cod_perfil; if (!$moduloPerfilDao->saveModuloPerfil($moduloPerfilTO)) { Flight::halt(500, "Falha ao gravar os módulos ao perfil [" . $perfilTO->nme_perfil . "]"); } } } } else { Flight::halt(500, "Falha ao salvar o perfil [" . $perfilTO->nme_perfil . "]"); } } catch (PDOException $e) { Flight::halt(500, $e->getMessage()); } }
public static function update() { try { $PerfilUsuarioTO = new PerfilUsuarioTO(); $PerfilUsuarioDao = new PerfilUsuarioDao(); $ModuloPerfilTO = new ModuloPerfilTO(); $ModuloPerfilDao = new ModuloPerfilDao(); $PerfilUsuarioTO->__setAll($_POST); $modulos = isset($_POST['modulos']) ? $_POST['modulos'] : array(); $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : array(); $validator = new DataValidator(); $validator->set_msg('O ID do perfil é obrigatório')->set('nome', $PerfilUsuarioTO->id)->is_required(); $validator->set_msg('O nome do perfil é obrigatório')->set('nome', $PerfilUsuarioTO->nome)->is_required(); $validator->set_msg('Deve ser selecionado ao menos um módulo')->set('modulos', count($modulos))->min_value(0); $validator->set_msg('Deve ser selecionado ao menos um empreendimento')->set('modulos', count($empreendimentos))->min_value(0); if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $PerfilUsuarioDao->updatePerfil($PerfilUsuarioTO, 'id=' . $PerfilUsuarioTO->id); $ModuloPerfilDao->deleteModuloPerfil('id_perfil=' . $PerfilUsuarioTO->id); foreach ($modulos as $id_modulo) { $ModuloPerfilTO->id_modulo = $id_modulo; $ModuloPerfilTO->id_perfil = $PerfilUsuarioTO->id; $ModuloPerfilDao->save($ModuloPerfilTO); } $PerfilUsuarioEmpreendimentoDao = new PerfilUsuarioEmpreendimentoDao(); $PerfilUsuarioEmpreendimentoDao->deletePerfilUsuarioEmpreendimento('id_perfil=' . $PerfilUsuarioTO->id); foreach ($empreendimentos as $empreendimento) { $PerfilUsuarioEmpreendimentoTO = new PerfilUsuarioEmpreendimentoTO(); $empreendimento['id_perfil'] = $PerfilUsuarioTO->id; $PerfilUsuarioEmpreendimentoTO->__setAll($empreendimento); $PerfilUsuarioEmpreendimentoDao->savePerfilUsuarioEmpreendimento($PerfilUsuarioEmpreendimentoTO); } Flight::response()->status(200)->header('Content-Type', 'application/json')->write(json_encode(array('id' => $PerfilUsuarioTO->id)))->send(); } catch (Exception $e) { $Conexao = new Conexao(); $Conexao::getInstance(); $Conexao->rollback(); jsonException($e); } }