<?php

Goweb::loadClass('Goweb_Db_Model');

/**
 * Goweb Sitemanager 5 Framework
 * @version    5.0.0
 * @category   Frontoffice
 * @package    Sistema
 * @subpackage Model
 * @author     I&D <dev@goweb.pt>, Pedro Pinto <ppinto@goweb.pt>
 * @copyright  2009 (c) Goweb (http://www.goweb.pt)
 */
class Sistema_Model_Modulo extends Goweb_Db_Model {

    /**
     * Nome da Tabela
     *
     * @var string
     */
    protected $_table = 'sistema_modulo';

    /**
     * Chave Primaria
     *
     * @var string
     */
    protected $_primary = 'id';

    /**
     * Campo que sera retornado se um
     * echo do objecto for chamado
     *
     * @var string
     */
    protected $_toString = 'titulo';


    /**
     * Metodo obrigatorio. Informa a definicao da tabela
     * referente ao Model em questao.
     */
    protected function _setup() {
        //$this->id = $this->Auto();
        $this->initLang();
        $this->setSyncCols(array('menu', 'componente', 'pesquisa', 'permissao'));
        $this->nome = $this->Char(array('maxlength' => 50, 'notnull' => true, 'readonly' => true));
        $this->nome_traduzido = $this->Char(array('maxlength' => 50, 'notnull' => true));
        $this->titulo = $this->Char(array('maxlength' => 50, 'notnull' => true));
        $this->menu = $this->Boolean(array('default' => '1', 'label' => 'M&oacute;dulo P&uacute;blico'));
        $this->componente = $this->Boolean(array('default' => '1', 'label' => 'Pode ser componente'));
        $this->pesquisa = $this->Boolean(array('default' => '1', 'label' => 'Pode ser pesquis&aacute;vel'));
        $this->permissao = $this->Boolean(array('default' => '1', 'label' => 'Pertence ao sistema de permiss&otilde;es'));
        $this->hasMany('Sistema_Model_Permissao', 'modulo_id');
        $this->hasMany('Sistema_Model_Action', 'modulo_id');
    }
}
