Mensajes de confirmacion en botones cgridView

Buenas a todos, planteo acá un pequeño inconveniente que tengo con los mensajes de confirmación o alerts de confirmacion para botones personalizados que coloqué en uno de mis Cgridview.

Tengo 2 botones uno de "Activar" y otro de "Desactivar", y estos botones se muestran segun el Estatus que tenga item. Antes de realizar la accion le coloqué un alert de confirmar y ahora mismo funcionan bien, hacen lo que deberian hacer y me salta el alert, el problema está que cuando salta el alert en cualquiera de ellos me muestra el mismo mensaje de confirmacion, cuando deberian ser distintos. He intentado de todo pero no consigo que me muestre los mensajes que quiero. Por favor necesito ayuda!.. Les dejo el código para mejor entendimiento.

Esta es mi vista, como ven utilizo distintos mensajes para cada boton, pero me muestra uno solo(el de $desactivar) para los 2


<?php

$activar = 'Está seguro de Activar este Producto?';// Mensaje que se debe mostrar cuando se desea activar

$desactivar = 'Está seguro de Desactivar este Producto?';// Mensaje que se debe mostrar cuando se desea desactivar

 $this->widget('zii.widgets.grid.CGridView', array(

	'id'=>'catalogo-grid',

	'itemsCssClass'=>"table  table-striped table-hover table-bordered",

	'pager'=>array('class'=>'CLinkPager'),

	'dataProvider'=>$model->search(),

	'template'=>'{summary}{items}{pager}',

	'columns'=>array(

		'co_item',

		array(

            'name'=>'st_item',

            'type'=>'raw',

            'cssClassExpression'=>'(($data->st_item === "A")? "success":"error")',

            'sortable'=>true,

            'value'=>function($model){

            	return ($model->st_item === 'A')? 'Activo':'Inactivo';

            }

        ),

		'fe_status',

		'tx_item',

		array('class'=> 'CButtonColumn', 'template'=>'{activar} {desactivar}','header'=>'Opciones', 'headerHtmlOptions'=>array('style'=>'font-style: italic; font-size: 85%') ,'htmlOptions'=>array('style'=>'width:60px'),

			'buttons'=> array(

				'activar'=>array(

					'label'=>'<i class="fa fa-check-circle-o fa-lg" style="color:#5BB75B"></i>',

					'url'=>'Yii::app()->controller->createUrl("ActivarDesactivar", array("id"=>$data->co_item))',

					'imageUrl'=>false,

					'options'=>array(

						'title'=>'Activar Producto',

						'confirm'=>$activar,//mensaje que defino al principio

					),

					'click'=>"function(){

						$.fn.yiiGridView.update('catalogo-grid', {

							type:'GET',

                            url:$(this).attr('href'),

                            success: function(data) {

                            	$('#flash').html(data).fadeIn().animate({opacity: 1.0}, 15000).fadeOut('slow');

                            	$.fn.yiiGridView.update('catalogo-grid');

                        	}

                        })

                        return false;

                    }",

					'visible'=>'$data->st_item == "I"',

				),

				'desactivar'=>array(

					'label'=>'<i class="fa fa-ban fa-lg" style="color:#f02f17 "></i>',

					'url'=>'Yii::app()->controller->createUrl("ActivarDesactivar", array("id"=>$data->co_item))',

					'imageUrl'=>false,

					'options'=>array(

						'title'=>'Desactivar Producto',

						'confirm'=>$desactivar,//mensaje que defino al principio

					),

					'click'=>"function(){

						$.fn.yiiGridView.update('catalogo-grid', {

							type:'GET',

                            url:$(this).attr('href'),

                            success: function(data) {

                            	$('#flash').html(data).fadeIn().animate({opacity: 1.0}, 15000).fadeOut('slow');

                            	$.fn.yiiGridView.update('catalogo-grid');

                        	}

                        })

                        return false;

                    }",

					'visible'=>'$data->st_item == "A"',

				),


			)

		),

	),

)); 


?>

.

.

.

Esta es mi acción la cual me funciona bien.


public function actionActivarDesactivar($id)

	{

		$model=$this->loadModel($id);

		

		if($model->st_item == "A"){

			$model->st_item = "I";

			$model->fe_status= new CDbExpression('NOW()');

			$model->save();

			echo '<div class="alert alert-warning"> PRODUCTO DESACTIVADO! </div>';	

		}else{

			$model->st_item = "A";

			$model->fe_status= new CDbExpression('NOW()');

			$model->save();

			echo '<div class="alert alert-info"> PRODUCTO ACTIVADO! </div>';

		}	

		if(!isset($_GET['ajax'])){	

			$this->redirect(Yii::app()->request->urlReferrer);

			unset($_POST['ajax']);

            unset($_GET['ajax']);

		}

	}

La unica manera que consigo mostrar bien los mensajes es quitando el atributo "Visible" de ambos botonoes, pero debo utilizarlo para mostrar solo un boton segun el estatus que tenga el item. He intentado manejar el confirm dentro del js y tampoco funciona. Agradeceria la ayuda que me puedan dar

Veo que tienes los mensajes de activar y desactivar en variables. ¿Y si los pones directamente sin usar variables?




'confirm' => 'Está seguro de Activar este Producto?'



Hola oligalma, gracias por responder. Ya intente colocarlos directo y sigo teniendo el mismo problema. Lo que me intriga es por que cuando no tengo el atributo "visible" si me los muestra como deberia, no se si eso tiene algo que ver.