Estou com o seguinte problema, preciso/quero atualizar os registros apenas via Yii::app()->request->isPostRequest na actionUpdate da gridView, assim como é feito com o delete na actionDelete.
Este recurso é para evitar a edição via url, caso o usuário tente acessar o registro ele é redirecionado para a page 404.
Tentei por na grid assim:
admin.php - CGridView
...
'update'=>array(
'label'=>'update',
'url'=>'Yii::app()->createUrl("registro/update", array("id"=>$data->id))',
'options'=>array( // this is the 'html' array but we specify the 'ajax' element
'ajax'=>array(
'type'=>'POST',
'url'=>"js:$(this).attr('href')", // ajax post will use 'url' specified above
),
),
),
...
RegistroController
public function actionUpdate($id)
{
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(Yii::app()->request->isPostRequest)
{
$model=$this->loadModel($id);
if(isset($_POST['Registro']))
{
$model->attributes=$_POST['Registro'];
if($model->save()){
Yii::app()->user->setFlash('success',"Operação realizada com sucesso!" );
$this->refresh();
}
}
$this->render('update',array(
'model'=>$model,
));
}else
throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
}
mais sem sucesso. Ele redireciona direto para a page 404.
Como posso resulver este problema?
Tnx.

Help















