<?php if ( ! defined('BASEPATH')) exit('No esta permitido el acceso directo al script');
/*Mauricio García - garmauco@gmail.com, developer@3mas1r.com*/
class Certificado_laboral extends CI_Controller{
    var $page = "certificado_laboral";
	public function __construct()
	{
		/*Cargamos los metodos asociados a la clase CI_Controller, por medio de una inyección de dependencias*/
		parent:: __construct();
        $this->load->model('Certificado_laboral_model');
        // Cargamos la librería que creamos y llama a dompdf
        $this->load->library('Pdfgenerator');

       if( !$this->session->userdata('isLoggedIn') ) {
          redirect('login');
       }
       else{
           $this->load->model('Usuario_model');

           $this->Usuario_model->last_activity($this->session->userdata('nombre_usuario'));
       }

	}

	public function index()
	{
    $rol=$this->Usuario_model->usuario_rol($this->session->userdata('documento'));
    /*
    if ($rol > MODULE_CERTIFICADO){
      redirect('dashboard');
    }
    */
	  	$this->show_form();
	}
/*
    public function add(){
        $id=NULL;
        $this->form_validation->set_rules('usuario', 'Usuario', 'required|trim');
        $this->form_validation->set_rules('fecha_expedicion', 'Fecha de Expedición del Certificado', 'required|trim');
        $this->form_validation->set_rules('ciudad_expedicion', 'Ciudad de Expedición del Certificado', 'required|trim');

        if ($this->form_validation->run() == FALSE){
    	   $this->show_form(NULL,'index');
    	}
        else{
            $data = $this->input->post();
            $usuario = $data['usuario'];
            $fecha_expedicion = $data['fecha_expedicion'];
            $ciudad_expedicion = $data['ciudad_expedicion'];
            $representante_legal = $data['representante_legal'];

            $idv=$this->Certificado_laboral_model->add($usuario,$fecha_expedicion,$ciudad_expedicion,$representante_legal);

            if ($idv == 0){
                $this->session->set_flashdata('error_msg', 'Ocurrio un error al guardar el registro, intentelo nuevamente');
                redirect('/'.$this->page, 'refresh');
            }
            else{
            // definamos un nombre para el archivo
            $this->session->set_flashdata('success_msg', 'El Registro se Guardo exitosamente');
            redirect('/'.$this->page.'/edit/'.$idv, 'refresh');

            }
        }
    }

    public function delete($id = NULL){
        if ($id != NULL){
            $this->Certificado_laboral_model->delete($id);
        }
        redirect('/'.$this->page, 'refresh');
    }

    public function edit($id = NULL){
        if ($id != NULL){
            $this->show_form('1','edit', $id);
        }
        else{
            redirect('/'.$this->page, 'refresh');
        }
    }
*/
    /*funcion que muestra el formulario y los errores de validación*/
    public function show_form($model = NULL, $page='index', $id = NULL){
        if ($model != NULL){
           $data['certificado'] = $this->Certificado_laboral_model->edit($id);
        }
        if ($page == "index"){
            $data['representante_legal'] = $this->Certificado_laboral_model->parametros('1');
            $data['ciudad_expedicion'] = $this->Certificado_laboral_model->parametros('2');
        }
        $data['empresas'] = $this->Certificado_laboral_model->empresas();
        $data['usuarios'] = $this->Certificado_laboral_model->usuarios();

        $data['modalDelete'] ='Active';/*Vista usada para la confirmacion de eliminación de un registro*/
        $data['content'] = $this->page."/".$page;
        $data['pagination'] = NULL;
        $data['title_page'] = "Gestión de Certificados Laborales";

        $this->load->view("templates/layout", $data);

    }


	  /*Actualizar información del Registro*/
    public function pdf(){
        $data = $this->input->post();
        //$id = $data['id'];
        
        $usuario = $data['usuario'];
        if ($this->session->userdata('rol') == 3 ){
            $usuario = $this->session->userdata('id');
        }
        $fecha_expedicion = $data['fecha_expedicion'];
        $ciudad_expedicion = $data['ciudad_expedicion'];
        $representante_legal = $data['representante_legal'];
        
        
        $this->form_validation->set_rules('usuario', 'Usuario', 'required|trim');
        
        $this->form_validation->set_rules('fecha_expedicion', 'Fecha de Expedición del Certificado', 'required|trim');
        $this->form_validation->set_rules('ciudad_expedicion', 'Ciudad de Expedición del Certificado', 'required|trim');

        if ($this->form_validation->run() == FALSE){
           $this->show_form(NULL,'index');
        }
        else{
            $data['smlv'] = $this->Certificado_laboral_model->smlv();
            $data['datos_exp']=$this->Certificado_laboral_model->data_pdf_exp($usuario);
            $data['datos']=$this->Certificado_laboral_model->data_pdf($usuario);
            

            $filename = 'Certificado_laboral';
            // generamos el PDF. Pasemos por encima de la configuración general y definamos otro tipo de papel..
            $html = $this->load->view('pdf_exports/genera_pdf_certificados', $data, TRUE);
            $this->pdfgenerator->generate($html, $filename, true, 'Letter', 'portrait');

        }
    }
    /*Obtenemos todos los registros y los convertimos a formato json para usarlos en Angular*/
    public function pagination(){
        //header('Content-Type: application/json');
        $list = $this->Certificado_laboral_model->get_all();
        echo json_encode($list);

    }
}
?>
