<?php
defined('BASEPATH') or exit('No direct script access allowed');

class Generos extends CI_Controller
{

    public function __construct()
    {
        parent::__construct();
        $this->load->model("Generos_model");
        if (!$this->session->userdata("login")) {
            redirect(base_url() . "cpanel");
        }
    }

    public function index()
    {
        $contenido_interno = array(
            'Generos' => $this->Generos_model->getGeneros(),
        );

        $contenido_exterior = array(
            'title'     => 'Generos',
            'contenido' => $this->load->view('backend/Generos/index', $contenido_interno, true),
        );

        $this->load->view('backend/template', $contenido_exterior);
    }

    public function add()
    {
        $data = array(
            'title'     => 'Agregar Genero',
            'contenido' => $this->load->view('backend/Generos/add', '', true),
        );

        $this->load->view('backend/template', $data);
    }

    public function store()
    {
        $nombre = $this->input->post("nombre");

        $this->form_validation->set_rules('nombre', 'Nombre', 'trim|required|is_unique[Generos.nombre]', array('required' => 'Debes proporcionar un %s.', 'is_unique' => 'Este %s ya existe'));
        $this->form_validation->set_error_delimiters('<span class="help-block">', '</span>');

        if ($this->form_validation->run() == false) {
            $this->add();
        } else {
            $datos = [
                "nombre" => $nombre,
            ];
            if ($this->Generos_model->guardar($datos)) {
                //$this->session->set_flashdata("msg_success","La categoria ".$nombre." ha sido registrado");
                redirect(base_url() . "backend/Generos");
            } else {
                //$this->session->set_flashdata("msg_error","La categoria ".$name." no pudo registrarse");
                redirect(base_url() . "backend/Generos/add");
            }
        }
    }

    public function edit($idGenero)
    {
        $contenido_interno = array(
            'Genero' => $this->Generos_model->getGenero($idGenero),
        );

        $contenido_exterior = array(
            'title'     => 'Editar Genero',
            'contenido' => $this->load->view('backend/Generos/edit', $contenido_interno, true),
        );

        $this->load->view('backend/template', $contenido_exterior);
    }

    public function update()
    {
        $idGenero = $this->input->post("idGenero");
        $nombre     = $this->input->post("nombre");

        $Genero_actual = $this->Generos_model->getGenero($idGenero);

        if ($nombre != $Genero_actual->nombre) {
            $is_unique = '|is_unique[Generos.nombre]';
        } else {
            $is_unique = '';
        }

        $this->form_validation->set_rules('nombre', 'Nombre', 'trim|required' . $is_unique, array('required' => 'Debes proporcionar un %s.', 'is_unique' => 'Este %s ya existe'));
        $this->form_validation->set_error_delimiters('<span class="help-block">', '</span>');

        if ($this->form_validation->run() == false) {
            $this->edit($idGenero);
        } else {
            $datos = [
                "nombre" => $nombre,
            ];
            if ($this->Generos_model->update($idGenero, $datos)) {
                //$this->session->set_flashdata("msg_success","La informacion de la categoria  ".$name." se actualizo correctamente");
                redirect(base_url() . "backend/Generos");
            } else {
                //$this->session->set_flashdata("msg_error","La informacion de la categoria ".$name." no pudo actualizarse");
                redirect(base_url() . "backend/Generos/edit/" . $idarea);
            }
        }

    }

    public function delete($idarea)
    {
        if ($this->Generos_model->delete($idarea)) {
            //$this->session->set_flashdata("msg_success","La categoria se elimino correctamente");
            echo "Generos";
        } else {
            //$this->session->set_flashdata("msg_error","No se pudo eliminar la categoria");
            redirect(base_url() . "backend/Generos");
        }
    }

}
