If current status is invisible, search last one from evolutions (fixes #14257)
This commit is contained in:
parent
2bdd5ef6c2
commit
00f34ea1b1
|
@ -579,10 +579,19 @@ class WcsFormdefFeeder(object):
|
|||
for data in self.formdef.datas:
|
||||
|
||||
# ignore formdata without status
|
||||
if not data.workflow.status:
|
||||
if data.workflow.status:
|
||||
status_id = data.workflow.status.id
|
||||
elif data.evolution:
|
||||
for evolution in reversed(data.evolution):
|
||||
if evolution.status:
|
||||
status_id = evolution.status
|
||||
break
|
||||
else:
|
||||
continue
|
||||
else:
|
||||
continue
|
||||
|
||||
status = data.formdef.schema.workflow.statuses_map[data.workflow.status.id]
|
||||
status = data.formdef.schema.workflow.statuses_map[status_id]
|
||||
channel = data.submission.channel.lower()
|
||||
if channel == 'web' and data.submission.backoffice:
|
||||
channel = 'backoffice'
|
||||
|
@ -593,7 +602,7 @@ class WcsFormdefFeeder(object):
|
|||
'channel_id': self.channel_to_id[channel],
|
||||
'backoffice': data.submission.backoffice,
|
||||
'generic_status_id': self.generic_status(status),
|
||||
'status_id': self.status_mapping[data.workflow.status.id],
|
||||
'status_id': self.status_mapping[status_id],
|
||||
'endpoint_delay': data.endpoint_delay,
|
||||
'first_agent_id': self.get_first_agent_in_evolution(data),
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue