Commit 93e1b78c authored by Klaus Wölfel's avatar Klaus Wölfel Committed by Jérome Perrin

Fixup! ERP5Configurator: Add generic configurator item for setting values of properties

parent bb89b59c
...@@ -60,16 +60,21 @@ class PathConfiguratorItem(ConfiguratorItemMixin, XMLObject): ...@@ -60,16 +60,21 @@ class PathConfiguratorItem(ConfiguratorItemMixin, XMLObject):
def _checkConsistency(self, fixit=False, filter=None, **kw): def _checkConsistency(self, fixit=False, filter=None, **kw):
portal = self.getPortalObject() portal = self.getPortalObject()
error_list = [] error_list = []
for container_path, document_dict, transition_method in iter(self.getConfigurationListList()): for container_path, transition_method, document_dict in iter(self.getConfigurationListList()):
document_dict = document_dict.copy()
document_id = document_dict.pop('id')
portal_type = document_dict.pop('portal_type')
container = portal.unrestrictedTraverse(container_path, None) container = portal.unrestrictedTraverse(container_path, None)
if container is not None: if container is not None:
document = getattr(container, document_dict['id'], None) document = getattr(container, document_id, None)
if document is None: if document is None:
error_list.append(self._createConstraintMessage( error_list.append(self._createConstraintMessage(
"%s %s should be created" %(document_dict['id'], "%s %s should be created" %(portal_type, document_id)))
document_dict['portal_type'])))
if fixit: if fixit:
document = container.newContent(**document_dict) document = container.newContent(id=document_id,
portal_type=portal_type)
for property_id, value in document_dict.items():
document.setProperty(property_id, value)
if transition_method is not None: if transition_method is not None:
getattr(document, transition_method) ( getattr(document, transition_method) (
comment=translateString("Transition executed by Configurator")) comment=translateString("Transition executed by Configurator"))
......
...@@ -65,7 +65,7 @@ class ValueConfiguratorItem(ConfiguratorItemMixin, XMLObject): ...@@ -65,7 +65,7 @@ class ValueConfiguratorItem(ConfiguratorItemMixin, XMLObject):
configuration_dict.get,('search_dict', 'relative_path', configuration_dict.get,('search_dict', 'relative_path',
'property_value_dict')) 'property_value_dict'))
if search_dict is not None: if search_dict is not None:
document = self.portal_catalog.getResultValue(search_dict) document = self.portal_catalog.getResultValue(**search_dict)
else: else:
document = portal document = portal
if relative_path is not None and document is not None: if relative_path is not None and document is not None:
......
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