Bonjour à tous !
Je souhaiterai faire un appel AJAX sur un '‘onclick’
voici mon button sur le quel se trouve l’appel AJAX ( j’utilise CGridView) :
'archiver' => array(
'label' => 'Archiver',
'imageUrl' => Yii::app ()->baseUrl . "/images/add_archive_blue.png",
'click' => "function(){
$.fn.yiiGridView.update('note-de-frais-grid',
{
type:'POST',
url:$(this).attr('href'),
success:function(data)
{
$('.output').html(data);
$.fn.yiiGridView.update('note-de-frais-grid');
}
})
return false;
}
",
'url' => 'Yii::app()->controller->createUrl("Archiver",array("id"=>$data->primaryKey))'
),
ici la fonction qui est exécuté :
public function actionArchiver($id)
{
$model = NoteDeFrais::model()->findByPk( $id );
if($model->etat = 1)
{
if(Yii::app()->request->isPostRequest)
{
$model->etat = 2;
$model->date_fermeture_ndf = $model->dernier_update = Yii::app()->dateFormatter->format ('y-M-d H:m:s',time());
$model->save();
}
else
{
throw new CHttpException ( 400,'erreur');
}
}
else
{
echo ' Seul les notes <b>Validé</b> peuvent etre archivées !';
}
}
Le problème est le suivant, la condition ,
if($model->etat = 1)
ne réagit pas comme une condition mais un update. C’est à dire que quelque soit ma valeur de $model->etat avant l’appel ajax via le button , au passage de la condition la valeur de $model->etat passera a 1.
Une idée de ce qui peut provoquer cela ?
Ma condition est mal placé ?
Garfield