<?php

/**
 * This is the model class for table "sidcai_multa".
 *
 * The followings are the available columns in table 'sidcai_multa':
 * @property integer $mult_codigo_pk
 * @property string $mult_descripcion
 * @property string $mult_ley
 * @property integer $mult_unidadestributarias
 * @property boolean $mult_habilitado
 * @property integer $audit_usua
 */
class SidcaiMulta extends CActiveRecord{
	/**
	 * @return string the associated database table name
	 */
	public function tableName(){
		return 'sidcai_multa';
	}

	/**
	 * @return array validation rules for model attributes.
	 */
	public function rules(){
		// NOTE: you should only define rules for those attributes that
		// will receive user inputs.
		return array(
			array(
				'mult_descripcion, mult_ley, mult_unidadestributarias', 
				'required',
				'message' => 'Este campo es requerido',
			),
			array(
				'mult_descripcion, mult_ley, mult_unidadestributarias', 
				'filter',
				'filter' => 'trim',
			),
			array(
				'mult_unidadestributarias',
				'length',
				'max' => 9,
				'tooLong' => 'Máximo 9 digitos',
			),
			array(
				'mult_descripcion',
				'length',
				'min' => 4,
				'tooShort' => 'Mínimo 4 caracteers.',
				'max' => 400,
				'tooLong' => 'Máximo 400 caracteres.'
			),
			array(
				'mult_ley',
				'length',
				'min' => 4,
				'tooShort' => 'Mínimo 4 caracteers.',
				'max' => 45,
				'tooLong' => 'Máximo 45 caracteres.'
			),
			array(
				'mult_unidadestributarias', 
				'compare', 
				'compareValue' => 0,
				'operator' => '!=', 
				'message' => 'La Unidad Tributaria debe ser mayor a 0.',
			),
			array(
				'audit_usua', 
				'numerical', 
				'integerOnly' => true,
				'message' => 'Solo se permiten números.'
			),
			array('mult_habilitado', 'safe'),
		);
	}

	/**
	 * @return array customized attribute labels (name=>label)
	 */
	public function attributeLabels(){
		return array(
			'mult_codigo_pk' => 'Código Multa',
			'mult_descripcion' => 'Descripción',
			'mult_ley' => 'Ley',
			'mult_unidadestributarias' => 'Unidades Tributarias',
			'mult_habilitado' => 'Habilitado',
			'audit_usua' => 'Usuario Auditor',
		);
	}

	/**
	 * Returns the static model of the specified AR class.
	 * Please note that you should have this exact method in all your CActiveRecord descendants!
	 * @param string $className active record class name.
	 * @return SidcaiMulta the static model class
	 */
	public static function model($className=__CLASS__){
		return parent::model($className);
	}

	/**
	 * Obtiene todas las multas que esten habilitadas
	 */
	public static function getMultas(){
		$multas = SidcaiMulta::model()->findAll(
			array(
				'condition' => 'mult_habilitado = :mult_habilitado AND mult_codigo_pk != :mult_codigo_pk',
				'params' => array(':mult_habilitado' => true, ':mult_codigo_pk' => 1),
			));
		return CHtml::listData($multas, 'mult_codigo_pk', function ($model) {
			$datos = "{$model->mult_ley} - ";

			if(strlen($model->mult_descripcion) > 80){
				$descripcion = $model->mult_descripcion;
				$model->mult_descripcion = substr($descripcion, 0, 80).".....";
			}

			$datos .= "{$model->mult_descripcion}";
			return $datos;
		});
	}
}
