Commit 41be01e2 authored by Hanno Schlichting's avatar Hanno Schlichting

Merged r128118:128120 from 2.13 branch

parent 832ddf16
...@@ -269,7 +269,6 @@ class PropertyManager(Base): ...@@ -269,7 +269,6 @@ class PropertyManager(Base):
dict[p['id']]=p dict[p['id']]=p
return dict return dict
# Web interface # Web interface
security.declareProtected(manage_properties, 'manage_addProperty') security.declareProtected(manage_properties, 'manage_addProperty')
...@@ -279,7 +278,7 @@ class PropertyManager(Base): ...@@ -279,7 +278,7 @@ class PropertyManager(Base):
Sets a new property with the given id, type, and value. Sets a new property with the given id, type, and value.
""" """
if type in type_converters: if type in type_converters:
value=type_converters[type](value) value = type_converters[type](value)
self._setProperty(id.strip(), value, type) self._setProperty(id.strip(), value, type)
if REQUEST is not None: if REQUEST is not None:
return self.manage_propertiesForm(self, REQUEST) return self.manage_propertiesForm(self, REQUEST)
...@@ -294,16 +293,16 @@ class PropertyManager(Base): ...@@ -294,16 +293,16 @@ class PropertyManager(Base):
instead for most situations. instead for most situations.
""" """
for prop in self._propertyMap(): for prop in self._propertyMap():
name=prop['id'] name = prop['id']
if 'w' in prop.get('mode', 'wd'): if 'w' in prop.get('mode', 'wd'):
if prop['type'] == 'multiple selection': if prop['type'] == 'multiple selection':
value=REQUEST.get(name, []) value = REQUEST.form.get(name, [])
else: else:
value=REQUEST.get(name, '') value = REQUEST.form.get(name, '')
self._updateProperty(name, value) self._updateProperty(name, value)
if REQUEST: if REQUEST:
message="Saved changes." message = "Saved changes."
return self.manage_propertiesForm(self,REQUEST, return self.manage_propertiesForm(self, REQUEST,
manage_tabs_message=message) manage_tabs_message=message)
security.declareProtected(manage_properties, 'manage_changeProperties') security.declareProtected(manage_properties, 'manage_changeProperties')
...@@ -314,20 +313,23 @@ class PropertyManager(Base): ...@@ -314,20 +313,23 @@ class PropertyManager(Base):
name=value parameters name=value parameters
""" """
if REQUEST is None: if REQUEST is None:
props={} props = {}
else: props=REQUEST elif isinstance(REQUEST, dict):
props = REQUEST
else:
props = REQUEST.form
if kw: if kw:
for name, value in kw.items(): for name, value in kw.items():
props[name]=value props[name] = value
propdict=self.propdict() propdict = self.propdict()
for name, value in props.items(): for name, value in props.items():
if self.hasProperty(name): if self.hasProperty(name):
if not 'w' in propdict[name].get('mode', 'wd'): 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) self._updateProperty(name, value)
if REQUEST: if REQUEST:
message="Saved changes." message = "Saved changes."
return self.manage_propertiesForm(self,REQUEST, return self.manage_propertiesForm(self, REQUEST,
manage_tabs_message=message) manage_tabs_message=message)
# Note - this is experimental, pending some community input. # Note - this is experimental, pending some community input.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment