<?php

class Veiculos extends CI_Controller {
    private $modelPagina = 'veiculos_model';
    const TBL_008_VEICULOS = 'tbl_008_veiculos';

    const TODOS_CAMPOS = '*';

    function __construct() {
        parent::__construct();
        $this->load->helper(get_helpers_paginas());
        ValidacaoUtils::verificarLoginUtils($this->session);
        ValidacaoUtils::nivelTemAcessoPermitido($this->session->userdata('nivel'), $this->router->class);
        ValidacaoUtils::carregarModelsPagina($this->modelPagina, $this);
    }

    function index() {
        $this->data['view'] = 'sistema/veiculos/listarVeiculos';
        $this->data['veiculos'] = $this->veiculos_model->get(self::TBL_008_VEICULOS, self::TODOS_CAMPOS);
        $this->load->view(DadosPaginas::PG_TOPO_SISTEMA, $this->data);
    }

    public function adicionar() {
        $this->load->library(DadosPaginas::FORM_VALIDATION);
        $this->data['custom_error'] = '';

        if ($this->form_validation->run('veiculos') == false) {
            $this->data['custom_error'] = (validation_errors() ? true : false);
        } else {
            $this->load->library('encrypt');
            $cpfSemMascara = $cpf = preg_replace("/\D+/", "", $this->input->post('cpfFuncionario'));
            $data = array(
                'dataEntrada' => ValidacaoUtils::validarData($this->input->post('dataEntrada')),
                'dataNascimento' => ValidacaoUtils::validarData($this->input->post('dataNascimento')),
                'dataProximaFerias' => ValidacaoUtils::validarData($this->input->post('dataProximaFerias')),
                'nomeFuncionario' => $this->input->post('nomeFuncionario'),
                'sobreNome' => $this->input->post('sobreNome'),
                'cpfFuncionario' => $cpfSemMascara,
                'rgFuncionario' => $this->input->post('rgFuncionario'),
                'orgaoEmissorRgFuncionario' => $this->input->post('orgaoEmissorRgFuncionario'),
                'matricula' => $this->input->post('matricula'),
                'funcao' => $this->input->post('funcao'),
                'endereco' => $this->input->post('endereco'),
                'bairro' => $this->input->post('bairro'),
                'cidade' => $this->input->post('cidade'),
                'uf' => $this->input->post('uf'),
                'cep' => $this->input->post('cep'),
                'telCelular' => $this->input->post('telCelular'),
                'telResidencial' => $this->input->post('telResidencial'),
                'telRecados' => $this->input->post('telRecados'),
                'jornada' => $this->input->post('jornada'),
                'situacao' => $this->input->post('situacao'),
                'grauInstrucao' => $this->input->post('grauInstrucao'),
                'sexo' => $this->input->post('sexo'),

                // Dados de Login
                'email' => $this->input->post('email'),
                'senha' => $this->encrypt->sha1($this->input->post('senha')),

                'estadoCivil' => $this->input->post('estadoCivil')

            );

            if (is_numeric($id = $this->funcionario_model->add('funcionario', $data, true))) {
                $this->adicionarImagem($id, 'imagemFuncionario', $this->input->post('funcao'));
                $this->session->set_flashdata('success', 'Funcionario cadastrada com sucesso.');

            } else {
                $this->data['custom_error'] = '<div class="form_error"><p>Ocorreu um erro.</p></div>';
            }
            redirect('funcionario/gerenciar');
        }

        $this->data['view'] = 'sistema/veiculos/adicionarVeiculo';
        $this->load->view(DadosPaginas::PG_TOPO_SISTEMA, $this->data);
    }

    public function autoCompleteVeiculo() {
        if (isset($_GET['term'])) {
            $q = strtolower($_GET['term']);
            $this->veiculos_model->autoCompleteVeiculo($q);
        }
    }
}