Some checks failed
Deployment Verification / deploy-and-test (push) Failing after 29s
149 lines
4.6 KiB
JavaScript
149 lines
4.6 KiB
JavaScript
/*************************
|
|
* Case update section
|
|
*************************/
|
|
/* Dropzone creation for update */
|
|
Dropzone.autoDiscover = false;
|
|
|
|
Dropzone.prototype.getErroredFiles = function () {
|
|
var file, _i, _len, _ref, _results;
|
|
_ref = this.files;
|
|
_results = [];
|
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
|
file = _ref[_i];
|
|
if (file.status === Dropzone.ERROR) {
|
|
_results.push(file);
|
|
}
|
|
}
|
|
return _results;
|
|
};
|
|
|
|
var dropUpdate = new Dropzone("div#files_drop_1", {
|
|
url: "/manage/cases/upload_files" + case_param(),
|
|
addRemoveLinks: true,
|
|
autoProcessQueue: false,
|
|
parallelUploads: 40,
|
|
maxFiles: 40,
|
|
maxFilesize: 10000,
|
|
timeout: 0,
|
|
complete: function () {
|
|
if (this.getUploadingFiles().length === 0 && this.getQueuedFiles().length === 0 && this.getErroredFiles().length === 0) {
|
|
$('#submit_update_case').text('Notifying for new import')
|
|
send_update_case_data();
|
|
}
|
|
},
|
|
error: function(jqXHR, error) {
|
|
if(error !== null || error !== undefined) {
|
|
notify_error(error.message);
|
|
} else {
|
|
notify_error(jqXHR);
|
|
ajax_notify_error(jqXHR, this.url);
|
|
}
|
|
}
|
|
});
|
|
|
|
/* Add of field for file upload */
|
|
dropUpdate.on('sending', function (file, xhr, formData) {
|
|
formData.append('is_update', true);
|
|
formData.append('pipeline', $('#update_pipeline_selector').val() );
|
|
formData.append('csrf_token', $('#csrf_token').val());
|
|
});
|
|
|
|
/* Update case function. start the update task */
|
|
|
|
function send_update_case_data() {
|
|
|
|
/* Get the pipeline args */
|
|
var args = Object();
|
|
$.each($(".update-" + $('#update_pipeline_selector').val()), function(el, k) {
|
|
args['args_' + k.id] = k.value;
|
|
});
|
|
args['pipeline'] = $('#update_pipeline_selector').val();
|
|
args['csrf_token'] = $('#csrf_token').val();
|
|
|
|
post_request_api('/manage/cases/trigger-pipeline', JSON.stringify(args), true, function () {
|
|
$('#submit_update_case').text('Starting pipeline');
|
|
$('#submit_update_case')
|
|
.attr("disabled", true)
|
|
.addClass('bt-outline-success')
|
|
.removeClass('btn-success', 'text-dark');
|
|
})
|
|
.done((data) => {
|
|
if (notify_auto_api(data, true)) {
|
|
$('#submit_update_case').text('Saved');
|
|
swal("That's done !",
|
|
"Files are being processed in background.\nYou can follow the progress in DIM Tasks",
|
|
"success",
|
|
{
|
|
buttons: {
|
|
again: {
|
|
text: "Import files again",
|
|
value: "again"
|
|
},
|
|
dash: {
|
|
text: "Go to dashboard",
|
|
value: "dash",
|
|
}
|
|
}
|
|
}
|
|
).then((value) => {
|
|
switch (value) {
|
|
|
|
case "dash":
|
|
window.location.replace("/dashboard" + case_param());
|
|
break;
|
|
|
|
case "again":
|
|
window.location.replace("/case" + case_param());
|
|
break;
|
|
|
|
default:
|
|
window.location.replace("/case" + case_param());
|
|
}
|
|
});
|
|
} else {
|
|
$('#submit_update_case').text('Save');
|
|
mdata = ""
|
|
for (element in data.data) {
|
|
mdata += data.data[element]
|
|
}
|
|
$.notify({
|
|
icon: 'flaticon-error',
|
|
title: data.message,
|
|
message: mdata
|
|
}, {
|
|
type: 'danger',
|
|
placement: {
|
|
from: 'top',
|
|
align: 'right'
|
|
},
|
|
time: 5000,
|
|
});
|
|
swal("Oh no !", data.message, "error")
|
|
}
|
|
})
|
|
.fail(() => {
|
|
$('#submit_new_case_btn').text('Save');
|
|
})
|
|
.always(() => {
|
|
$('#submit_update_case')
|
|
.attr("disabled", false)
|
|
.addClass('bt-outline-success')
|
|
.removeClass('btn-success', 'text-dark');
|
|
});
|
|
}
|
|
|
|
/* Event listener to process update queue */
|
|
function submit_update_casefn() {
|
|
|
|
var dse = $(".update-" + $('#update_pipeline_selector').val());
|
|
for (var elm=0; elm < $(dse).length; elm++) {
|
|
if($(dse[elm]).find('input').attr('required')) {
|
|
if ( ! $(dse[elm]).find('input').val() ) {
|
|
notify_error("Required fields are not set");
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
dropUpdate.processQueue();
|
|
} |