Hi, for some strange reason one out of several CGridViews that I use, sends GET request on deletion, instead of sending POST request. I am pretty sure that I am missing something obvious, but I already spent 4 hours trying to figure it out. Hope you guys could help me.
Here’s the code:
Controller:
public function actionDeleteReport($loginID, $reportName)
{
if(Yii::app()->request->isPostRequest)
{
$model = UserReports::model()->findByAttributes(array('loginID'=>$loginID, 'reportName'=>$reportName))->delete();
// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
/* if(!isset($_GET['ajax']))
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('dataManagement')); */
}
else
throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
}
CGid:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'reports',
'dataProvider'=>$userReports->search(Yii::app()->user->id),
'columns'=>array(
'reportName',
'reportType',
'timeStamp',
array(
'class'=>'CButtonColumn',
'viewButtonUrl'=>'Yii::app()->controller->createUrl("viewReport",array("loginID"=>$data->loginID,"reportName"=>$data->reportName))',
'deleteButtonUrl'=>'Yii::app()->controller->createUrl("deleteReport",array("loginID"=>$data->loginID,"reportName"=>$data->reportName))',
'deleteButtonImageUrl'=>Yii::app()->request->baseUrl.'../images/delete-green.png',
//'deleteConfirmation'=>"js:'Report will be deleted! Continue?'",
//'afterDelete'=>'function(link,success,data){ if(success) $("#statusMsg").html(data); }',
//'updateButtonUrl'=>'Yii::app()->controller->createUrl("download",array("userID"=>$data->userID,"filename"=>$data->filename))',
'template'=>'{view}{rename}{download}{delete}',
'buttons'=>array(
'rename'=>array(
'label'=>'Rename file',
'imageUrl'=>Yii::app()->request->baseUrl.'../images/rename.png',
'options'=>array(
'onclick'=>'js:alert("Renaming is currently disabled. Please stay tuned");',
),
//'url'=>'Yii::app()->controller->createUrl("renameReport",array("loginID"=>$data->loginID,"deckName"=>$data->deckName))',
),
'download'=>array(
'label'=>'Download File',
'imageUrl'=>Yii::app()->request->baseUrl.'../images/download.png',
'url'=>'Yii::app()->controller->createUrl("downloadReport",array("loginID"=>$data->loginID,"reportName"=>$data->reportName))',
),
),
),
),
));