My situation:
The user is presented with a table or list of items. Beside each item they can click a checkbox to select it, and then at the bottom is a select box which says "With selected items...", and things like "delete", "move to project", "download", etc. You know the deal - bulk operations. Some of the operations will execute immediately and don't require their own view, however others will need an intermediate view (eg: "Move these to which project?").
Since each of the individual operations is handled by a different action (and different controller, possibly), but forms can only post to one address, I need an action which will take the posted data and dispatch it to the appropriate place.
Using redirect()
will not work either, since this will need to be AJAX'd in the near future.
Basically I just want an action which will delegate to a different controller/action as if that were the original request: maintaining post data, rendering that view, etc.
Any ideas?
I was able to figure it out using the Dispatcher.
// for example, to reroute to users/delete
// this is in the controller which receives the request.
// this could even be in the AppController
$this->autoRender = false;
$d = new Dispatcher();
$d->dispatch(
array("controller" => "users", "action" => "delete"),
array("data" => $this->data)
);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With