Exemplo n.º 1
0
 /**
  * Método para setear un Objeto
  * @param string    $method     Método a ejecutar (create, update)
  * @param array     $data       Array para autocargar el objeto
  * @param array     $optData    Array con con datos adicionales para autocargar
  */
 public static function setPersona($method, $data = array(), $optData = array())
 {
     $obj = new Persona($data);
     if (!empty($optData)) {
         $obj->dump_result_self($optData);
     }
     //Creo otro objeto para comparar si existe
     $old = new Persona($data);
     $check = $old->_getPersonaRegistrada('find_first');
     if ($check) {
         //Si existe
         if (empty($obj->id)) {
             $obj->id = $old->id;
             //Asigno el id del encontrado al nuevo
         } else {
             //Si se actualiza y existe otro con la misma información
             if ($obj->id != $old->id) {
                 DwMessage::info('Lo sentimos, pero ya existe una persona registrada con el mismo número de identificación');
                 return FALSE;
             }
         }
         if ($method == 'create') {
             //Si se crea la persona, pero ya está registrada la actualizo
             $method = 'update';
         }
     }
     $rs = $obj->{$method}();
     return $rs ? $obj : FALSE;
 }
Exemplo n.º 2
0
 /**
  * Callback que se ejecuta antes de los métodos de todos los controladores
  */
 protected final function initialize()
 {
     if (APP_UPDATE) {
         DwMessage::info('Estamos en labores de mantenimiento y actualización.');
         View::select(NULL, 'update');
     }
 }
Exemplo n.º 3
0
 /**
  * Método principal
  */
 public function index()
 {
     $pais = new Pais();
     $estado = new Estado();
     $municipio = new Municipio();
     if (Input::hasPost('empresa')) {
         if (DwSecurity::isValidKey(Input::post('empresa_id_key'), 'form_key')) {
             if (Empresa::setEmpresa('save', Input::post('empresa'))) {
                 DwMessage::valid('Los datos se han actualizado correctamente');
             } else {
                 DwMessage::get('error_form');
             }
         }
     }
     $empresa = new Empresa();
     if (!$empresa->getInformacionEmpresa()) {
         DwMessage::get('id_no_found');
         return DwRedirect::toRoute('module: dashboard', 'controller: index');
     }
     if (!APP_OFFICE) {
         $sucursal = new Sucursal();
         $this->sucursal = $sucursal->getInformacionSucursal(1);
         $this->ciudades = Load::model('params/ciudad')->getCiudadesToJson();
     }
     $this->empresa = $empresa;
     $this->pais = $pais->getListadoPais();
     $this->estado = $estado->getListadoEstado();
     $this->municipio = $municipio->getListadoMunicipio();
     $this->page_title = 'Información de la empresa';
 }
Exemplo n.º 4
0
 /**
  * Método para limpiar los mensajes almacenados
  */
 public static function clean()
 {
     //Reinicio la variable de los mensajes
     self::$_contentMsj = array();
     //Elimino los almacenados en sesión
     Session::delete('dw-messages');
 }
Exemplo n.º 5
0
 /**
  * Método para cerrar sesión
  */
 public function salir($js = '')
 {
     if (Usuario::setSession('close')) {
         DwMessage::valid("La sesión ha sido cerrada correctamente.");
     }
     if ($js == 'no-script') {
         DwMessage::info('Activa el uso de JavaScript en su navegador para poder continuar.');
     }
     return DwRedirect::toAction('entrar/');
 }
