Package twisted :: Package web :: Package woven :: Module input :: Class DictAggregator |
[frames | no frames]

## Class DictAggregator

    Resource --+
               |
      Controller --+
                   |
        InputHandler --+
                       |
             SingleValue --+
                           |
                    Anything --+
                               |
                              DictAggregator

An InputHandler for a <form> tag, for triggering a function when all of the form's individual inputs have been validated. Also for use gathering a dict of arguments to pass to a parent's aggregateValid if no commit function is passed.

Usage example:

       <form controller="theForm" action="">
           <input controller="Integer"
               view="InputText" model="anInteger" />
           <input controller="Anything"
               view="InputText" model="aString" />
           <input type="submit" />
       </form>

       def theCommitFunction(anInteger=None, aString=None):
           '''Note how the keyword arguments match up with the leaf model
           names above
           '''
           print "Yay", anInteger, aString

       class CMyController(controller.Controller):
           def wcfactory_theForm(self, request, node, m):
               return input.FormAggregator(m, commit=theCommitFunction)

Method Summary
| ``aggregateInvalid`(self, request, inputhandler, data)` By default we just pass this method call all the way up to the root Controller.
| ``aggregateValid`(self, request, inputhandler, data)` Aggregate valid input from inputhandlers below us, into a dictionary.
| ``exit`(self, request)` This is the node complete message
Inherited from Anything
| ``check`(self, request, data)` Check whether the input in the request is valid for this handler and return a boolean indicating validity.
Inherited from SingleValue
| ``getInput`(self, request)` Return the data associated with this handler from the request, if any.
Inherited from InputHandler
| ``__init__`(self, model, parent, name, check, commit, invalidErrorText, submodel, controllerStack)`
| ``commit`(self, request, node, data)` It has been determined that the input for the entire form is completely valid; it is now safe for all handlers to commit changes to the model.
| ``dispatchCheckResult`(self, success, request, data)`
| ``handle`(self, request)` By default, we don't do anything
| ``handleInvalid`(self, request, data)` Once it has been determined that the input is invalid, we should tell our view to report this fact to the user.
| ``handleValid`(self, request, data)` It has been determined that the input for this handler is valid; however, that does not mean the entire form is valid.
| ``initialize`(self)`
| ``setNode`(self, node)`
Inherited from Controller
| ``domChanged`(self, request, widget, node)`
| ``gatheredControllers`(self, v, d, request)`
| ``getChild`(self, name, request)` Look for a factory method to create the object to handle the next segment of the URL.
| ``getDynamicChild`(self, name, request)` This method is called when getChild cannot find a matching wchild_* method in the Controller.
| ``getSubcontroller`(self, request, node, model, controllerName)`
| ``importControllerLibrary`(self, namespace)`
| ``makeView`(self, model, templateFile, parentCount)`
| ``pageRenderComplete`(self, request)` Override this to recieve notification when the view rendering process is complete.
| ``process`(self, request, **kwargs)`
| ``render`(self, request)` Trigger any inputhandlers that were passed in to this Page, then delegate to the View for traversing the DOM.
| ``renderView`(self, request)`
| ``setSubcontrollerFactory`(self, name, factory, setup)`
| ``setSubmodel`(self, submodel)`
| ``setUp`(self, request, *args)`
| ``setupControllerStack`(self)`
| ``setView`(self, view)`
| ``wchild_index`(self, request)` By default, we return ourself as the index.
Inherited from Resource
| ``delEntity`(self, name)`
| ``getChildForRequest`(self, request)`
| ``getChildWithDefault`(self, path, request)` Retrieve a static or dynamically generated child resource from me.
| ``getDynamicEntity`(self, name, request)`
| ``getStaticEntity`(self, name)`
| ``listDynamicEntities`(self, request)`
| ``listDynamicNames`(self)`
| ``listEntities`(self)`
| ``listNames`(self)`
| ``listStaticEntities`(self)`
| ``listStaticNames`(self)`
| ``putChild`(self, path, child)` Register a static child.
| ``reallyPutEntity`(self, name, entity)`

Class Variable Summary
Inherited from InputHandler
`str` | `invalidErrorText` = `'Error!'`
`int` | `setupStacks` = 0
Inherited from Controller
`tuple` | `__implements__` = `(<class twisted.web.woven.interfaces.IC...`
`int` | `addSlash` = 1
`list` | `controllerLibraries` = `[]`
`str` | `templateDirectory` = `''`
`NoneType` | `viewFactory` = None
Inherited from Resource
`int` | `isLeaf` = 0
`NoneType` | `server` = None

Method Details

### aggregateInvalid(self, request, inputhandler, data) By default we just pass this method call all the way up to the root Controller. Overrides: `twisted.web.woven.input.InputHandler.aggregateInvalid` (inherited documentation)

### aggregateValid(self, request, inputhandler, data) Aggregate valid input from inputhandlers below us, into a dictionary. Overrides: `twisted.web.woven.input.InputHandler.aggregateValid`

### exit(self, request) This is the node complete message Overrides: `twisted.web.woven.controller.Controller.exit`

Generated by Epydoc 2.0 on Sat Oct 25 00:54:48 2003 | http://epydoc.sf.net