<?php /** CrugeAuthItemEditor Modelo para editar un CAuthItem. @author: Christian Salazar H. <christiansalazarh@gmail.com> @salazarchris74 @license protected/modules/cruge/LICENSE */ class CrugeAuthItemEditor extends CFormModel { public $name; public $businessRule; public $description; public $categoria; public $isNewRecord; // es establecido a true o false directamente desde UiController public $deleteConfirmation = false; public function onBeforeValidate($event) { foreach ($this->getIterator() as $atributo => $valor) { $this[$atributo] = trim($valor); } } public function rules() { return array( array('name', 'required',), array( 'name', 'match' , 'pattern' => '/^([a-zA-Z_-]{3,64})$/' , 'message' => CrugeTranslator::t( "solo use de 3 a 20 letras (a-z) sin espacios, puede usar caracteres: _-" ) , 'on' => 'insert, update' ), array('name', 'validar_duplicado', 'on' => 'insert'), array( 'description', 'match' , 'pattern' => '/^([a-zA-Z0-9.,+\-\_ \{\}\:áéíóúÁÉÍÓÚñÑ]{1,100})$/' , 'message' => CrugeTranslator::t( "solo use letras A-Z, espacio, digitos o los simbolos .,+-_{}:" ) ), array('deleteConfirmation', 'required', 'on' => 'delete'), array( 'deleteConfirmation', 'compare', 'compareValue' => '1' , 'on' => 'delete', 'message' => CrugeTranslator::t("por favor confirme con la casilla de chequeo") ), array('businessRule', 'length', 'max' => 512), ); } public function validar_duplicado($attr, $param) { if (Yii::app()->user->rbac->getAuthItem($this[$attr]) !== null) { $this->addError($attr, CrugeTranslator::t("este nombre ya esta en uso")); } } public function attributeLabels() { return array( 'name' => ucfirst(CrugeTranslator::t('nombre')), 'description' => ucfirst(CrugeTranslator::t('descripcion corta')), 'businessRule' => ucfirst(CrugeTranslator::t('regla de negocio')), 'deleteConfirmation' => ucfirst(CrugeTranslator::t('confirmar eliminacion')), ); } }