misc: display completion status for multi actions (#41404)

This commit is contained in:
Lauréline Guérin 2020-09-25 15:58:30 +02:00
parent e077697175
commit 6e1a519e0f
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
3 changed files with 9 additions and 3 deletions

View File

@ -1881,8 +1881,10 @@ class FormPage(Directory):
def execute(self, job=None):
formdatas = self.formdef.data_class().get_ids(self.item_ids)
job.completion_status = '{}/{}'.format(0, len(formdatas))
job.store()
publisher = get_publisher()
for formdata in formdatas:
for i, formdata in enumerate(formdatas):
publisher.substitutions.reset()
publisher.substitutions.feed(publisher)
publisher.substitutions.feed(self.formdef)
@ -1894,6 +1896,8 @@ class FormPage(Directory):
else:
# global action
formdata.perform_global_action(self.action['action'].id, self.user)
job.completion_status = '{}/{}'.format(i+1, len(formdatas))
job.store()
item_ids = get_request().form['select[]']
if '_all' in item_ids:

View File

@ -31,5 +31,6 @@ class AfterJobStatusDirectory(Directory):
response = get_response()
response.set_content_type('text/plain')
return job.status + '|' + _(job.status)
if not job.completion_status:
return job.status + '|' + _(job.status)
return job.status + '|' + _(job.status) + ' ' + job.completion_status

View File

@ -36,6 +36,7 @@ class AfterJob(StorableObject):
status = None
creation_time = None
completion_time = None
completion_status = None
class HTTPResponse(quixote.http_response.HTTPResponse):