Ticket #407 (closed enhancement: fixed)

Opened 22 months ago

Last modified 22 months ago

Add support for lightweight actions

Reported by: david Owned by: david
Priority: high Milestone: 0.11
Component: controller Version:
Severity: normal Keywords:
Cc: Patch attached:

Description

something like:

class MySlotAction extends AgaviAction implements AgaviITurbochargedAction

or

public function isArielAtom()
{
  return true;
}

or

public function getShortcut()
{
  return 'Success';
}

The effect:

  • No validation is performed
  • The request data holder is empty unless arguments were set on the container (could be done for slots)
  • No action filters are run

The first code style would be the most convenient. However, the second style allows to programatically decide whether or not to accelerate the action, which might be useful in case where actions can act both as a slot and as a "standalone" version. The third style would be a bit different in that the action would not be run at all; instead, control would pass on to the view directly.

Attachments

Change History

Changed 22 months ago by david

  • status changed from new to closed
  • resolution set to fixed

(In [1638]) support for lightweight actions. these don't run through action filters, don't call execute() on the action (and thus don't pass validation) and don't get any data from the actual request, only the arguments set on their containers. good for slots. make an action 'simple' by returning true from isSimple() in the action. closes #407

Add/Change #407 (Add support for lightweight actions)

Author



Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.