/**
  * 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';
 }
 /**
  * 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/');
 }
示例#3
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 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';
 }
示例#6
0
 /**
  * Método para abrir y cerrar sesión
  * @param type $opt
  * @return boolean
  */
 public static function setSession($opt = 'open', $user = NULL, $pass = NULL, $mode = NULL)
 {
     if ($opt == 'close') {
         $usuario = Session::get('id');
         if (DwAuth::logout()) {
             //Registro la salida
             Acceso::setAcceso(Acceso::SALIDA, $usuario);
             return true;
         }
         DwMessage::error(DwAuth::getError());
     } else {
         if ($opt == 'open') {
             if (DwAuth::isLogged()) {
                 return true;
             } else {
                 if (DwForm::isValidToken()) {
                     if (DwAuth::login(array('login' => strtoupper($user)), array('password' => sha1(strtoupper($pass))), $mode)) {
                         $usuario = self::getUsuarioLogueado();
                         $usuval = UsuarioClave::clave_valida($usuario->id);
                         $usuintentos = self::usuario_intentos($usuario->id);
                         if ($usuario->estatus != 1) {
                             DwAuth::logout();
                             DwMessage::error('Lo sentimos pero tu cuenta se encuentra inactiva. <br />Si esta información es incorrecta contacta al administrador del sistema.');
                             return false;
                         }
                         if ($usuintentos == 2) {
                             // DwAuth::logout();
                             //Session::set('perfil_id', '8');
                             //Session::set('tema', 'default');
                             //Session::set('nombre1', $usuario->nombre1);
                             //Session::set('apellido1', $usuario->apellido1);
                             //return DwRedirect::to('sistema/usuario_clave/cambiar_clave');
                             //DwMessage::error('usuintentos. '.$usuintentos.'<br />Si esta información es incorrecta contacta al administrador del sistema.');
                         }
                         if ($usuval != 1) {
                             // DwAuth::logout();
                             Session::set('perfil_id', '8');
                             Session::set('tema', 'default');
                             Session::set('nombres', $usuario->nombres);
                             Session::set('apellidos', $usuario->apellidos);
                             return DwRedirect::to('sistema/usuario_clave/cambiar_clave');
                         }
                         Session::set('nombres', $usuario->nombres);
                         Session::set('apellidos', $usuario->apellidos);
                         Session::set('ip', DwUtils::getIp());
                         Session::set('perfil', $usuario->perfil);
                         Session::set('tema', $usuario->tema);
                         Session::set('app_ajax', $usuario->app_ajax);
                         //Registro el acceso
                         Acceso::setAcceso(Acceso::ENTRADA, $usuario->id);
                         DwMessage::info("¡ Bienvenido <strong>{$usuario->nombres} {$usuario->apellidos}</strong> !.");
                         return true;
                     } else {
                         DwMessage::error(DwAuth::getError());
                     }
                 } else {
                     DwMessage::info('La llave de acceso ha caducado. <br />Por favor ' . Html::link('sistema/login/entrar/', 'recarga la página <b>aquí</b>'));
                 }
             }
         } else {
             DwMessage::error('No se ha podido establecer la sesión actual.');
         }
     }
     return false;
 }
 /**
  * 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');
 }
 /**
  * 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');
 }
 /**
  * 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 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;
 }
 /**
  * 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;
 }
 public function index()
 {
     DwRedirect::to('dashboard');
 }
 /**
  * Método para eliminar
  */
 public function eliminar($key)
 {
     if (!($id = DwSecurity::isValidKey($key, 'del_solicitud_servicio', 'int'))) {
         return DwRedirect::toAction('listar');
     }
     $solicitud_servicio = new Mantenimientos();
     if (!$solicitud_servicio->getInformacionMantenimientos($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('listar');
     }
     try {
         if (Mantenimientos::setMantenimientos('delete', array('id' => $solicitud_servicio->id))) {
             DwMessage::valid('La solicitud se ha eliminado correctamente!');
         }
     } catch (KumbiaException $e) {
         DwMessage::error('Esta solicitud no se puede eliminar porque se encuentra relacionada con otro registro.');
     }
     return DwRedirect::toAction('listar');
 }
示例#14
0
 public static function foto($src, $alt = NULL, $attrs = NULL)
 {
     $usuario = new Usuario();
     if (!$usuario->getInformacionUsuario(Session::get('id'))) {
         DwMessage::get('id_no_found');
         return DwRedirect::to('dashboard');
     }
     $usuario->perfil = $perfil;
     $usuario->fotografia = $persona->fotografia;
     if (is_array($attrs)) {
         $attrs = Tag::getAttrs($attrs);
     }
     return '<img src="' . PUBLIC_PATH . "img/{$src}\" alt=\"{$alt}\" {$attrs} />";
 }
 /**
  * Método para optimizar tablas
  */
 public function optimizar($key)
 {
     if (!($tabla = DwSecurity::isValidKey($key, 'optimizar'))) {
         return DwRedirect::toAction('index');
     }
     try {
         $sistema = new Sistema();
         if ($sistema->getOptimizacion($tabla)) {
             DwMessage::valid("Se ha optimizado la tabla '{$tabla}' correctamente!");
         } else {
             DwMessage::error('Se ha presentado un error interno al optimizar la tabla. <br />Por favor intenta más tarde.');
         }
     } catch (KumbiaException $e) {
         DwMessage::error('Oops! hemos realizado algo mal. <br />Por favor intenta más tarde.');
     }
     return DwRedirect::toAction('index');
 }
示例#16
0
 /**
  * Método principal
  */
 public function index()
 {
     DwRedirect::toAction('listar');
 }
示例#17
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');
 }
 /**
  * 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');
 }
 /**
  * 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');
 }