Bonjour à tous,
j'ai une liste de dossiers que j'affiche et je voulais y mettre un peu de jQuery pour cloturer un dossier.
en gros un simple click sur un cadenas qui effectue un update id_etat="2" where id_dossier = mon id récupéré .
Mon problème consite à faire ceci en MVC ...
voila comment j'ai procédé :
Dans ma vue :
<a href="#" class="cloture" title="<?php echo $this->escape( $dossier['id_dossier'] ); ?>"><img src="<?php echo $this->baseUrl(); ?>/images/cad1.png" alt="Ouvert" title="Cloturer ce Dossier " /></a>
l'image est bien la avec la bonne propriete.
Le click sur l'image déclenche ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
$(document).ready(function(){
$('.cloture').click(
function() {
$.ajax({
url : 'cloture_dossier.php',
type: 'POST',
data: 'id_dossier='+ $(this).attr('title'),
dataType : 'json',
success: function(data) {
alert('Dossier transmis : ' + data); // cela fonctionne
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
})
})
}); |
mon probleme réside indirectement dans cloture_dossier.php :
1 2 3 4 5 6 7
| <?php
$id_dossier=$_POST['id_dossier'];
// $sql=("UPDATE dossiers SET id_etat= 2 WHERE id=$id_dossier");
$dossiers = new Application_Model_DbTable_Dossiers();
$dossiers->cloturerdossier($id_dossier); // Modele ligne 62 |
Dans mon modèle j'ai ajouté
1 2 3 4 5
| public function cloturerdossier ($id)
{
$data = array('id_etat' => '2');
$this->update( $data, 'id = ' . (int)$id );
} |
J'ai systématiquement une erreur 500 car j'utilise un plugin pour les acl :
<h3>Parametres passés:</h3>
<pre>array (
'controller' => 'cloture_dossier.php',
'action' => 'index',
'module' => 'default',
'id_dossier' => '117',
) </pre>
hors dans mon fichier acl.ini je mets :
controller.action = liste des profils autorisés séparés par une virgule
si je ne mets rien, tout le monde y est autorisé, par exemple : index.index =
Dans mon cas il reconnait cloture_dossier.php comme controller mais ce n'en n'est pas un et plante lamentablement
Ai je loupé quelque chose ou c'est la logique globale qu'il faut revoir ?
Partager