misc: avoid unrelated evolution parts when looking for related data (#46678)

This commit is contained in:
Frédéric Péters 2020-09-16 09:28:51 +02:00
parent f24963ed05
commit 426cf599f2
2 changed files with 13 additions and 3 deletions

View File

@ -5450,6 +5450,15 @@ def test_inspect_page_with_related_objects(pub):
wf = Workflow(name='External actions')
st1 = wf.add_status('Create external formdata')
# add a message to history, to check it doesn't interfer when searching for
# linked data.
register_comment = RegisterCommenterWorkflowStatusItem()
register_comment.id = '_register'
register_comment.comment = '<p>test</p>'
st1.items.append(register_comment)
register_comment.parent = st1
create_formdata = CreateFormdataWorkflowStatusItem()
create_formdata.label = 'create linked form'
create_formdata.formdef_slug = external_formdef.url_name

View File

@ -1229,13 +1229,14 @@ class FormData(StorableObject):
# search in evolution
for part in self.iter_evolution_parts():
is_linked = isinstance(part, LinkedFormdataEvolutionPart)
if not isinstance(part, LinkedFormdataEvolutionPart):
continue
part_identifier = '%s:%s' % (part.formdef.xml_root_node, part.formdef.url_name)
if is_linked and object_type:
if object_type:
# looking for an object of a specific type (workflow action)
if part_identifier == object_type:
data_ids.append((part_identifier, part.formdata_id))
elif is_linked:
else:
# looking for any object (inspect page)
data_ids.append((part_identifier, part.formdata_id))