$(document).ready(function() { /********** Start saved maj ************/ var startMaj = document.getElementById("start_maj"); startMaj.addEventListener('click', function() { var modalContent = document.getElementById("modal-content"); var modalTitle = document.getElementById("modal-title"); var majNameSelect = document.getElementById("maj_name").value; if(majNameSelect !== "" && majNameSelect !== "--") { var request = new XMLHttpRequest(); request.open("POST", "/startsavedmaj"); var formData = new FormData(); formData.append("majname", majNameSelect); request.onreadystatechange = function() { if(this.readyState === XMLHttpRequest.DONE && this.status === 200) { var modalButton = document.getElementById("modal-button"); modalButton.addEventListener('click', function() { location.reload(); }) modalTitle.innerHTML = "Félicitations"; modalContent.innerHTML = "La mise à jour a bien été paramétrée"; $("#warningFilesNumber").modal(); } } request.send(formData); } else { modalTitle.innerHTML = "Attention !"; modalContent.innerHTML = "Veuillez choisir le nom d'une mise à jour"; $("#warningFilesNumber").modal(); } }) /********** Configuration file ***********/ /* var configName = document.getElementById("config_name"); var configSend = document.getElementById("config_send"); var file = document.getElementById("configInputFile"); var readyToSend = false; var formData = new FormData(); if(file != null) { file.addEventListener('change', function () { delete formData; formData = new FormData(); configName.innerHTML = this.files[0].name; formData.append("file", this.files[0]); readyToSend = true; }, false) configSend.addEventListener('click', function () { var modalContent = document.getElementById("modal-content"); var modalTitle = document.getElementById("modal-title"); if (readyToSend) { var request = new XMLHttpRequest(); request.open("POST", "/config"); request.onreadystatechange = function () { if (this.readyState === XMLHttpRequest.DONE && this.status === 200) { var modalButton = document.getElementById("modal-button"); modalButton.addEventListener('click', function (e) { location.reload(); }) modalContent.innerHTML = "Upload terminé !"; modalTitle.innerHTML = "Félicitations"; $("#warningFilesNumber").modal(); } } request.send(formData); } else { modalContent.innerHTML = "Veuillez sélectionner un fichier !"; $("#warningFilesNumber").modal() } }) } */ /********** Tableau **********/ var tableNodes = $('#nodes-table').DataTable( { responsive: true, select: { style: 'multi' } } ); var nodeSet = new Set(); var arch = ""; var first = true; tableNodes.on('select', function (e, dt, type, indexes) { var rowData = tableNodes.rows(indexes).data().toArray()[0]; nodeSet.add(rowData[3] + "@" + rowData[1]); var lastArch = arch; arch = rowData[2]; if(first != true && lastArch != arch) { alert("Veuillez choisir la même architecture"); tableNodes.rows().deselect(); nodeSet.clear(); first = true; } first = false; } ); tableNodes.on('deselect', function (e, dt, type, indexes) { var rowData = tableNodes.rows(indexes).data().toArray()[0]; nodeSet.delete(rowData[3] + "@" + rowData[1]); } ); var sendInfoMaj = function(action) { var form = document.createElement('form'); form.setAttribute('action', action); form.setAttribute('method', 'post'); var modalContent = document.getElementById("modal-content"); var majName = document.getElementById("majName").value; var majDate = document.getElementById("majDate").value; var majTime = document.getElementById("majTime").value; var majFile = document.getElementById("file_choice").value; if(nodeSet.size == 0) { $("#warningFilesNumber").modal(); } else if(majName === "") { modalContent.innerHTML = "Veuillez choisir un nom pour la mise à jour"; $("#warningFilesNumber").modal(); } else if(majDate === "") { modalContent.innerHTML = "Veuillez choisir une date pour la mise à jour" $("#warningFilesNumber").modal(); } else if(majTime === "") { modalContent.innerHTML = "Veuillez choisir une durée pour la mise à jour" $("#warningFilesNumber").modal(); } else if(majFile === "" || majFile === "--") { modalContent.innerHTML = "Veuillez choisir un fichier pour la mise à jour" $("#warningFilesNumber").modal(); } else { var nodes = Array.from(nodeSet); var inputvar1 = document.createElement('input'); inputvar1.setAttribute('type', 'hidden'); inputvar1.setAttribute('name', 'name'); inputvar1.setAttribute('value', majName); form.appendChild(inputvar1); var inputvar2 = document.createElement('input'); inputvar2.setAttribute('type', 'hidden'); inputvar2.setAttribute('name', 'date'); inputvar2.setAttribute('value', majDate); form.appendChild(inputvar2); var inputvar3 = document.createElement('input'); inputvar3.setAttribute('type', 'hidden'); inputvar3.setAttribute('name', 'nodes'); inputvar3.setAttribute('value', nodes.join(";")); form.appendChild(inputvar3); var inputvar4 = document.createElement('input'); inputvar4.setAttribute('type', 'hidden'); inputvar4.setAttribute('name', 'file'); inputvar4.setAttribute('value', majFile); form.appendChild(inputvar4); var inputvar5 = document.createElement('input'); inputvar5.setAttribute('type', 'hidden'); inputvar5.setAttribute('name', 'time'); inputvar5.setAttribute('value', majTime); form.appendChild(inputvar5); var inputvar6 = document.createElement('input'); inputvar6.setAttribute('type', 'hidden'); inputvar6.setAttribute('name', 'arch'); inputvar6.setAttribute('value', arch); form.appendChild(inputvar6); document.body.appendChild(form); form.submit(); } } document.getElementById("save_maj").addEventListener('click', function() { sendInfoMaj('savemaj'); }); document.getElementById("run_maj").addEventListener('click', function() { sendInfoMaj('runmaj'); }); } );