<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Sistema_model
 *
 * @author Developer
 */
class Sistema_model extends MY_Model {

	protected $_table ;
	private $_primary_key;

	public function __construct() {
		parent::__construct();
		$this->load->database();
	}


	public function crear_modulo($data)
	{
		$this->_table = 'evi10modulos';
		if(!is_int($this->insert($data))) {
			return false;
		}
		return true;
	}

	public function crear_permisos_modulo($nom_modulo)
	{
		$this->load->model('permisos/Permiso');
		$acciones = ['listar', 'editar', 'ver', 'crear', 'borrar', 'activar'];
		for ($i=0; $i < count($acciones); $i++) { 
			$accion =  $acciones[$i];
			$nombre_permiso = $nom_modulo.'_'.$accion;
			$validador =   $this->Permiso->get_by_permiso($nombre_permiso);
			if(!$validador) {
				$data = [
					'TEX_NOMPERMI'=> $nom_modulo.'_'.$accion,
					'TEX_MODULO'=> $nom_modulo,
					'TIPO_ACCION'=> $accion,
					'TEX_LABEL'=> ucfirst($accion),
					'COD_CREAUSU'=> 1,
					'FEC_CREACION'=> date('Y-m-d H:i:s'),
					'TEX_CREANOTA'=> 1,
					'IS_SISTEMA'=> 1,
				];
				$this->Permiso->insert($data);
			}
		}	
	}

    /**
     * Para editar el campo de una tabla. 
     * 
     * @param type @table Tabla
     * @param type @table_id Id a editar
     * @param type @id Id primaria
     * @param type $data datos
     * @return boolean
     */
    public function edit($id, $data) {
    	$this->db->where($this->_primary_key, $id);
    	if ($this->db->update($this->_table, $data)):
    		return true;
    	else:
    		return false;
    	endif;
    }

 }
