> >What bothers me is the need of patching FFK (Ian, would you accept
> put in. Then, use mutable forms as:

> formDef = FormDefinition(...).mutable()

> Then, use the methods defined for class MutableFormDefinition to
> add/replace/delete fields.


Could someone verify my approach:

class BasicForm(SitePage, FormServlet):

        def __init__(self, forms=None):
                SitePage.__init__(self)
                if forms is None:
                        f = FormDefinition(self.name(), [], [], name=self.name())
                        forms = [f.mutable()]
                FormServlet.__init__(self, forms)
        def writePageContent(self):
                formProcessed, data = self.processForm()
                if data == 'invalid':
                        req = self._erroneousRequest
                        name = self._erroneousFormName
                        log.error("error on form %s request %s", self, req)
                if not formProcessed:
                        self.renderForm(None)
                else:
                        self.handleCompletedForm(data)
        def handleCompletedForm(self, data):
                pass
        def renderForm(self, fields):
                form = self.formDefinitions()[self.name()]
                layout = self.buildForm(form)
                rf = self.renderableForm(defaults=fields)
                self.write(rf.htFormLayout(layout, spacing=10))
        def buildForm(self, form):
                # do form.replaceField() to update form definition.
                # and then return the layout (used by htFormLayout())
                pass

Is it a proper way to deal with dynamic forms? Any gotchas?
Seems like it works OK.

-- 
Money don't get everything it's true
What it don't get, I can't use
Now give me money
That's what I want!
                     -- Bradford/Gordy


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Webware-discuss mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-discuss

Reply via email to