<?php

/*
 * Copyright 2017-09-20  Cámara de Comercio de Santa Marta para el Magdalena.
 * Autor: Luis Montoya <lmontoya@ccsm.org.co at www.ccsm.org.co>.
 * Archivo: Menu.
 *
 * Licenciado bajo la Licencia Apache, VersiÃ³n 2.0;
 * Usted no puede usar este archivo excepto en conformidad con la Licencia.
 * Usted puede obtener una copia de la Licencia en
 *
 *   	http://www.apache.org/licenses/LICENSE-2.0
 *
 * A menos que sea requerido por la ley aplicable o acordado por escrito, el software
 * Distribuido bajo la licencia se distribuye en una "AS IS" o  "COMO ESTA" BASE,
 * SIN GARANTÃ�AS NI CONDICIONES DE NINGÃšN TIPO, expresas o implÃ­citas.
 * Consulte la Licencia para los permisos y Limitaciones bajo la Licencia.
 */

/**
 * Description of Menu
 *
 * @author Luis Montoya <lmontoya@ccsm.org.co at www.ccsm.org.co>
 */
class UsuariosControlador extends Controladores {
    
    function mostrarTodos() {
        Vistas::mostrar('usuarios', 'usuarios/listado');
    }
    
    function tablaListado() {
        $usuarios = Usuarios::todos();
        Vistas::mostrar(
            'usuarios','usuarios/tbl-usuarios',
            array('usuarios' => $usuarios)
        );
    }
    
     function tablaPermisos() {
        $ControlOperaciones = null;
        if(!empty($this->usuarioID)){
            $ControlOperaciones = Usuarios::permisos($this->usuarioID);
        }
        Vistas::mostrar('administrador', 'controloperaciones/tbl-todos', 
            array( 'ControlOperaciones' => $ControlOperaciones)
        );
    }
    
    function tablaRoles() {
        $Roles = array();
        if(empty($this->usuariosID)):
            $Roles = Usuarios::roles($this->usuarioID);
        endif;
        Vistas::mostrar('usuarios', 'roles/tbl-todos-sencilla', 
            array( 'Roles' => $Roles)
        );
    }
    
    public function cambiarClave(){
        $usuario = Usuarios::porIdporContrasena(Cliente::dato('usuarioID') ,$this->contrasenaActual);
        if(isset($usuario)){
            $usuario = Usuarios::actualizarClave($this->contrasenaNueva, Cliente::dato('usuarioID'));
            echo RespuestasSistema::exito('la contraseña se ha actualizado de manera exitosa');
        }else{
            echo RespuestasSistema::error('la contraseña no coincide con el usuario solicitado');
        }
    }
    
    function mostrarFormularioNuevo() {
        $this->mostrarFormulario();
    }
    
    function mostrarFormularioEditar() {
        $usuarios = AfiliadosBeneficios::datos($this->beneficioID);
        $this->mostrarFormulario($BeneficioAfiliado);
    }
    
    private function mostrarFormulario($usuarios = null) {
        Vistas::mostrar('usuarios','usuarios/form-usuarios', array('usuarios'=> $usuarios) );
    }
    
     /**
     * Cambiar el estado de un registro de la base de datos.
     * Esta operacion cambia a estado ACTIVO el registro.     
     * @return RespuestasSistema Resultado de la Operacion
     */
    function reactivar() {
        $UsuariosApiParaActivar  = $this->checkUsuarios;
        if (count($UsuariosApiParaActivar)) {
            $n = 0;
            foreach ($UsuariosApiParaActivar as $usuarioACTIVAR):
                if (Usuarios::activar($usuarioACTIVAR)) {
                    $n++;
                }
            endforeach;
            if ($n == 0) {
                echo RespuestasSistema::error('No fue posible REACTIVAR. Contacte al centro TICS.');
            } else if ($n == count($UsuariosApiParaActivar)) {
                echo RespuestasSistema::exito('Se realizó la OPERACION [REACTIVAR] exitosamente!');
            } else {
                echo RespuestasSistema::error('Hubo un error al  [REACTIVAR] alguno de los registros. Verifica los datos, o contacta al centro TICS.');
            }
        } else {
            echo RespuestasSistema::error('No llegarón los datos para  [REACTIVAR]. Contacta al centro TICS');
        }
    }
    /**
     * Cambiar el estado de un registro de la base de datos.
     * Esta operacion cambia a estado DESACTIVO / SUSPENDIDO / CANCELADO el registro.     
     * @return RespuestasSistema Resultado de la Operacion
     */
    function desactivar() {
        $UsuariosApiParaDesactivar = $this->checkUsuarios;
        if (count($UsuariosApiParaDesactivar)) {
            $n = 0;
            foreach ($UsuariosApiParaDesactivar as $usuarioDESACTIVAR):
                if (Usuarios::desactivar($usuarioDESACTIVAR)) {
                    $n++;
                }
            endforeach;
            if ($n == 0) {
                echo RespuestasSistema::error('No fue posible DESACTIVAR. Contacte al centro TICS.');
            } else if ($n == count($UsuariosApiParaDesactivar)) {
                echo RespuestasSistema::exito('Se realizó la OPERACION [DESACTIVAR] exitosamente!');
            } else {
                echo RespuestasSistema::error('Hubo un error al  [DESACTIVAR] alguno de los registros. Verifica los datos, o contacta al centro TICS.');
            }
        } else {
            echo RespuestasSistema::error('No llegarón los datos para  [DESACTIVAR]. Contacta al centro TICS');
        }
    }
    
}
