Render progress info on non-javascript fallback page for celery tasks (#4452)

* Render progress info on non-javascript fallback page for celery tasks

* Review notes
This commit is contained in:
Raphael Michel
2024-09-17 13:29:27 +02:00
committed by GitHub
parent 32d6ded003
commit eb92e4d8e6
3 changed files with 38 additions and 1 deletions

View File

@@ -144,7 +144,12 @@ class AsyncMixin:
return self.success(res.info)
else:
return self.error(res.info)
return render(request, 'pretixpresale/waiting.html')
state, info = res.state, res.info
return render(request, 'pretixpresale/waiting.html', {
'started': state in ('PROGRESS', 'STARTED'),
'percentage': info.get('value', 0) if isinstance(info, dict) else 0,
'steps': info.get('steps', []) if isinstance(info, dict) else None,
})
def success(self, value):
smes = self.get_success_message(value)