You can do that. Just Pass an extra "Redirect" Parameter to the route
and Pick it up in the Action.



On Jan 3, 5:47 am, Eric B <ebenza...@gmail.com> wrote:
> On Sun, Jan 2, 2011 at 9:08 AM, Svetoslav Shterev <bgsa...@gmail.com> wrote:
> > On Sat, 2011-01-01 at 23:36 -0800, benze wrote:
> > > Hi,
>
> > > I'm trying to figure out the best way to reuse an action, and am
> > > having difficulty figuring that out.  Specifically because my action
> > > seems to be tied to the response.
>
> > > For instance, I have a delete action that I want to call from within
> > > several different web pages, however, depending on which page is
> > > calling the delete action, I want to redirect the user to a different
> > > page once complete.  I'm not quite sure if/how to do that.
>
> > You have three possibilities of obtaining the data needed to decide
> > where to redirect. One is the URL(different routes into the action), the
> > second is the get/post data(redirect_to token), and the third is the
> > session/db. Here's an example of n1 working:
>
> > // In the action
>
> > $route_name = $this->getContext()->getRouting()->getCurrentRouteName();
> > switch($route_name) {
> >  case 'route_1':
> >    $this->redirect('to_1');
> > ...
> > }
>
> > I don't know what you meant by the java stuff. Workflow is controlled by
> > the filters and action already. You could have a redirection filter
> > working after the execution filter that sets what to redirect to.
>
> Thanks for the tip.  That's kind of what I was looking for.  Ideally, the
> great thing about Struts2 is that you can also put the action to take based
> on the result in a config file, which completely separates the workflow from
> the action.  In symfony, the way I see it, the action needs to know
> something about the workflow (ie: if came from route A, redirect, if route
> B, display template, if route C, chain another action, etc...).  Which ties
> the action to the workflow.  What I would have loved to see is a config file
> similar to the routing yml which would inspect the result from the action,
> and determine what the next step would be.  If we managed to contain
> everything in one file, it would be awesome.
>
> For ex what I would love to see would be something along these lines:
> url: /profile/delete
> param: { module: profile, action: delete }
> result: { success: redirect=>/profile/index }
>
> url: /profile/replace
> param: { module: profile, action: delete }
> result: { success: redirect=>/profile/newProfile }
>
> etc...
>
> That way, you don't need to code any knowledge of where the action was
> called from, or where it needs to go within the action.  The action could
> take care of just it's core business, and leave the workflow to external
> config files.
>
> But, given the way symfony stands today, I'll use your suggestion and code
> workflow within the action based on the routing.
>
> Thanks,
>
> Eric

-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to
symfony-users+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en

Reply via email to