Package twisted :: Package web :: Package woven :: Module input :: Class DictAggregator

[show private | hide private]
[frames | no frames]

## Class DictAggregator

    Collection --+
                 |
       Constrained --+
                     |
      ConfigCollection --+
                         |
                  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
| `__init__(self, model, parent, name, check, commit, invalidErrorText, submodel, controllerStack)` (inherited from `InputHandler`)
| ``aggregateInvalid`(self, request, inputhandler, data)` By default we just pass this method call all the way up to the root Controller. (inherited from `InputHandler`)
| ``aggregateValid`(self, request, inputhandler, data)` Aggregate valid input from inputhandlers below us until we have enough input to pass to the commit function that was passed to the constructor.
| ``check`(self, request, data)` Check whether the input in the request is valid for this handler and return a boolean indicating validity. (inherited from `Anything`)
| ``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. (inherited from `InputHandler`)
| ``delEntity`(self, name)` Remove a static reference for 'name'. (inherited from `Resource`)
| `dispatchCheckResult(self, success, request, data)` (inherited from `InputHandler`)
| `domChanged(self, request, widget, node)` (inherited from `Controller`)
| ``entityConstraint`(self, entity)` A method that determines whether an entity may be added to me. (inherited from `ConfigCollection`)
| `gatheredControllers(self, v, d, request)` (inherited from `Controller`)
| ``getChild`(self, name, request)` Look for a factory method to create the object to handle the next segment of the URL. (inherited from `Controller`)
| ``getChildForRequest`(self, request)` (internal) Get a child of mine dependant on a particular request. (inherited from `Resource`)
| ``getChildWithDefault`(self, path, request)` Retrieve a static or dynamically generated child resource from me. (inherited from `Resource`)
| ``getDynamicChild`(self, name, request)` This method is called when getChild cannot find a matching wchild_* method in the Controller. (inherited from `Controller`)
| ``getDynamicEntity`(self, name, request)` Subclass this to generate an entity on demand. (inherited from `Resource`)
| ``getEntity`(self, name, request)` Retrieve an entity from me. (inherited from `Collection`)
| `getEntityType(self)` (inherited from `ConfigCollection`)
| ``getInput`(self, request)` Return the data associated with this handler from the request, if any. (inherited from `SingleValue`)
| `getNameType(self)` (inherited from `ConfigCollection`)
| ``getStaticEntity`(self, name)` Get an entity that was added to me using putEntity. (inherited from `Resource`)
| `getSubcontroller(self, request, node, model, controllerName)` (inherited from `Controller`)
| ``handle`(self, request)` By default, we don't do anything (inherited from `InputHandler`)
| ``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. (inherited from `InputHandler`)
| ``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. (inherited from `InputHandler`)
| `importControllerLibrary(self, namespace)` (inherited from `Controller`)
| `initialize(self)` (inherited from `InputHandler`)
| ``listDynamicEntities`(self, request)` A list of all name, entity that I can generate on demand. (inherited from `Resource`)
| ``listDynamicNames`(self)` Retrieve a list of the names of entities that I store references to. (inherited from `Resource`)
| `listEntities(self)` (inherited from `Resource`)
| `listNames(self)` (inherited from `Resource`)
| ``listStaticEntities`(self)` Retrieve a list of all name, entity pairs that I store references to. (inherited from `Resource`)
| ``listStaticNames`(self)` Retrieve a list of the names of entities that I store references to. (inherited from `Resource`)
| `makeView(self, model, templateFile, parentCount)` (inherited from `Controller`)
| ``nameConstraint`(self, name)` A method that determines whether an entity may be added to me with a given name. (inherited from `Constrained`)
| ``pageRenderComplete`(self, request)` Override this to recieve notification when the view rendering process is complete. (inherited from `Controller`)
| `process(self, request, **kwargs)` (inherited from `Controller`)
| ``putChild`(self, path, child)` Register a static child. (inherited from `Resource`)
| ``putEntity`(self, name, entity)` Store an entity if it meets both constraints. (inherited from `Constrained`)
| `reallyPutEntity(self, name, entity)` (inherited from `Resource`)
| ``removeEntity`(self, name, request)` Remove an entity for 'name', based on the content of 'request'. (inherited from `Collection`)
| ``render`(self, request)` Trigger any inputhandlers that were passed in to this Page, then delegate to the View for traversing the DOM. (inherited from `Controller`)
| `renderView(self, request)` (inherited from `Controller`)
| `setNode(self, node)` (inherited from `InputHandler`)
| `setSubcontrollerFactory(self, name, factory, setup)` (inherited from `Controller`)
| `setSubmodel(self, submodel)` (inherited from `Controller`)
| ``setUp`(self, request, *args)` (inherited from `Controller`)
| `setupControllerStack(self)` (inherited from `Controller`)
| `setView(self, view)` (inherited from `Controller`)
| ``storeEntity`(self, name, request)` Store an entity for 'name', based on the content of 'request'. (inherited from `Collection`)
| ``wchild_index`(self, request)` By default, we return ourself as the index. (inherited from `Controller`)

Method Details

### aggregateValid(self, request, inputhandler, data)

Aggregate valid input from inputhandlers below us until we have enough input to pass to the commit function that was passed to the constructor.

Generated by Epydoc 1.1 on Thu May 8 13:19:12 2003 | http://epydoc.sf.net