Skip to content
Snippets Groups Projects

Resolve "celery-progress doesn't show status messages between last PROGRESS and the SUCCESS poll"

3 files
+ 28
12
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -24,25 +24,32 @@ function renderMessageBox(level, text) {
return '<div class="alert ' + STYLE_CLASSES[level] + '"><p><i class="material-icons iconify left" data-icon="' + ICONS[level] + '"></i>' + text + '</p></div>';
}
function updateMessages(messages) {
const messagesBox = $("#messages");
// Clear container
messagesBox.html("");
// Render message boxes
$.each(messages, function (i, message) {
messagesBox.append(renderMessageBox(message[0], message[1]));
});
}
function customProgress(progressBarElement, progressBarMessageElement, progress) {
setProgress(progress.percent);
if (progress.hasOwnProperty("messages")) {
const messagesBox = $("#messages");
// Clear container
messagesBox.html("")
// Render message boxes
$.each(progress.messages, function (i, message) {
messagesBox.append(renderMessageBox(message[0], message[1]));
})
updateMessages(progress.messages);
}
}
function customSuccess(progressBarElement, progressBarMessageElement) {
function customSuccess(progressBarElement, progressBarMessageElement, result) {
setProgress(100);
if (result) {
updateMessages(result);
}
$("#result-alert").addClass("success");
$("#result-icon").attr("data-icon", "mdi:check-circle-outline");
$("#result-text").text(OPTIONS.success);
@@ -54,8 +61,11 @@ function customSuccess(progressBarElement, progressBarMessageElement) {
}
}
function customError(progressBarElement, progressBarMessageElement) {
function customError(progressBarElement, progressBarMessageElement, excMessage) {
setProgress(100);
if (excMessage) {
updateMessages([40, excMessage]);
}
$("#result-alert").addClass("error");
$("#result-icon").attr("data-icon", "mdi:alert-octagon-outline");
$("#result-text").text(OPTIONS.error);
Loading