Commits

christiansalazar committed 7ba87b6

mejorando a crugeaccesscontrolfilter separando un metodo para emitir la excepcion

  • Participants
  • Parent commits 374a063

Comments (0)

Files changed (3)

 	//
 	public $useEncryptedPassword = false;
 	
-	
 	// estos atributos llamados xxxLayout, son para indicar que layout usar 
 	// para los actions:
 	//

components/CrugeAccessControlFilter.php

 		protected function preFilter($filterChain)
 		{
 			
+			
 			$controllerItemName = "controller_".Yii::app()->getController()->id;
 			
 			$currentActionName = Yii::app()->getController()->action->id;
 			// es el punto de muestra de errores de Yii. esto es para facilitar el uso de cruge
 			if((Yii::app()->getController()->id=='site') && (Yii::app()->getController()->action->id=='error'))
 				return true;
-			
+				
 			
 			// tiene permiso para la controladora indicada ?
 			//
 				else{
 					// no esta autorizado
 					//
-					if(CrugeUtil::config()->allowUserAlways == false){
-						throw new CrugeException("acceso denegado",401,$actionItemName);
-					}
+					$this->reportError($actionItemName);
 				}
 			}
 			else{
 				// no esta autorizado a la controladora en general.
 				//
-				if(CrugeUtil::config()->allowUserAlways == false){
-					throw new CrugeException("acceso denegado",401,$controllerItemName);
-				}
+				$this->reportError($controllerItemName);
 			}
 			
 			$filterChain->run();
 		}
+		
+		private function reportError($itemName){
+			if(CrugeUtil::config()->allowUserAlways == false)
+				throw new CrugeException($itemName,401);
+		}
 
 		protected function postFilter($filterChain)
 		{

components/CrugeException.php

 	public $extra;
 	public $code;
 	public function __construct($message,$code=500,$extra=""){
-		parent::__construct($message.". item=".$extra, $code);
+		parent::__construct($message, $code);
 		$this->code = $code;
 		$this->extra = $extra;
 	}
 		/*
         return $this->classParent . ": [{$this->code}]: ".CrugeTranslator::t($this->message)."\n".$extra;
 		*/
-		return CrugeTranslator::t($this->message).$extra."<br/>".$this->code;
+		return "xxx".CrugeTranslator::t($this->message)."<br/>".$this->code;
     }
 }