Exemplo n.º 6
0
 /**
  * Callback que se ejecuta antes de los métodos de todos los controladores
  */
 protected final function initialize()
 {
     /**
      * Si el método de entrada es ajax, el tipo de respuesta es sólo la vista
      */
     if (Input::isAjax()) {
         View::template('sgc/sgc');
     }
     /**
      * Verifico que haya iniciado sesión
      */
     if (!DwAuth::isLogged()) {
         //Verifico que no genere una redirección infinita
         if ($this->controller_name != 'login' && ($this->action_name != 'entrar' && $this->action_name != 'salir')) {
             DwMessage::warning('No has iniciado sesión o ha caducado.');
             //Verifico que no sea una ventana emergente
             if ($this->module_name == 'reporte') {
                 View::error();
                 //TODO: crear el método error()
             } else {
                 DwRedirect::toLogin('sistema/login/entrar/');
             }
             return false;
         }
     } else {
         if (DwAuth::isLogged() && $this->controller_name != 'login') {
             $acl = new DwAcl();
             //Cargo los permisos y templates
             if (APP_UPDATE && Session::get('perfil_id') != Perfil::SUPER_USUARIO) {
                 //Solo el super usuario puede hacer todo
                 if ($this->module_name != 'dashboard' && $this->controller_name != 'index') {
                     $msj = 'Estamos en labores de actualización y mantenimiento.';
                     $msj .= '<br />';
                     $msj .= 'El servicio se reanudará dentro de ' . APP_UPDATE_TIME;
                     if (Input::isAjax()) {
                         View::update();
                     } else {
                         DwMessage::info($msj);
                         DwRedirect::to("dashboard");
                     }
                     return FALSE;
                 }
             }
             if (!$acl->check(Session::get('perfil_id'))) {
                 DwMessage::error('Tu no posees privilegios para acceder a <b>' . Router::get('route') . '</b>');
                 Input::isAjax() ? View::ajax() : View::select(NULL);
                 return false;
             }
             if (!defined('SKIN')) {
                 define('SKIN', Session::get('tema'));
             }
         }
     }
 }
 /**
  * Método para listar las autitorías del sistema
  * @param type $fecha
  * @return type
  */
 public function listar($fecha = '', $page = 1)
 {
     $fecha = empty($fecha) ? date("Y-m-d") : Filter::get($fecha, 'date');
     if (empty($fecha)) {
         DwMessage::info('Selecciona la fecha del archivo');
         return DwRedirect::toAction('index');
     }
     $page = Filter::get($page, 'page') > 0 ? Filter::get($page, 'page') : 1;
     $audits = Sistema::getAudit($fecha, $page);
     $this->audits = $audits;
     $this->fecha = $fecha;
     $this->page_module = 'Auditorías del sistema ' . $fecha;
 }
 /**
  * Método para listar las autitorías del sistema
  * @param type $fecha
  * @return type
  */
 public function listar($fecha = '', $formato = 'html')
 {
     $fecha = empty($fecha) ? date("Y-m-d") : Filter::get($fecha, 'date');
     if (empty($fecha)) {
         DwMessage::info('Selecciona la fecha del archivo');
         return View::error();
     }
     $audits = Sistema::getAudit($fecha);
     $this->audits = $audits;
     $this->fecha = $fecha;
     $this->page_module = 'Auditorías del sistema ' . $fecha;
     $this->page_format = $formato;
 }
Exemplo n.º 9
0
 /**
  * Método para verificar si la llave es válida
  * 
  * @param string $id
  * @param string $action
  * @param string $filter Filtro a aplicar al id devuelto
  * @return boolean
  */
 public static function isValidKey($valueKey, $action = '', $filter = '', $popup = FALSE)
 {
     $key = explode('.', $valueKey);
     $id = $key[0];
     $validKey = self::getKey($id, $action);
     $valid = $validKey === $valueKey ? TRUE : FALSE;
     if (!$valid) {
         DwMessage::error('Acceso denegado. La llave de seguridad es incorrecta.');
         if ($popup) {
             View::error();
         }
         return FALSE;
     }
     return $filter ? Filter::get($id, $filter) : $id;
 }
