[Zope3-Users] how to set predefined values on newly created
content object
FB
fbo2 at gmx.net
Thu Oct 26 01:00:29 EDT 2006
Hi,
On Wed, Oct 25, 2006 at 05:11:44PM +0200, Dominique Lederer wrote:
> hello
>
> i would like to set predefined metadata, when i create a new content object.
>
> from my point of knowledge i could to this with a custom factory or by
> listening to events.
>
> is there any other possibility to to this, mabe somehow in the interface?
Taking into account that creating content objects can be done manually in
python, i'd use a view like this on the container of the new object:
predefined={
'set1':{
title:'something',
otherfield:'foo',
[...]
},
'set2':{
title:'something else',
otherfield:'bar',
[...]
},
[...]
}
class CreateView(BrowserView):
def __call__(self):
if 'create' in self.request.form:
if 'paramset' in self.request.form:
paramsetname=self.request.form['paramset']
if paramsetname in predefined:
newobj=MyClass(**paramset)
name=INameChooser(self.context)('',newobj)
self.context[name]=newobj
In this case the view could i.e. react to some html-form which presents a
<select name="paramset" ...> , returning either 'set1', 'set2' , [...] .
Regards,
Frank
More information about the Zope3-users
mailing list