<?php

/**
 * This is the model base class for the table "sugestoes".
 * DO NOT MODIFY THIS FILE! It is automatically generated by giix.
 * If any changes are necessary, you must set or override the required
 * property or method in class "Sugestoes".
 *
 * Columns in table "sugestoes" available as properties of the model,
 * and there are no model relations.
 *
 * @property integer $SUG_IDSUGESTAO
 * @property string $SUG_DESCRICAO
 * @property string $SUG_DTCADASTRO
 * @property integer $SUG_IDFUNCIONARIO
 * @property integer $SUG_IDCLIENTE
 * @property integer $SUG_IDPRODUTO
 * @property integer $SUG_IDFORMULARIO
 * @property string $SUG_TIPO
 * @property string $SUG_OBSERVACOES
 * @property string $SUG_RESPOSTA
 * @property string $SUG_SITUACAO
 *
 */
class Sugestoes extends GxActiveRecord {

	public static function model($className = __CLASS__) {
		return parent::model($className);
	}

	public function tableName() {
		return 'sugestoes';
	}

	public static function label($n = 1) {
		return Yii::t('app', 'Sugestão|Sugestões', $n);
	}

	public static function representingColumn() {
		return 'SUG_DESCRICAO';
	}

	public function behaviors() {
		return array('datetimeI18NBehavior' => array('class' => 'ext.DateTimeI18NBehavior'));
	}

	public function rules() {
		return array(
			array('SUG_DESCRICAO,SUG_IDFUNCIONARIO,SUG_TIPO,SUG_OBSERVACOES', 'required'),
			array('SUG_IDFUNCIONARIO, SUG_IDCLIENTE, SUG_IDPRODUTO, SUG_IDFORMULARIO', 'numerical', 'integerOnly' => true),
			array('SUG_DESCRICAO', 'length', 'max' => 50),
			array('SUG_TIPO, SUG_SITUACAO', 'length', 'max' => 1),
			array('SUG_DTCADASTRO', 'default', 'value' => date('d/m/Y'), 'setOnEmpty' => false, 'on'=> 'insert'),
			array('SUG_DTCADASTRO, SUG_OBSERVACOES, SUG_RESPOSTA', 'safe'),
			array('SUG_DESCRICAO, SUG_DTCADASTRO, SUG_IDFUNCIONARIO, SUG_IDCLIENTE, SUG_IDPRODUTO, SUG_IDFORMULARIO, SUG_TIPO, SUG_OBSERVACOES, SUG_RESPOSTA, SUG_SITUACAO', 'default', 'setOnEmpty' => true, 'value'      => null),
			array('SUG_IDSUGESTAO, SUG_DESCRICAO, SUG_DTCADASTRO, SUG_IDFUNCIONARIO, SUG_IDCLIENTE, SUG_IDPRODUTO, SUG_IDFORMULARIO, SUG_TIPO, SUG_OBSERVACOES, SUG_RESPOSTA, SUG_SITUACAO', 'safe', 'on' => 'search'),
		);
	}

	public function relations() {
		return array(
			'funcionarios' => array(self::HAS_MANY, 'funcionarios', 'FUN_IDFUNCIONARIO', 'joinType' => 'LEFT JOIN'),
			'modulos'      => array(self::HAS_MANY, 'modulos', 'MOD_IDMODULO', 'joinType'      => 'LEFT JOIN'),
			'formularios'  => array(self::HAS_MANY, 'formularios', 'FRM_IDFORMULARIO', 'joinType'  => 'LEFT JOIN'),
		);
	}

	public function pivotModels() {
		return array(
		);
	}

	public function attributeLabels() {
		return array(
			'SUG_IDSUGESTAO'    => 'Código',
			'SUG_DESCRICAO'     => 'Descrição',
			'SUG_DTCADASTRO'    => 'Data',
			'SUG_IDFUNCIONARIO' => 'Funcionário',
			'SUG_IDCLIENTE'     => 'Cliente',
			'SUG_IDPRODUTO'     => 'Produto',
			'SUG_IDFORMULARIO'  => 'Formulário',
			'SUG_TIPO'          => 'Tipo',
			'SUG_OBSERVACOES'   => 'Observações',
			'SUG_RESPOSTA'      => 'Resposta',
			'SUG_SITUACAO'      => 'Situação',
		);
	}

	public function search() {
		$criteria = new CDbCriteria;

		$criteria->compare('SUG_IDSUGESTAO', $this->SUG_IDSUGESTAO);
		$criteria->compare('SUG_DESCRICAO', utf8_decode($this->SUG_DESCRICAO), true);
		$criteria->compare('SUG_DTCADASTRO', $this->SUG_DTCADASTRO, true);
		$criteria->compare('SUG_IDFUNCIONARIO', $this->SUG_IDFUNCIONARIO);
		$criteria->compare('SUG_IDCLIENTE', $this->SUG_IDCLIENTE);
		$criteria->compare('SUG_IDPRODUTO', $this->SUG_IDPRODUTO);
		$criteria->compare('SUG_IDFORMULARIO', $this->SUG_IDFORMULARIO);
		$criteria->compare('SUG_TIPO', $this->SUG_TIPO, true);
		$criteria->compare('SUG_OBSERVACOES', utf8_decode($this->SUG_OBSERVACOES), true);
		$criteria->compare('SUG_RESPOSTA', $this->SUG_RESPOSTA, true);
		$criteria->compare('SUG_SITUACAO', $this->SUG_SITUACAO, true);

		return new CActiveDataProvider($this, array(
				'criteria' 		=> $criteria,
				'sort' 			=> array('defaultOrder' => 'SUG_DTCADASTRO DESC'),
				'pagination'	=> array('pageSize' => 20)
			)
		);
	}
}