Commits

christiansalazar committed 71b5553

soporte con assets. eliminada requiredCssFiles del api ui.

Comments (0)

Files changed (11)

 					, 'visible'=>!Yii::app()->user->isGuest),
 			),
 		)); ?>
-		
-		
-	6.	Si no vas a usar el layout "ui" que por defecto usa Cruge, entonces deberás incluir
-	los archivos CSS requeridos, usando esta funcion del API UI de Cruge:
-	
-	<head>
-		..tu pagina, layout principal...
-		
-			<?php echo Yii::app()->user->ui->requiredCssFiles(); ?>
-			
-		..fin del head de tu laytout...
-	</head>
-		
-Por defecto, Cruge apunta su UI a un layout interno que ya incluye a los archivos CSS requeridos, por tanto no es necesario que hagas este paso si no vas a cambiar los layouts. Mas abajo tienes un tema que habla sobre el uso de layouts.
 	
 ---
 		

components/CrugeUi.php

 		1. Url (en forma de array, relativas al modulo:  /cruge/ui/xxxx)
 		2. Links
 		3. array para menues (para usar en los portlets basicamente)
-		4. rutas a recursos (getResourcePath)
+		4. rutas a recursos (getResource)
 		5. dar formato (a fechas por ejemplo, con formatDate)
 	
 	dependencias:
 */
 class CrugeUi extends CComponent {
 
-	public function getResourcePath($filename=""){
-		return "protected/modules/cruge/resources/".$filename;
+	public function getResource($filename=""){
+		return Yii::app()->getController()->basePath.$filename;
 	}
 	public function formatDate($longdatevalue){
 		if($longdatevalue <= 0)
 						$user = "ID=".Yii::app()->user->id.", NAME=".Yii::app()->user->name;
 					
 						$title=CrugeTranslator::t("Esta ventana le muestra los roles, tareas u operaciones requeridas que el usuario actual no tiene asignadas. La ventana aparece porque esta configurado el flag CrugeModule::rbacSetupEnabled = true");
-						$icon = "<img src='".$this->getResourcePath('help.png')."'>";
+						$icon = "<img src='".$this->getResource('help.png')."'>";
 						$outputText = "<div title='$title' class='rbac-global-error-list'>";
 						$outputText .= "<h6>".$icon.ucwords(CrugeTranslator::t("permisos requeridos para el usuario")).":".$user."</h6>";
 						$outputText .= "<ul>";
 		return "<div style='$estilo'>$nota<br/><span style='color: white; font-size: small;'>este mensaje aparece porque tiene configurado el modo debug=true</span></div>";
 	}
 	
-	public function requiredCssFiles(){
-		return "<link rel='stylesheet' type='text/css' 
-		href='".Yii::app()->user->ui->getResourcePath("estilos.css")."' media='screen, projection' />";
-	}
-
-
 	public function getCGridViewClass(){
 		return CrugeUtil::config()->useCGridViewClass;
 	}

controllers/UiController.php

 */
 class UiController extends Controller
 {
+	public $basePath;	// usada por CrugeUi::getResource()
+
 	public function init(){
+		$this->registerScripts();
 		$this->layout = CrugeUtil::config()->generalUserManagementLayout;
 	}
 	
+	public function registerScripts(){
+		$this->basePath = Yii::app()->getAssetManager()->publish(	
+			"protected/modules/cruge/resources").DIRECTORY_SEPARATOR;
+		
+		$cs = Yii::app()->getClientScript();
+		
+		$cs->registerCoreScript('jquery');
+		
+		$cs->registerCssFile($this->basePath."estilos.css");
+	}
+	
 	private function _publicActionsList(){
 		return array('captcha','registration','login','logout','pwdrec'
 			,'activationurl','ajaxgeneratenewpassword','welcome');

views/layouts/ui.php

 	$this->beginContent('//layouts/'.Yii::app()->layout); 
 ?>
 
-<?php echo Yii::app()->user->ui->requiredCssFiles(); ?>
-
 <?php	
 	if(Yii::app()->user->isSuperAdmin)
 		echo Yii::app()->user->ui->superAdminNote();

views/ui/_authitem.php

 				$imagen = 'delete.png';
 			}
 			echo CHtml::link(CHtml::image(
-				Yii::app()->user->ui->getResourcePath($imagen)),$url
+				Yii::app()->user->ui->getResource($imagen)),$url
 				,array('title'=>CrugeTranslator::t($titulo))
 				);
 		?>

views/ui/_edit-advanced-profile-features.php

 	*/
 
 	Yii::app()->clientScript->registerCoreScript('jquery');
-	$editimgurl = Yii::app()->user->ui->getResourcePath("update.png");
-	$handimgurl = Yii::app()->user->ui->getResourcePath("hand.png");
-	$handoffimgurl = Yii::app()->user->ui->getResourcePath("hand-off.png");
+	$editimgurl = Yii::app()->user->ui->getResource("update.png");
+	$handimgurl = Yii::app()->user->ui->getResource("hand.png");
+	$handoffimgurl = Yii::app()->user->ui->getResource("hand-off.png");
 	
 	$tit1 = "title='".CrugeTranslator::t("editar relacion")."'";
 	$tit2 = "title='".CrugeTranslator::t("asignar")."'";
 		var action = '<?php echo Yii::app()->user->ui->getRbacAjaxAssignmentUrl()?>';
 		var actionGetBz = '<?php echo Yii::app()->user->ui->getRbacAjaxGetAssignmentBzUrl()?>';
 		var actionSetBz = '<?php echo Yii::app()->user->ui->getRbacAjaxSetAssignmentBzUrl()?>';
-		var loadingUrl = '<?php echo Yii::app()->user->ui->getResourcePath('loading.gif'); ?>';
+		var loadingUrl = '<?php echo Yii::app()->user->ui->getResource('loading.gif'); ?>';
 		
 		
 		li.find('.grant-icon').css("cursor","pointer");

views/ui/fieldsadminlist.php

 			),
 			'delete'=>array(
 				'label'=>CrugeTranslator::t("eliminar campo"),
-				//'imageUrl'=>Yii::app()->user->ui->getResourcePath("delete.png"),
 				'url'=>'array("fieldsadmindelete","id"=>$data->getPrimaryKey())'
 			),
 		),	