Exemplo n.º 10
0
 /**
  * Método para buscar
  */
 public function buscar($field = 'nombres', $value = 'none', $order = 'order.fecha.asc', $page = 1)
 {
     $page = Filter::get($page, 'page') > 0 ? Filter::get($page, 'page') : 1;
     $field = Input::hasPost('field') ? Input::post('field') : $field;
     $value = Input::hasPost('field') ? Input::post('value') : $value;
     $acceso = new Acceso();
     $accesos = $acceso->getAjaxAcceso($field, $value, $order, $page);
     if (empty($accesos->items)) {
         DwMessage::info('No se han encontrado registros');
     }
     $this->accesos = $accesos;
     $this->order = $order;
     $this->field = $field;
     $this->value = $value;
     $this->page_title = 'Búsqueda de ingresos al sistema';
 }
 /**
  * Método para listar
  */
 public function listar($order = 'order.modulo.asc', $page = 'pag.1')
 {
     if (Input::hasPost('privilegios') or Input::hasPost('old_privilegios')) {
         if (RecursoPerfil::setRecursoPerfil(Input::post('privilegios'), Input::post('old_privilegios'))) {
             DwMessage::valid('Los privilegios se han registrado correctamente!');
             Input::delete('privilegios');
             //Para que no queden persistentes
             Input::delete('old_privilegios');
         }
     }
     $page = Filter::get($page, 'page') > 0 ? Filter::get($page, 'page') : 1;
     $recurso = new Recurso();
     $this->recursos = $recurso->getListadoRecurso(Recurso::ACTIVO, $order, $page);
     $perfil = new Perfil();
     $this->perfiles = $perfil->getListadoPerfil(Perfil::ACTIVO);
     $privilegio = new RecursoPerfil();
     $this->privilegios = $privilegio->getPrivilegiosToArray();
     $this->order = $order;
     $this->page_title = 'Permisos y privilegios de usuarios';
 }
 /**
  * Método principal
  */
 public function index()
 {
     $usuario = new Usuario();
     if (!$usuario->getInformacionUsuario(Session::get('id'))) {
         DwMessage::get('id_no_found');
         return DwRedirect::to('dashboard');
     }
     $perfil = $usuario->perfil;
     $app_ajax_old = $usuario->app_ajax;
     if (Input::hasPost('usuario')) {
         if (DwSecurity::isValidKey(Input::post('usuario_id_key'), 'form_key')) {
             ActiveRecord::beginTrans();
             //Guardo la persona
             $persona = Persona::setPersona('update', Input::post('persona'), array('id' => $usuario->persona_id));
             if ($persona) {
                 $usuario = Usuario::setUsuario('update', Input::post('usuario'), array('persona_id' => $persona->id, 'repassword' => Input::post('repassword'), 'oldpassword' => Input::post('oldpassword'), 'id' => $usuario->id, 'login' => $usuario->login, 'sucursal_id' => $usuario->sucursal_id, 'perfil_id' => $usuario->perfil_id));
                 if ($usuario) {
                     ActiveRecord::commitTrans();
                     DwMessage::valid('El usuario se ha actualizado correctamente.');
                     if ($app_ajax_old != $usuario->app_ajax) {
                         Session::set('app_ajax', $usuario->app_ajax);
                         if (APP_AJAX) {
                             View::redirect(PUBLIC_PATH . 'sistema/mi_cuenta/');
                         } else {
                             DwRedirect::to('sistema/mi_cuenta');
                         }
                     }
                     $usuario->perfil = $perfil;
                     $usuario->fotografia = $persona->fotografia;
                 }
             } else {
                 ActiveRecord::rollbackTrans();
             }
         }
     }
     $this->temas = DwUtils::getFolders(dirname(APP_PATH) . '/public/css/backend/themes/');
     $this->usuario = $usuario;
     $this->page_title = 'Actualizar mis datos';
 }
Exemplo n.º 13
0
 /**
  * Callback que se ejecuta antes de guardar/modificar
  */
 public function before_save()
 {
     $this->modulo = Filter::get($this->modulo, 'string');
     $this->controlador = Filter::get($this->controlador, 'string');
     $this->accion = Filter::get($this->accion, 'string');
     if (empty($this->accion)) {
         $this->accion = '*';
     }
     $this->recurso = trim($this->modulo . '/' . $this->controlador . '/' . $this->accion . '/', '/');
     $this->descripcion = Filter::get($this->descripcion, 'string');
     if (!empty($this->id) && $this->id <= 16) {
         DwMessage::warning('Lo sentimos, pero este recurso no se puede editar.');
         return 'cancel';
     }
 }
