[Zope] Making pythonscript changes to formulator fields persistent
Maciej Wisniowski
maciej.wisniowski at coig.katowice.pl
Mon Apr 2 12:58:49 EDT 2007
> I was thinking of that...
> How would you do that? Do you know formulator enough to say?
I don't know your use case good enough. Is this just changing
attributes of formulator fields?
> Put the whole thing in the EM, or something simpler?
> An EM I could just hand off the field object to, to get "persisted"?
I don't understand what you mean. Field objects already are persistent.
EM gives you no security restrictions in comparision to Script Python.
In general to simply change field.values['required'] to false I'd write
function to traverse through ZODB to find all FormulatorForm objects
and it's fields.
> (I find it a bit cumbersome to develop in EMs, reloading and all, so I tend to
> avoid it.)
With ExternalMethod you only have to hit save button again to refresh
it.
Simple external method code that you may use to traverse through ZODB:
def checkFolder(self, fld):
for obj_name, obj in fld.objectItems( 'FormulatorForm' ):
# get form fields here etc
for fld_name,fld_obj in fld.objectItems( 'Folder' ):
checkFolder( fld_obj )
for fld_name,fld_obj in fld.objectItems( 'Folder (Ordered)' ):
checkFolder( fld_obj )
I'm not sure about 'FormulatorForm', this may be 'Formulator Form' or
something like that.
--
Maciej Wisniowski
More information about the Zope
mailing list