<?php

/**
 * This is the model base class for the table "especificacao_funcional_nao_conformidade".
 * 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 "EspecificacaoFuncionalNaoConformidade".
 *
 * Columns in table "especificacao_funcional_nao_conformidade" available as properties of the model,
 * followed by relations of table "especificacao_funcional_nao_conformidade" available as properties of the model.
 *
 * @property integer $EFN_CODIGO
 * @property integer $EFN_IDESPECIFICACAO
 * @property string $EFN_NAOCONFORMIDADE
 * @property string $EFN_DESCRICAO
 *
 * @property EspecificacaoFuncional $EspecificacaoFuncional
 */
class EspecificacaoFuncionalNaoConformidade extends GxActiveRecord {

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

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

    public static function label($n = 1) {
        return Yii::t('app', 'Não Conformidade|Não Conformidades', $n);
    }

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

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

    public function rules() {
        return array(
            array('EFN_IDESPECIFICACAO, EFN_NAOCONFORMIDADE, EFN_DESCRICAO, EFN_IDUSUARIO, EFN_DATA', 'required'),
            array('EFN_IDESPECIFICACAO', 'numerical', 'integerOnly' => true),
            array('EFN_CODIGO, EFN_IDESPECIFICACAO, EFN_NAOCONFORMIDADE, EFN_DESCRICAO, EFN_IDUSUARIO, EFN_DATA, EFN_UPDATES', 'safe', 'on' => 'search'),
        );
    }

    public function relations() {
        return array(
            'EspecificacaoFuncional'    => array(self::BELONGS_TO, 'EspecificacaoFuncional', 'EFN_IDESPECIFICACAO'),
            'Funcionario'               => array(self::BELONGS_TO, 'Funcionarios', 'EFN_IDUSUARIO'),
        );
    }

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

    public function attributeLabels() {
        return array(
            'EFN_CODIGO'                => 'Código',
            'EFN_IDESPECIFICACAO'       => 'Especificação',
            'EFN_NAOCONFORMIDADE'       => 'Não-conformidade',
            'EFN_DESCRICAO'             => 'Descrição',
            'EFN_IDUSUARIO'             => 'Usuário',
            'EFN_DATA'                  => 'Data',
            'EspecificacaoFuncional'    => 'Especificação',
        );
    }

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

        $criteria->compare('EFN_CODIGO', $this->EFN_CODIGO);
        $criteria->compare('EFN_IDESPECIFICACAO', $this->EFN_IDESPECIFICACAO);
        $criteria->compare('EFN_NAOCONFORMIDADE', $this->EFN_NAOCONFORMIDADE, true);
        $criteria->compare('EFN_DESCRICAO', $this->EFN_DESCRICAO, true);
        $criteria->compare('EFN_IDUSUARIO', $this->EFN_IDUSUARIO, true);
        $criteria->compare('EFN_DATA', $this->EFN_DATA, true);

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

}