<?php

class Minuta extends CActiveRecord
{
	public $publicado='Publicado';
	public $porpublicar='Por Publicar';
	
	public function tableName()
	{
		return 'minuta';
	}

	public function rules()
	{
		return array(
			array('uni_codigo, min_fecha, min_lugar', 'required'),
			array('min_numero, fis_codigo, uni_codigo, prc_codigo', 'numerical', 'integerOnly'=>true),
			array('min_descripcion', 'length', 'max'=>1000),
			array('min_lugar, min_estado, min_privacidad', 'length', 'max'=>100),
			array('fun_rut', 'length', 'max'=>12),
			array('min_fecha, min_fecha_registro, min_fecha_cierra, min_hora_inicio, min_hora_fin', 'safe'),
			array('min_codigo, min_numero, min_descripcion, min_fecha, min_fecha_registro, min_fecha_cierra, min_hora_inicio, min_hora_fin, min_lugar, min_estado, min_privacidad, fis_codigo, uni_codigo, prc_codigo, fun_rut', 'safe', 'on'=>'search'),
		);
	}

	public function relations()
	{
		return array(
	  'fisNombre' => array(self::BELONGS_TO, 'Fiscalia', 'fis_codigo'),
      'uniNombre' => array(self::BELONGS_TO, 'Unidad', 'uni_codigo'),
      'funcionario' => array(self::BELONGS_TO, 'funcionario', 'fun_rut'),
		);
	}

	public function attributeLabels()
	{
		return array(
			'min_codigo' => 'Min Codigo',
			'min_numero' => 'Min Numero',
			'min_descripcion' => 'Minuta',
			'min_fecha' => 'Fecha de Minuta',
			'min_fecha_registro' => 'Fecha Registro',
			'min_fecha_cierra' => 'Fecha Cierra',
			'min_hora_inicio' => 'Hora Inicio',
			'min_hora_fin' => 'Hora Fin',
			'min_lugar' => 'Lugar',
			'min_estado' => 'Estado',
			'min_privacidad' => 'Privacidad',
			'fis_codigo' => 'Fiscalia',
			'uni_codigo' => 'Unidad',
			'prc_codigo' => 'Proceso',
			'fun_rut' => 'Responsable',
		);
	}

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

		//$criteria->compare('min_codigo',$this->min_codigo);
		$criteria->compare('min_numero',$this->min_numero);
		$criteria->addcondition('min_codigo in (select a.min_codigo from asistente as a where a.fun_rut=\''.Yii::app()->user->id.'\')');
		//$criteria->addCondition('doc_estado<>"Publicado"');
		$criteria->compare('min_descripcion',$this->min_descripcion,true);
		$criteria->compare('min_fecha',$this->min_fecha,true);
		$criteria->compare('min_fecha_registro',$this->min_fecha_registro,true);
		$criteria->compare('min_fecha_cierra',$this->min_fecha_cierra,true);
		$criteria->compare('min_hora_inicio',$this->min_hora_inicio,true);
		$criteria->compare('min_hora_fin',$this->min_hora_fin,true);
		$criteria->compare('min_lugar',$this->min_lugar,true);
		$criteria->compare('min_estado',$this->porpublicar,true);
		$criteria->compare('min_privacidad',$this->min_privacidad,true);
		$criteria->compare('fis_codigo',$this->fis_codigo);
		$criteria->compare('uni_codigo',$this->uni_codigo);
		$criteria->compare('prc_codigo',$this->prc_codigo);
		$criteria->compare('fun_rut',$this->fun_rut,true);

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

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

    $criteria->compare('min_descripcion',$this->min_descripcion,true);
    $criteria->compare('min_fecha',$this->min_fecha,true);
    $criteria->compare('min_fecha_cierra',$this->min_fecha_cierra,true);
    $criteria->compare('min_lugar',$this->min_lugar,true);
    $criteria->compare('min_estado',$this->publicado,true);
    $criteria->compare('min_privacidad',$this->min_privacidad,true);
    $criteria->compare('fis_codigo',$this->fis_codigo);
    $criteria->compare('uni_codigo',$this->uni_codigo);
    $criteria->compare('fun_rut',$this->fun_rut,true);

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


	public function getDbConnection()
	{
		return Yii::app()->db_minuta;
	}

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