Exemplo n.º 14
0
 /**
  * Método para descargar
  */
 public function descargar($key = '')
 {
     if (!($id = DwSecurity::isValidKey($key, 'descargar_backup', 'int'))) {
         return View::ajax();
     }
     $backup = new Backup();
     if (!$backup->find_first($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('listar');
     }
     $file = APP_PATH . 'temp/backup/' . $backup->archivo;
     if (!is_file($file)) {
         DwMessage::warning('No hemos podido localizar el archivo. Por favor contacta al administrador del sistema.');
         DwAudit::error("No se ha podido encontrar la copia de seguridad {$backup->archivo} en el sistema");
         return DwRedirect::toAction('listar');
     }
     View::template(NULL);
     $this->backup = $backup;
 }
Exemplo n.º 15
0
 /**
  * Callback que se ejecuta antes de eliminar
  */
 public function before_delete()
 {
     if ($this->id == 1) {
         //Para no eliminar la información de sucursal
         DwMessage::warning('Lo sentimos, pero esta sucursal no se puede eliminar.');
         return 'cancel';
     }
 }
Exemplo n.º 16
0
 /**
  * Callback que se ejecuta despues de insertar un usuario
  */
 protected function after_create()
 {
     if (!EstadoUsuario::setEstadoUsuario('registrar', array('usuario_id' => $this->id, 'descripcion' => 'Activado por registro inicial'))) {
         DwMessage::error('Se ha producido un error interno al activar el usuario. Pofavor intenta nuevamente.');
         return 'cancel';
     }
 }
Exemplo n.º 17
0
 /**
  * Método para crear/modificar un objeto de base de datos
  * 
  * @param string $medthod: create, update
  * @param array $data: Data para autocargar el modelo
  * @param array $otherData: Data adicional para autocargar
  * 
  * @return object ActiveRecord
  */
 public static function setClave($method, $data, $optData = null)
 {
     $obj = new UsuarioClave($data);
     if ($optData) {
         $obj->dump_result_self($optData);
     }
     if (!empty($obj->id)) {
         //Si va a actualizar
         $old = new UsuarioClave();
         $old->find_first($obj->id);
         if (!empty($obj->oldpassword)) {
             //Si cambia de claves
             if (empty($obj->password) or empty($obj->repassword)) {
                 DwMessage::error("Indica la nueva contraseña");
                 return false;
             }
             $obj->oldpassword = md5(sha1(strtoupper($obj->oldpassword)));
             if ($obj->oldpassword !== $old->password) {
                 DwMessage::error("La contraseña anterior no coincide con la registrada. Verifica los datos e intente nuevamente");
                 return false;
             }
         }
     }
     //Verifico si las contraseñas coinciden (password y repassword)
     if (!empty($obj->password) && !empty($obj->repassword) or $method == 'create') {
         if ($method == 'create' && empty($obj->password)) {
             DwMessage::error("Indica la contraseña para el inicio de sesión");
             return false;
         }
         $obj->password = md5(sha1(strtoupper($obj->password)));
         //$obj->repassword = md5(sha1($obj->repassword)); mientras luego borrar lo de abajo
         $obj->repassword = $obj->password;
         if ($obj->password !== $obj->repassword) {
             DwMessage::error('Las contraseñas no coinciden. Verifica los datos e intenta nuevamente.');
             return 'cancel';
         }
     } else {
         if (isset($obj->id)) {
             //Mantengo la contraseña anterior
             $obj->password = $old->password;
         }
     }
     $obj->fecha_inicio = date('Y-m-d');
     $configseg = new Configuracion();
     $configseg1 = $configseg->getInformacionConfiguracion();
     $nuevafecha = strtotime('+' . $configseg1->dias_caducidad_clave . ' day', strtotime($obj->fecha_inicio));
     $nuevafecha = date('Y-m-j', $nuevafecha);
     $obj->fecha_fin = $nuevafecha;
     //return DwMessage::error('La configuracion es: '.$configseg1->dias_caducidad_clave.' la fecha inicio es: '.$obj->fecha_inicio.' la fecha final es: '.$nuevafecha.'.');
     //$fecha = date('Y-m-j');
     //$nuevafecha = strtotime ( '+2 day' , strtotime ( $fecha ) ) ;
     //$nuevafecha = date ( 'Y-m-j' , $nuevafecha );
     //echo $nuevafecha;
     $rs = $obj->{$method}();
     if ($rs) {
         $method == 'create' ? DwAudit::debug("Se ha registrado el usuario {$obj->usuario_id} en el sistema") : DwAudit::debug("Se ha modificado la información del usuario {$obj->usuario_id}");
     }
     return $rs ? $obj : FALSE;
 }
Exemplo n.º 18
0
 /**
  * Método que muestra el reporte según el formato. Si es un formato desconocido muesra la página de error
  *
  * @param string $formato Formato a mostrar: html, pdf, xls, xml, ticket, etc
  * @return boolean
  */
 public static function report($formato)
 {
     $formato = Filter::get($formato, 'string');
     $template = $formato == 'html' ? 'backend/impress' : NULL;
     if ($formato == 'error') {
         self::error();
     } else {
         if ($formato != 'html' && $formato != 'pdf' && $formato != 'xls' && $formato != 'xlsx' && $formato != 'doc' && $formato != 'docx' && $formato != 'csv' && $formato != 'xml' && $formato != 'ticket' or $formato == null) {
             DwMessage::error('Error: ACCESO DENEGADO. El formato del reporte es incorrecto.');
             self::error();
         } else {
             self::response($formato, $template);
         }
     }
 }
Exemplo n.º 19
0
 /**
  * Método para eliminar
  */
 public function eliminar($key)
 {
     if (!($id = DwSecurity::isValidKey($key, 'del_fabricante', 'int'))) {
         return DwRedirect::toAction('listar');
     }
     $fabricante = new Fabricante();
     if (!$fabricante->getInformacionFabricante($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('listar');
     }
     try {
         if (Fabricante::setFabricante('delete', array('id' => $fabricante->id))) {
             DwMessage::valid('La fabricante se ha eliminado correctamente!');
         }
     } catch (KumbiaException $e) {
         DwMessage::error('Este fabricante no se puede eliminar porque se encuentra relacionada con otro registro.');
     }
     return DwRedirect::toAction('listar');
 }
Exemplo n.º 20
0
 /**
  * Método para ver
  */
 public function ver($key, $order = 'order.perfil.asc', $page = 'pag.1')
 {
     $page = Filter::get($page, 'page') > 0 ? Filter::get($page, 'page') : 1;
     if (!($id = DwSecurity::isValidKey($key, 'show_perfil', 'int'))) {
         return DwRedirect::toAction('listar');
     }
     $perfil = new Perfil();
     if (!$perfil->find_first($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('listar');
     }
     $usuario = new Usuario();
     $this->usuarios = $usuario->getUsuarioPorPerfil($perfil->id, $order, $page);
     $this->perfil = $perfil;
     $this->order = $order;
     $this->page_title = 'Información del Perfil';
     $this->key = $key;
 }
Exemplo n.º 21
0
 /**
  * Callback que se ejecuta antes de guardar/modificar
  */
 public function before_save()
 {
     $this->menu = Filter::get($this->menu, 'string');
     $this->url = Filter::get($this->url, 'string');
     if (empty($this->url)) {
         $this->url = '#';
     }
     $this->icono = Filter::get($this->icono, 'string');
     $this->posicion = Filter::get($this->posicion, 'int');
     if (!empty($this->id) && $this->id <= 2) {
         //Para no editar el dashboard
         DwMessage::warning('Lo sentimos, pero este menú no se puede editar.');
         return 'cancel';
     }
 }
Exemplo n.º 22
0
 /**
  * Método para paginar resultados utilizando el método find_all_by_sql de los modelos <br>
  *
  * Retorna un PageObject que tiene los siguientes atributos: <br>
  * next: numero de pagina siguiente, si no hay pagina siguiente entonces es false <br>
  * prev: numero de pagina anterior, si no hay pagina anterior entonces es false <br>
  * current: numero de pagina actual <br>
  * total: total de paginas que se pueden mostrar <br>
  * items: array de items de la pagina <br>
  * counter: Número que lleva el conteo de la página <br>
  * size: Total de registros <br>
  * per_page: cantidad de elementos por pagina <br>
  *
  *
  * @param string $model modelo
  * @param string $sql consulta sql
  * @return stdClass
  */
 public static function paginate_by_sql($model, $sql)
 {
     $params = Util::getParams(func_get_args());
     $page_number = isset($params['page']) ? Filter::get($params['page'], 'numeric') : 1;
     //Numero de la página
     $per_page = isset($params['per_page']) ? Filter::get($params['per_page'], 'numeric') : DATAGRID;
     //Datos por página
     $counter = $page_number > 1 ? $page_number * $per_page - ($per_page - 1) : 1;
     //Determino el contador para utilizarlo en la vista
     $start = $per_page * ($page_number - 1);
     //Determino el offset
     $page = new stdClass();
     //Instancia del objeto contenedor de pagina
     $total_items = $model->count_by_sql("SELECT COUNT(*) FROM ({$sql}) AS t");
     //Se cuentan los registros
     $page->items = $model->find_all_by_sql($model->limit($sql, "offset: {$start}", "limit: {$per_page}"));
     //Se efectua la búsqueda
     //Se efectuan los cálculos para las paginas
     $page->next = $start + $per_page < $total_items ? $page_number + 1 : false;
     $page->prev = $page_number > 1 ? $page_number - 1 : false;
     $page->current = $page_number;
     $page->total_page = ceil($total_items / $per_page);
     if ($page->total_page < $page_number && $total_items > 0) {
         $page->prev = false;
         $url = Router::get('route');
         $url = explode('pag', $url);
         $url = trim($url[0], '/');
         DwMessage::error('La página solicitada no se encuentra en el paginador.  <br />' . DwHtml::link($url, 'Regresar a la página 1'));
     }
     $page->counter = $total_items >= $counter ? $counter : 1;
     $page->size = $total_items;
     $page->per_page = $per_page;
     return $page;
 }
Exemplo n.º 23
0
 /**
  * Método para ver
  */
 public function ver($key)
 {
     if (!($id = DwSecurity::isValidKey($key, 'shw_usuario', 'int'))) {
         return DwRedirect::toAction('listar');
     }
     $usuario = new Usuario();
     if (!$usuario->getInformacionUsuario($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('listar');
     }
     $estado = new EstadoUsuario();
     $this->estados = $estado->getListadoEstadoUsuario($usuario->id);
     $acceso = new Acceso();
     $this->accesos = $acceso->getListadoAcceso($usuario->id, 'todos', 'order.fecha.desc');
     $this->usuario = $usuario;
     $this->page_title = 'Información del usuario';
 }
 /**
  * Método para resetear las configuraciones del sistema
  * @return type
  */
 public function reset()
 {
     try {
         if (Sistema::reset()) {
             DwMessage::valid('El sistema se ha reseteado correctamente!');
         }
     } catch (KumbiaException $e) {
         DwMessage::error('Se ha producido un error al resetear la configuración del sistema.');
     }
     return DwRedirect::toAction('index');
 }
Exemplo n.º 25
0
 /**
  * Método para restaurar el sistema
  * @param type $id
  */
 public static function restoreBackup($id, $path = '')
 {
     $id = Filter::get($id, 'int');
     if (empty($id)) {
         return FALSE;
     }
     $obj = new Backup();
     if (!$obj->find_first($id)) {
         DwMessage::get('id_no_found');
         return FALSE;
     }
     if (empty($path)) {
         $path = APP_PATH . 'temp/backup/';
     }
     $file = $path . $obj->archivo;
     if (!is_file($file)) {
         DwMessage::error('Error: BKP-RES001. Se ha producido un error en la restauración del sistema. <br />No se pudo localizar el archivo de restaruación.');
         return FALSE;
     }
     //Almaceno las copias de seguridad anteriores
     $old_backup = $obj->find('order: registrado_at ASC');
     $system = $obj->_getSystem(TRUE);
     //Verifico el sistema operativo para la restauración
     $database = Config::get('config.application.database');
     //tomo el entorno actual
     $config = $obj->_getConfig($database);
     //Tomo la configuración de conexión
     $exec = "gunzip < {$file} | {$system} -h " . $config['host'] . " -u " . $config['username'] . " --password="******" " . $config['name'];
     system($exec, $result);
     if (!$result) {
         //Inserto los backups anteriores
         foreach ($old_backup as $backup) {
             if ($backup->id >= $obj->id) {
                 $obj->sql("REPLACE INTO `backup` (`id`,`usuario_id`,`denominacion`,`tamano`,`archivo`,`registrado_at`) VALUES ('{$backup->id}', '{$backup->usuario_id}', '{$backup->denominacion}', '{$backup->tamano}', '{$backup->archivo}', '{$backup->registrado_at}')");
             }
         }
         if ($obj) {
             DwAudit::debug("Se ha restaurado el sistema con la copia de seguridad: {$obj->denominacion}");
         }
         return $obj ? $obj : FALSE;
     }
     return FALSE;
 }
Exemplo n.º 26
0
 /**
  * Método para eliminar
  */
 public function eliminar($key)
 {
     if (!($id = DwSecurity::isValidKey($key, 'eliminar_recurso', 'int'))) {
         return DwRedirect::toAction('listar');
     }
     $recurso = new Recurso();
     if (!$recurso->find_first($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('listar');
     }
     try {
         if ($recurso->delete()) {
             DwMessage::valid('El recurso se ha eliminado correctamente!');
         } else {
             DwMessage::warning('Lo sentimos, pero este recurso no se puede eliminar.');
         }
     } catch (KumbiaException $e) {
         DwMessage::error('Este recurso no se puede eliminar porque se encuentra relacionado con otro registro.');
     }
     return DwRedirect::toAction('listar');
 }
Exemplo n.º 27
0
 /**
  * Método para eliminar
  */
 public function eliminar($key)
 {
     if (!($id = DwSecurity::isValidKey($key, 'del_profesion', 'int'))) {
         return DwRedirect::toAction('listar');
     }
     $profesion = new Profesion();
     if (!$profesion->getInformacionProfesion($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('listar');
     }
     try {
         if (Profesion::setProfesion('delete', array('id' => $profesion->id))) {
             DwMessage::valid('La profesion se ha eliminado correctamente!');
         }
     } catch (KumbiaException $e) {
         DwMessage::error('Esta profesion no se puede eliminar porque se encuentra relacionada con otro registro.');
     }
     return DwRedirect::toAction('listar');
 }
 /**
  * Método para eliminar
  */
 public function eliminar($key)
 {
     if (!($id = DwSecurity::isValidKey($key, 'del_tiposolicitud', 'int'))) {
         return DwRedirect::toAction('listar');
     }
     $tiposolicitud = new tiposolicitud();
     if (!$tiposolicitud->getInformaciontiposolicitud($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('listar');
     }
     try {
         if (tiposolicitud::settiposolicitud('delete', array('id' => $tiposolicitud->id))) {
             DwMessage::valid('El tipo solicitud se ha eliminado correctamente!');
         }
     } catch (KumbiaException $e) {
         DwMessage::error('Esta tipo de solicitud no se puede eliminar porque se encuentra relacionada con otro registro.');
     }
     return DwRedirect::toAction('listar');
 }
Exemplo n.º 29
0
 /**
  * Método para eliminar
  */
 public function eliminar($key)
 {
     if (!($id = DwSecurity::isValidKey($key, 'del_sucursal', 'int'))) {
         return DwRedirect::toAction('listar');
     }
     $sucursal = new Sucursal();
     if (!$sucursal->getInformacionSucursal($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('listar');
     }
     try {
         if (Sucursal::setSucursal('delete', array('id' => $sucursal->id))) {
             DwMessage::valid('La sucursal se ha eliminado correctamente!');
         }
     } catch (KumbiaException $e) {
         DwMessage::error('Esta sucursal no se puede eliminar porque se encuentra relacionada con otro registro.');
     }
     return DwRedirect::toAction('listar');
 }
Exemplo n.º 30
0
 /**
  * Callback que se ejecuta antes de guardar/modificar
  */
 public function before_save()
 {
     $this->perfil = Filter::get($this->perfil, 'string');
     $this->plantilla = Filter::get($this->plantilla, 'string');
     $this->plantilla = !empty($this->plantilla) ? DwUtils::getSlug($this->plantilla, '_') : 'default';
     if (!empty($this->id)) {
         if ($this->id == Perfil::SUPER_USUARIO) {
             DwMessage::warning('Lo sentimos, pero este perfil no se puede editar.');
             return 'cancel';
         }
     }
     $path = APP_PATH . 'views/_shared/templates/backend/' . $this->plantilla . '.phtml';
     //Verifico si se encuentra el template
     if (!is_file($path)) {
         DwMessage::error('Lo sentimos, pero no hemos podidio ubicar la plantilla ' . $this->plantilla);
         return 'cancel';
     }
 }