Example #1
0
 public function saveAction()
 {
     $this->layout('layout/empty');
     if ('POST' == $_SERVER['REQUEST_METHOD']) {
         $gru_id = $_POST["gru_id"];
         $nombre = $_POST["nombre"];
         $descripcion = $_POST["descripcion"];
         $habilitado = $_POST["habilitado"];
         $id_permisos = array();
         foreach ($_POST as $key => $value) {
             $substring = substr($key, 0, 10);
             if ("id_gru_pe_" == $substring) {
                 $id_permisos[$value] = $value;
             }
         }
         $id_usuarios = array();
         foreach ($_POST as $key => $value) {
             $substring = substr($key, 0, 11);
             if ("id_gru_usu_" == $substring) {
                 $id_usuarios[$value] = $value;
             }
         }
         //TODO: Crear las constantes para los Eventos de los permisos
         # eve_id: 2 = Crear Grupo; 3 = Modificar Grupo
         if ((int) $gru_id > 0) {
             $message = "Grupo modificado correctamente";
             $eve_id = 3;
         } else {
             $message = "Grupo creado correctamente";
             $eve_id = 2;
         }
         $grupoDao = new GrupoDao($this->getServiceLocator());
         $grupoPermisoDAO = new GrupoPermisoDao($this->getServiceLocator());
         $grupoUsuarioDAO = new GrupoUsuarioDao($this->getServiceLocator());
         try {
             if (!Validator::required($nombre)) {
                 throw new Exception();
             }
             #Requerido
             if (!Validator::inSize($nombre, 3, 32)) {
                 throw new Exception();
             }
             #Min: 3 - #Max: 32
             if (!Validator::onlySentence($nombre)) {
                 throw new Exception();
             }
             #Oración
             if (!Validator::inSizeNullable($descripcion, 3, 500)) {
                 throw new Exception();
             }
             #Min: 3 - #Max: 500
             if (!Validator::onlySentence($descripcion)) {
                 throw new Exception();
             }
             #Oración
             if (!Validator::onlyBoolean($habilitado)) {
                 throw new Exception();
             }
             #Oración
             $objGrupo = new Grupo();
             $objGrupo->setId($gru_id);
             $objGrupo->setNombre($nombre);
             $objGrupo->setDescripcion($descripcion);
             $objGrupo->setHabilitado($habilitado);
             $objGrupo->setActivo(1);
             //TODO: Da error cuando quiero guardar y no le hago una modificación a descripción
             if ($grupoDao->save($objGrupo)) {
                 #Success
                 $code = RestResponse::OK;
                 $data["objectID"] = $objGrupo->getId();
             } else {
                 #Fail
                 $code = RestResponse::SERVER_ERROR;
                 $message = "Error a guardar Grupo";
                 ExpLogSeguridad::save($this->getServiceLocator(), $eve_id, $code, $message, $objGrupo->getJSON(), null);
                 throw new Exception($message);
                 //TODO: El parámetro de Usuario debe ser completado con el usuario que inicia sesión
             }
             $grupoPermisoDAO->deleteByGrupo($objGrupo->getId());
             foreach ($id_permisos as $id_permiso) {
                 $objGrupoPermiso = new GrupoPermiso();
                 $objGrupoPermiso->getPermiso()->setId($id_permiso);
                 $objGrupoPermiso->getGrupo()->setId($objGrupo->getId());
                 if (!$grupoPermisoDAO->save($objGrupoPermiso)) {
                     $code = RestResponse::SERVER_ERROR;
                     $message = "Error a guardar Grupo";
                     ExpLogSeguridad::save($this->getServiceLocator(), $eve_id, $code, $message, $objGrupo->getJSON(), null);
                     throw new Exception($message);
                 }
             }
             ExpLogSeguridad::save($this->getServiceLocator(), $eve_id, $code, $message, $objGrupo->getJSON(), null);
             //TODO: El parámetro de Usuario debe ser completado con el usuario que inicia sesión
             RestResponse::createResponse($code, $data, $message);
         } catch (Exception $e) {
             $code = RestResponse::SERVER_ERROR;
             $message = "No se pudieron guardar los cambios en el Grupo. " . $e->getMessage();
             ExpLogSeguridad::save($this->getServiceLocator(), $eve_id, $code, $message, null, null);
             RestResponse::createResponse($code, null, $message);
         }
     }
 }
Example #2
0
 public static function init($row, $id = null)
 {
     $objGrupoPermiso = new GrupoPermiso();
     try {
         if (is_null($id)) {
             $objGrupoPermiso->setId($row->gru_pe_id);
         } else {
             $objGrupoPermiso->setId($row->{$id});
             throw new \Exception();
         }
         $objGrupoPermiso->getPermiso()->setId($row->pe_id);
         $objGrupoPermiso->getPermiso()->setActivo($row->pe_activo);
         $objGrupoPermiso->getPermiso()->setHabilitado($row->pe_habilitado);
         $objGrupoPermiso->getPermiso()->setPaSisId($row->pe_pa_sis_id);
         $objGrupoPermiso->getPermiso()->setNombre($row->pe_nombre);
         $objGrupoPermiso->getGrupo()->setId($row->gru_id);
         $objGrupoPermiso->getGrupo()->setActivo($row->gru_activo);
         $objGrupoPermiso->getGrupo()->setHabilitado($row->gru_habilitado);
         $objGrupoPermiso->getGrupo()->setNombre($row->gru_nombre);
         $objGrupoPermiso->getGrupo()->setDescripcion($row->gru_descripcion);
         $objGrupoPermiso->getGrupo()->setFechaAlta($row->gru_fecha_alta);
         $objGrupoPermiso->getGrupo()->setFechaMod($row->gru_fecha_mod);
         $objGrupoPermiso->getGrupo()->setFechaBaja($row->gru_fecha_baja);
         $objGrupoPermiso->isFromDb(true);
     } catch (\Exception $e) {
         return $objGrupoPermiso;
     }
     return $objGrupoPermiso;
 }