usuarios.php 10.7 KB
<?php

include_once 'sesiones/session_admin.php';

class Usuarios extends Controller{

    function __construct(){
        parent::__construct();
   
    }

    function render(){ 

        $usuarios=$this->model->get();
        $this->view->usuarios=$usuarios;
        $this->view->render('usuarios/index');

    }
    
    //vista de agregar
    function viewAdd(){ 

        $paises=$this->model->getCatalogo("pais");
        $this->view->paises=$paises;

        $perfiles=$this->model->getPerfil();
        $this->view->perfiles=$perfiles;

        $tipos_documento=$this->model->getCatalogo("documento_identidad_tipo");
        $this->view->tipos_documento=$tipos_documento;

        $roles=$this->model->getCatalogo('rol');
        $this->view->roles=$roles;

        $this->view->render('usuarios/viewAdd');
    }

    //vista de editar datos personales de Usuario
    function viewEdit($param = null){ 

        $id_persona=$param[0];
        $this->view->id_persona=$id_persona;

        $persona=$this->model->getbyID($id_persona);
        $this->view->persona=$persona;

        $paises=$this->model->getCatalogo("pais");
        $this->view->paises=$paises;

        $tipos_documento=$this->model->getCatalogo("documento_identidad_tipo");
        $this->view->tipos_documento=$tipos_documento;

        $this->view->render('usuarios/viewEdit');
    }

        //vista de editar usuario complento y clave
        function viewEditUser($param = null){ 

            $id_persona=$param[0];
            $this->view->id_persona=$id_persona;
    
            $persona=$this->model->getbyID($id_persona);
            $this->view->persona=$persona;
            //trae informacion de usuario
            $informacion_u = $this->model->getbyIdUsuarioInfoU($id_persona);
            $this->view->informacion_u = $informacion_u;
    
            $j=1;
            foreach($informacion_u as $row){
                $roles_u=new Arcu();
                $roles_u=$row;
                $rol_u = $this->model->getRolbyID($id_persona, $roles_u->id_rol);
    
                $rol[$j]=[
                    'id_usuario'.$j=>$rol_u->id_usuario,
                    'id_rol'.$j=>$rol_u->id_rol,
                    'rol'.$j=>$rol_u->rol
                ];
    
                $this->view->rol[$j]=$rol[$j];
                $j++;
    
            }
    
            $perfiles=$this->model->getPerfil();
            $this->view->perfiles=$perfiles;
    
            $roles=$this->model->getCatalogo('rol');
            $this->view->roles=$roles;
    
            $this->view->render('usuarios/viewEditUser');
        }

    //vista de ver detalle
    function viewDetail($param = null){ 

        $id_persona=$param[0];
        $this->view->id_persona=$id_persona;

        $persona=$this->model->getbyID($id_persona);
        $this->view->persona=$persona;
        
        //trae informacion de usuario
        $informacion_u = $this->model->getbyIdUsuarioInfoU($id_persona);
        $this->view->informacion_u = $informacion_u;

        $j=1;
        foreach($informacion_u as $row){
            $roles_u=new Arcu();
            $roles_u=$row;
            $rol_u = $this->model->getRolbyID($id_persona, $roles_u->id_rol);

            $rol[$j]=[
                'id_usuario'.$j=>$rol_u->id_usuario,
                'id_rol'.$j=>$rol_u->id_rol,
                'rol'.$j=>$rol_u->rol
            ];

            $this->view->rol[$j]=$rol[$j];
            $j++;

        }
        $paises=$this->model->getCatalogo("pais");
        $this->view->paises=$paises;

        $perfiles=$this->model->getPerfil();
        $this->view->perfiles=$perfiles;

        $tipos_documento=$this->model->getCatalogo("documento_identidad_tipo");
        $this->view->tipos_documento=$tipos_documento;

        $roles=$this->model->getCatalogo('rol');
        $this->view->roles=$roles;

        $this->view->render('usuarios/viewDetail');
    }



