diff --git a/product/ERP5/Document/SimulationMovement.py b/product/ERP5/Document/SimulationMovement.py index 4f0a35a4ec306ccba128824ab762485f82512d1a..3154b5781274f26264173a1da304321c39a5684c 100644 --- a/product/ERP5/Document/SimulationMovement.py +++ b/product/ERP5/Document/SimulationMovement.py @@ -716,7 +716,7 @@ class SimulationMovement(PropertyRecordableMixin, Movement, ExplainableMixin): catalog_simulation_movement_list = portal_catalog( portal_type='Simulation Movement', causality_uid=[p.getUid() for p in remaining_path_set], - path='%s/%%' % self.getPath()) + path='%s/%%' % self.getPath().replace('_', r'\_')) for movement in catalog_simulation_movement_list: path = movement.getCausalityValue() diff --git a/product/ERP5/ExplanationCache.py b/product/ERP5/ExplanationCache.py index 2521fd867841697a94f0715858098275d6c80b2b..9df8bdd54d3b5daf11d241d9de81415ec1922851 100644 --- a/product/ERP5/ExplanationCache.py +++ b/product/ERP5/ExplanationCache.py @@ -137,7 +137,7 @@ class ExplanationCache: if not isinstance(value, dict): # We have a real root result.append('%s/%s' % (prefix, key)) - result.append('%s/%s/%%' % (prefix, key)) + result.append(('%s/%s/%%' % (prefix, key)).replace('_', r'\_')) # XXX-JPS here we must add all parent movements XXX-JPS else: browsePathDict('%s/%s' % (prefix, key), value) # Recursing with string append is slow XXX-JPS @@ -262,7 +262,7 @@ class ExplanationCache: if simulation_path.startswith(path): # Only keep a path pattern which matches current simulation movement path_set.add(path) - path_set.add("%s/%%" % path) + path_set.add("%s/%%" % path.replace('_', r'\_')) # Lookup in cache based on path_tuple path_tuple = tuple(path_set) # XXX-JPS is the order guaranteed here ? diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getRelatedDocumentList.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getRelatedDocumentList.xml index 85ed6d6674394aec30013059287966a580f46831..26f1c7646112012aaaa06e88591fb9d4a9f3caea 100644 --- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getRelatedDocumentList.xml +++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getRelatedDocumentList.xml @@ -58,7 +58,7 @@ follow_up_related_document_list = portal_catalog(\n portal_type=portal_type,\n follow_up_uid=context.getUid(), **kw)\n \n -kw[\'query\'] = Query(relative_url=\'%s/%%\' % context.getRelativeUrl())\n +kw[\'query\'] = Query(relative_url=\'%s/%%\' % context.getRelativeUrl().replace(\'_\', r\'\\_\'))\n if follow_up_related_document_list:\n kw[\'query\'] = ComplexQuery(\n kw[\'query\'],\n diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision index 976723a00c94cb6b58162f8e1e889bb7b435656a..e8f93305117031d99b25644f5d1313c5466729cb 100644 --- a/product/ERP5/bootstrap/erp5_core/bt/revision +++ b/product/ERP5/bootstrap/erp5_core/bt/revision @@ -1 +1 @@ -41041 \ No newline at end of file +41042 \ No newline at end of file