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

class Especificacoes extends AdminController
{
    public function __construct()
    {
        parent::__construct();
        $this->load->model('especificacoes_model');
        $this->load->model('item_groups_model');
        if (!is_admin()) {
            access_denied('especificacoes');
        }
    }

    public function index()
    {
        if ($this->input->is_ajax_request()) {
            $this->app->get_table_data('especificacoes');
        }
        $data['title'] = _l('especificacoes');
        $data['item_groups'] = $this->item_groups_model->get();
        $this->load->view('admin/especificacoes/manage', $data);
    }

    public function especificacao($id = '')
    {
        if ($this->input->post() && !$this->input->is_ajax_request()) {
            $post = $this->input->post();
            if ($id == '') {
                $id = $this->especificacoes_model->add($post);
                if ($id) {
                    set_alert('success', _l('added_successfully', _l('especificacao')));
                    redirect(admin_url('especificacoes'));
                }
                set_alert('danger', _l('problem_adding', _l('especificacao')));
                redirect(admin_url('especificacoes/especificacao'));
            } else {
                $updated = $this->especificacoes_model->edit($id, $post);
                if ($updated) {
                    set_alert('success', _l('updated_successfully', _l('especificacao')));
                } else {
                    set_alert('danger', _l('problem_updating', _l('especificacao')));
                }
                redirect(admin_url('especificacoes/especificacao/' . $id));
            }
        }

        if ($id != '') {
            $data['especificacao'] = $this->especificacoes_model->get($id);
            if (!$data['especificacao']) {
                set_alert('warning', _l('especificacao_not_found'));
                redirect(admin_url('especificacoes'));
            }
            $title = _l('edit_especificacao');
        } else {
            $title = _l('new_especificacao');
        }

        $data['title']       = $title;
        $data['item_groups'] = $this->item_groups_model->get();
        $this->load->view('admin/especificacoes/especificacao', $data);
    }

    public function delete($id)
    {
        $rec = $this->especificacoes_model->get($id);
        if (!$rec) {
            set_alert('warning', _l('especificacao_not_found'));
            redirect(admin_url('especificacoes'));
        }
        $deleted = $this->especificacoes_model->delete($id);
        if ($deleted) {
            set_alert('success', _l('deleted', _l('especificacao')));
        } else {
            set_alert('danger', _l('problem_deleting', _l('especificacao')));
        }
        redirect(admin_url('especificacoes'));
    }
}