views/ui/rbacauthitemchilditems.php

 			var action = '<?php echo Yii::app()->user->ui->getRbacAjaxSetChildItemUrl()?>';
 			var jsondata = "{ \"parent\": \"<?php echo $model->name;?>\" , \"child\": "
 					+"\""+thisItemName+"\" , \"setflag\": "+setFlag+" }";	
-			var loadingUrl = '<?php echo Yii::app()->user->ui->getResourcePath('loading.gif'); ?>';
+			var loadingUrl = '<?php echo Yii::app()->user->ui->getResource('loading.gif'); ?>';
 			var loader = li.find('span.loader');
 
 			loader.html("<img src='"+loadingUrl+"'>");

views/ui/rbacusersassignments.php

 	$rbac = Yii::app()->user->rbac;
 	$ui = Yii::app()->user->ui;
 	Yii::app()->clientScript->registerCoreScript('jquery');
-	$loaderSrc = Yii::app()->user->ui->getResourcePath('loading.gif');
+	$loaderSrc = Yii::app()->user->ui->getResource('loading.gif');
 	$loaderImg = "<img src='{$loaderSrc}'>";
 ?>
 <div class='form'>

views/ui/sessionadmin.php

 			'buttons' => array(
 					'delete'=>array(
 						'label'=>CrugeTranslator::t("eliminar sesion"),
-						'imageUrl'=>Yii::app()->user->ui->getResourcePath("delete.png"),
+						'imageUrl'=>Yii::app()->user->ui->getResource("delete.png"),
 						'url'=>'array("sessionadmindelete","id"=>$data->getPrimaryKey())'
 					),
 				),	

views/ui/usermanagementadmin.php

 			),
 			'eliminar'=>array(
 				'label'=>CrugeTranslator::t("eliminar usuario"),
-				'imageUrl'=>Yii::app()->user->ui->getResourcePath("delete.png"),
+				'imageUrl'=>Yii::app()->user->ui->getResource("delete.png"),
 				'url'=>'array("usermanagementdelete","id"=>$data->getPrimaryKey())'
 			),
 		),