    //añadir usuario (datos personales y datos de usuario)
    function addUser(){ 

        //paso 1
        $tipo_documento=$_POST['tipo_documento'];
        $cedula=$_POST['cedula'];

        if($var=$this->model->existeI($cedula)){
            $mensaje='<div class="alert alert-danger icons-alert">
            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <i class="icofont icofont-close-line-circled"></i>
            </button>
            <p><strong>Error</strong> El Usuario con Identificación <code>' . $var . '</code> Ya Existe. Por Favor, Revise el Nro. de Identificación.</p>
            </div>';
            $this->view->mensaje=$mensaje;
            $this->viewAdd();
            exit();
        }

        $pnombre=$_POST['pnombre'];
        $snombre=$_POST['snombre'];
        $papellido=$_POST['papellido'];
        $sapellido=$_POST['sapellido'];
        $genero=$_POST['genero'];

        //paso 2
        $pais=$_POST['pais'];
        $ciudad=$_POST['ciudad'];
        $telefono=$_POST['telefono'];
         $correo=$_POST['correo'];

        
        if($var=$this->model->existe($correo)){
            $mensaje='<div class="alert alert-danger icons-alert">
            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <i class="icofont icofont-close-line-circled"></i>
            </button>
            <p><strong>Error</strong> El Usuario con Correo Institucional <code>' . $var . '</code> Ya Existe. Por Favor, Revise Nuevamente.</p>
            </div>';
            $this->view->mensaje=$mensaje;
            $this->viewAdd();
            exit();
        }

        //paso 3
        $perfil=$_POST['perfil'];
        $clave=$_POST['clave'];
        $rol=$_POST['rol'];

        if($this->model->insert([
            'tipo_documento'=>$tipo_documento,
            'cedula'=>$cedula,
            'pnombre'=>$pnombre,
            'snombre'=>$snombre,
            'papellido'=>$papellido,
            'sapellido'=>$sapellido,
            'genero'=>$genero,
            'pais'=>$pais,
            'ciudad'=>$ciudad,
            'telefono'=>$telefono,
            'correo'=>$correo,
            'perfil'=>$perfil,
            'clave'=>$clave,
            'rol'=>$rol
            ]))
        {
            $mensaje='<div class="alert alert-success icons-alert">
            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <i class="icofont icofont-close-line-circled"></i>
            </button>
            <p><strong>Exitoso!</strong>  <code style="color: green;"> Usuario Agregado</code> <strong>Correctamente</strong>.</p>
        </div>';
              
        }else{
            $mensaje='<div class="alert alert-danger icons-alert">
            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <i class="icofont icofont-close-line-circled"></i>
            </button>
            <p><strong>Error</strong> Al Intentar <code>Agregar el Usuario</code> Por Favor, Intentalo de Nuevo.</p>
        </div>';
            $this->view->mensaje=$mensaje;
            $this->viewAdd();
            exit();
        }
        $this->view->mensaje=$mensaje;
        $this->render();
    }

    //editar datos personales
    function editPerfil($param){ 

        $id_persona=$param[0];

        //paso 1
        $tipo_documento=$_POST['tipo_documento'];
        $cedula=$_POST['cedula'];
        $pnombre=$_POST['pnombre'];
        $snombre=$_POST['snombre'];
        $papellido=$_POST['papellido'];
        $sapellido=$_POST['sapellido'];
        $genero=$_POST['genero'];

        //paso 2
        $pais=$_POST['pais'];
        $ciudad=$_POST['ciudad'];
        $telefono=$_POST['telefono'];

      

        if($this->model->update([
            'tipo_documento'=>$tipo_documento,
            'cedula'=>$cedula,
            'pnombre'=>$pnombre,
            'snombre'=>$snombre,
            'papellido'=>$papellido,
            'sapellido'=>$sapellido,
            'genero'=>$genero,
            'pais'=>$pais,
            'ciudad'=>$ciudad,
            'telefono'=>$telefono,
            'id_persona'=>$id_persona
            ]))
        {
            $mensaje='<div class="alert alert-success icons-alert">
            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <i class="icofont icofont-close-line-circled"></i>
            </button>
            <p><strong>Exitoso!</strong>  <code style="color: green;"> Datos personales Modificados</code> <strong>Correctamente</strong>.</p>
        </div>';
              
        }else{
            $mensaje='<div class="alert alert-danger icons-alert">
            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <i class="icofont icofont-close-line-circled"></i>
            </button>
            <p><strong>Error</strong> Al Intentar <code>Editar los Datos Personales de Usuario</code> Por Favor, Intentalo de Nuevo.</p>
        </div>';
            $this->view->mensaje=$mensaje;
            $this->viewEdit($param);
            exit();
        }
        $this->view->mensaje=$mensaje;
        $this->render();
    }

//editar datos de usuario
function editUser($param){ 

    $id_persona=$param[0];

    //paso 3
    $usuario=$_POST['usuario'];
    $perfil=$_POST['perfil'];
    $estatus=$_POST['estatus'];
    $clave=$_POST['clave'];
    $rol=$_POST['rol'];

    if($this->model->updateUser([
        'usuario'=>$usuario,
        'perfil'=>$perfil,
        'rol'=>$rol,
        'estatus'=>$estatus,
        'clave'=>$clave,
        'id_persona'=>$id_persona
        ]))
    {
        $mensaje='<div class="alert alert-success icons-alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <i class="icofont icofont-close-line-circled"></i>
        </button>
        <p><strong>Exitoso!</strong>  <code style="color: green;"> Datos del Usuario Modificado</code> <strong>Correctamente</strong>.</p>
    </div>';
          
    }else{
        $mensaje='<div class="alert alert-danger icons-alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <i class="icofont icofont-close-line-circled"></i>
        </button>
        <p><strong>Error</strong> Al Intentar <code>Editar los datos del Usuario</code> Por Favor, Intentalo de Nuevo.</p>
    </div>';
        $this->view->mensaje=$mensaje;
        $this->viewEditUser($param);
        exit();
    }
    $this->view->mensaje=$mensaje;
    $this->render();
}


    // inicio combo dependiente ciudad
    function getCiudadesPais(){
        $id_pais=$_POST['pais'];
        $ciudades = $this->model->getCiudadesbyPais($id_pais);
        echo '<option value="">Seleccione</option>';
        foreach($ciudades as $row){
          $ciudad=new Arcu();
          $ciudad=$row;
          echo '<option value="'.$ciudad->id_ciudad.'">'.$ciudad->descripcion.'</option>';
        }
      }


}

?>