Skip to content

Commit

Permalink
Merged r128118:128120 from 2.13 branch
Browse files Browse the repository at this point in the history
  • Loading branch information
hannosch committed Oct 21, 2012
1 parent 832ddf1 commit 41be01e
Showing 1 changed file with 16 additions and 14 deletions.
30 changes: 16 additions & 14 deletions src/OFS/PropertyManager.py
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,6 @@ def propdict(self):
dict[p['id']]=p
return dict


# Web interface

security.declareProtected(manage_properties, 'manage_addProperty')
Expand All @@ -279,7 +278,7 @@ def manage_addProperty(self, id, value, type, REQUEST=None):
Sets a new property with the given id, type, and value.
"""
if type in type_converters:
value=type_converters[type](value)
value = type_converters[type](value)
self._setProperty(id.strip(), value, type)
if REQUEST is not None:
return self.manage_propertiesForm(self, REQUEST)
Expand All @@ -294,16 +293,16 @@ def manage_editProperties(self, REQUEST):
instead for most situations.
"""
for prop in self._propertyMap():
name=prop['id']
name = prop['id']
if 'w' in prop.get('mode', 'wd'):
if prop['type'] == 'multiple selection':
value=REQUEST.get(name, [])
value = REQUEST.form.get(name, [])
else:
value=REQUEST.get(name, '')
value = REQUEST.form.get(name, '')
self._updateProperty(name, value)
if REQUEST:
message="Saved changes."
return self.manage_propertiesForm(self,REQUEST,
message = "Saved changes."
return self.manage_propertiesForm(self, REQUEST,
manage_tabs_message=message)

security.declareProtected(manage_properties, 'manage_changeProperties')
Expand All @@ -314,20 +313,23 @@ def manage_changeProperties(self, REQUEST=None, **kw):
name=value parameters
"""
if REQUEST is None:
props={}
else: props=REQUEST
props = {}
elif isinstance(REQUEST, dict):
props = REQUEST
else:
props = REQUEST.form
if kw:
for name, value in kw.items():
props[name]=value
propdict=self.propdict()
props[name] = value
propdict = self.propdict()
for name, value in props.items():
if self.hasProperty(name):
if not 'w' in propdict[name].get('mode', 'wd'):
raise BadRequest, '%s cannot be changed' % escape(name)
raise BadRequest('%s cannot be changed' % escape(name))
self._updateProperty(name, value)
if REQUEST:
message="Saved changes."
return self.manage_propertiesForm(self,REQUEST,
message = "Saved changes."
return self.manage_propertiesForm(self, REQUEST,
manage_tabs_message=message)

# Note - this is experimental, pending some community input.
Expand Down

0 comments on commit 41be01e

Please sign in to comment.