Page 1 sur 1

[Résolu] CRUD - url retour sur createAction

Message Publié : 26 Mai 2014, 14:54
par julien@quai13
Plop,

Je fais un module de commentaires sur Pôle Pégase basé sur CRUD et je bloque sur l'url de retour qui ne se déclenche pas.
Ma fonction :
Code : Tout sélectionner
public function createAction($request, $params = null)
{
   $errors = parent::createAction($request, $params);
   if ($request->POST) {
      $url_retour = __WWW_ROOT__ . '/actions/action?id=' . $request->post('int', 'actions_commentaires-id_action');
                return $this->handle_errors($errors, $url_retour);
        }
}

C'est repris d'une fonction dans offremarcheController sur AndCo, du coup je ne comprends pas pourquoi ça ne fonctionne pas.

Après réflexion je ne comprends d'ailleurs pas l'intérêt de rajouter un $this->handle_errors puisque cet appel se fais déjà dans crud::createAction ? On peut surcharger la fonction avant l'appel à son parent mais après cela est inutile puisque l'on sera forcément redirigé vers module/index?id=

Re: CRUD - url retour sur createAction

Message Publié : 27 Mai 2014, 21:28
par pa-de-solminihac
Hello,

Je viens de jeter un rapide coup d'œil sur le fichier offremarcheOffremarcheController. Je remarque que juste avant l'appel de parent::createAction($request, $params) il y a :
Code : Tout sélectionner
        if (!isset($params['dont_handle_errors'])) {
            $params['dont_handle_errors'] = true;
        } 


Ce petit bout de code dit à la fonction createAction qu'on appelle de ne pas appeler handler_errors(), qui se charge de gérer les url_retour. Je pense que c'est ce qui te manque pour que ça fonctionne.

Pour suivre ta réflexion, il aurait peut-être été plus judicieux de ma part de permettre de passer directement l'url_retour dans le tableau $params fourni à createAction(), ça aurait peut-être été plus simple. J'y réfléchirai ;)

Re: CRUD - url retour sur createAction

Message Publié : 28 Mai 2014, 08:35
par julien@quai13
Bien vu, merci beaucoup ;)