Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 18-09-2012 16:20:45

manuzed78
Membre
Date d'inscription: 13-12-2009
Messages: 86
Site web

[Zend 1.11.9] Acl et jQuery

Bonjour à tous,
j'ai une liste de dossiers que j'affiche et je voulais y mettre un peu de jQuery pour cloturer ce 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 :

Code:

<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 :

Code:

$(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 :

Code:

<?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é

Code:

    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' =&gt; 'cloture_dossier.php',
  'action' =&gt; 'index',
  'module' =&gt; 'default',
  'id_dossier' =&gt; '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 ?

Dernière modification par manuzed78 (18-09-2012 16:41:16)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages