diff --git a/employee/static/employee/actions.js b/employee/static/employee/actions.js index c8911395b..18f95e4d2 100644 --- a/employee/static/employee/actions.js +++ b/employee/static/employee/actions.js @@ -67,16 +67,20 @@ function getCookie(name) { return cookieValue; } -function getCurrentLanguageCode(callback) { - $.ajax({ - type: "GET", - url: "/employee/get-language-code/", - success: function (response) { - var languageCode = response.language_code; - callback(languageCode); // Pass the language code to the callback - }, - }); -} +// function getCurrentLanguageCode(callback) { +// var language_code = $("#main-section-data").attr("data-lang"); +// console.log("[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]"); +// console.log(language_code); +// console.log("[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]"); +// $.ajax({ +// type: "GET", +// url: "/employee/get-language-code/", +// success: function (response) { +// var languageCode = response.language_code; +// callback(languageCode); // Pass the language code to the callback +// }, +// }); +// } $(".all-employee").change(function (e) { var is_checked = $(this).is(":checked"); @@ -122,22 +126,19 @@ function addingIds() { ids = makeListUnique(ids); selectedCount = ids.length; - - getCurrentLanguageCode(function (code) { - languageCode = code; - var message = rowMessages[languageCode]; - - $("#selectedInstances").attr("data-ids", JSON.stringify(ids)); - - if (selectedCount === 0) { - $("#selectedShow").css("display", "none"); - $("#exportInstances").css("display", "none"); - } else { - $("#exportInstances").css("display", "inline-flex"); - $("#selectedShow").css("display", "inline-flex"); - $("#selectedShow").text(selectedCount + " - " + message); - } - }); + languageCode = $("#main-section-data").attr("data-lang"); + var message = + rowMessages[languageCode] || + ((languageCode = "en"), rowMessages[languageCode]); + $("#selectedInstances").attr("data-ids", JSON.stringify(ids)); + if (selectedCount === 0) { + $("#selectedShow").css("display", "none"); + $("#exportInstances").css("display", "none"); + } else { + $("#exportInstances").css("display", "inline-flex"); + $("#selectedShow").css("display", "inline-flex"); + $("#selectedShow").text(selectedCount + " - " + message); + } } function tickCheckboxes() { @@ -153,18 +154,18 @@ function tickCheckboxes() { $("#" + id).prop("checked", true); }); var selectedCount = uniqueIds.length; - getCurrentLanguageCode(function (code) { - languageCode = code; - var message = rowMessages[languageCode]; - if (selectedCount > 0) { - $("#exportInstances").css("display", "inline-flex"); - $("#selectedShow").css("display", "inline-flex"); - $("#selectedShow").text(selectedCount + " -" + message); - } else { - $("#selectedShow").css("display", "none"); - $("#exportInstances").css("display", "none"); - } - }); + languageCode = $("#main-section-data").attr("data-lang"); + var message = + rowMessages[languageCode] || + ((languageCode = "en"), rowMessages[languageCode]); + if (selectedCount > 0) { + $("#exportInstances").css("display", "inline-flex"); + $("#selectedShow").css("display", "inline-flex"); + $("#selectedShow").text(selectedCount + " -" + message); + } else { + $("#selectedShow").css("display", "none"); + $("#exportInstances").css("display", "none"); + } } function selectAllInstances() { @@ -284,229 +285,234 @@ function unselectAllInstances() { $("#exportInstances").click(function (e) { var currentDate = new Date().toISOString().slice(0, 10); var languageCode = null; + languageCode = $("#main-section-data").attr("data-lang"); + var confirmMessage = + excelMessages[languageCode] || + ((languageCode = "en"), excelMessages[languageCode]); ids = []; ids.push($("#selectedInstances").attr("data-ids")); ids = JSON.parse($("#selectedInstances").attr("data-ids")); - getCurrentLanguageCode(function (code) { - languageCode = code; - var confirmMessage = excelMessages[languageCode]; + Swal.fire({ + text: confirmMessage, + icon: "question", + showCancelButton: true, + confirmButtonColor: "#008000", + cancelButtonColor: "#d33", + confirmButtonText: "Confirm", + }).then(function (result) { + if (result.isConfirmed) { + $.ajax({ + type: "GET", + url: "/employee/work-info-export", + data: { + ids: JSON.stringify(ids), + }, + dataType: "binary", + xhrFields: { + responseType: "blob", + }, + success: function (response) { + const file = new Blob([response], { + type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + }); + const url = URL.createObjectURL(file); + const link = document.createElement("a"); + link.href = url; + link.download = "employee_export_" + currentDate + ".xlsx"; + document.body.appendChild(link); + link.click(); + }, + error: function (xhr, textStatus, errorThrown) { + console.error("Error downloading file:", errorThrown); + }, + }); + } + }); +}); + +$("#employeeBulkUpdateId").click(function (e) { + var languageCode = null; + languageCode = $("#main-section-data").attr("data-lang"); + var textMessage = + noRowMessages[languageCode] || + ((languageCode = "en"), noRowMessages[languageCode]); + ids = []; + ids.push($("#selectedInstances").attr("data-ids")); + ids = JSON.parse($("#selectedInstances").attr("data-ids")); + if (ids.length === 0) { + $("#bulkUpdateModal").removeClass("oh-modal--show"); + Swal.fire({ + text: textMessage, + icon: "warning", + confirmButtonText: "Close", + }); + } else { + $("#id_bulk_employee_ids").val(JSON.stringify(ids)); + } +}); + +$("#archiveEmployees").click(function (e) { + e.preventDefault(); + var languageCode = null; + languageCode = $("#main-section-data").attr("data-lang"); + var confirmMessage = + archiveMessages[languageCode] || + ((languageCode = "en"), archiveMessages[languageCode]); + var textMessage = + noRowMessages[languageCode] || + ((languageCode = "en"), noRowMessages[languageCode]); + ids = []; + ids.push($("#selectedInstances").attr("data-ids")); + ids = JSON.parse($("#selectedInstances").attr("data-ids")); + if (ids.length === 0) { + Swal.fire({ + text: textMessage, + icon: "warning", + confirmButtonText: "Close", + }); + } else { Swal.fire({ text: confirmMessage, - icon: "question", + icon: "info", showCancelButton: true, confirmButtonColor: "#008000", cancelButtonColor: "#d33", confirmButtonText: "Confirm", }).then(function (result) { if (result.isConfirmed) { + e.preventDefault(); + ids = []; + ids.push($("#selectedInstances").attr("data-ids")); + ids = JSON.parse($("#selectedInstances").attr("data-ids")); $.ajax({ - type: "GET", - url: "/employee/work-info-export", + type: "POST", + url: "/employee/employee-bulk-archive?is_active=False", data: { + csrfmiddlewaretoken: getCookie("csrftoken"), ids: JSON.stringify(ids), }, - dataType: "binary", - xhrFields: { - responseType: "blob", - }, - success: function (response) { - const file = new Blob([response], { - type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - }); - const url = URL.createObjectURL(file); - const link = document.createElement("a"); - link.href = url; - link.download = "employee_export_" + currentDate + ".xlsx"; - document.body.appendChild(link); - link.click(); - }, - error: function (xhr, textStatus, errorThrown) { - console.error("Error downloading file:", errorThrown); + success: function (response, textStatus, jqXHR) { + if (jqXHR.status === 200) { + location.reload(); // Reload the current page + } else { + // console.log("Unexpected HTTP status:", jqXHR.status); + } }, }); } }); - }); -}); - -$("#employeeBulkUpdateId").click(function (e) { - var languageCode = null; - getCurrentLanguageCode(function (code) { - languageCode = code; - var textMessage = noRowMessages[languageCode]; - ids = []; - ids.push($("#selectedInstances").attr("data-ids")); - ids = JSON.parse($("#selectedInstances").attr("data-ids")); - if (ids.length === 0) { - $("#bulkUpdateModal").removeClass("oh-modal--show"); - Swal.fire({ - text: textMessage, - icon: "warning", - confirmButtonText: "Close", - }); - } else { - $("#id_bulk_employee_ids").val(JSON.stringify(ids)); - } - }); -}); - -$("#archiveEmployees").click(function (e) { - e.preventDefault(); - var languageCode = null; - getCurrentLanguageCode(function (code) { - languageCode = code; - var confirmMessage = archiveMessages[languageCode]; - var textMessage = noRowMessages[languageCode]; - ids = []; - ids.push($("#selectedInstances").attr("data-ids")); - ids = JSON.parse($("#selectedInstances").attr("data-ids")); - if (ids.length === 0) { - Swal.fire({ - text: textMessage, - icon: "warning", - confirmButtonText: "Close", - }); - } else { - Swal.fire({ - text: confirmMessage, - icon: "info", - showCancelButton: true, - confirmButtonColor: "#008000", - cancelButtonColor: "#d33", - confirmButtonText: "Confirm", - }).then(function (result) { - if (result.isConfirmed) { - e.preventDefault(); - ids = []; - ids.push($("#selectedInstances").attr("data-ids")); - ids = JSON.parse($("#selectedInstances").attr("data-ids")); - - $.ajax({ - type: "POST", - url: "/employee/employee-bulk-archive?is_active=False", - data: { - csrfmiddlewaretoken: getCookie("csrftoken"), - ids: JSON.stringify(ids), - }, - success: function (response, textStatus, jqXHR) { - if (jqXHR.status === 200) { - location.reload(); // Reload the current page - } else { - // console.log("Unexpected HTTP status:", jqXHR.status); - } - }, - }); - } - }); - } - }); + } }); $("#unArchiveEmployees").click(function (e) { e.preventDefault(); var languageCode = null; - getCurrentLanguageCode(function (code) { - languageCode = code; - var confirmMessage = unarchiveMessages[languageCode]; - var textMessage = noRowMessages[languageCode]; - ids = []; - ids.push($("#selectedInstances").attr("data-ids")); - ids = JSON.parse($("#selectedInstances").attr("data-ids")); - if (ids.length === 0) { - Swal.fire({ - text: textMessage, - icon: "warning", - confirmButtonText: "Close", - }); - } else { - Swal.fire({ - text: confirmMessage, - icon: "info", - showCancelButton: true, - confirmButtonColor: "#008000", - cancelButtonColor: "#d33", - confirmButtonText: "Confirm", - }).then(function (result) { - if (result.isConfirmed) { - e.preventDefault(); + languageCode = $("#main-section-data").attr("data-lang"); + var confirmMessage = + unarchiveMessages[languageCode] || + ((languageCode = "en"), unarchiveMessages[languageCode]); + var textMessage = + noRowMessages[languageCode] || + ((languageCode = "en"), noRowMessages[languageCode]); + ids = []; + ids.push($("#selectedInstances").attr("data-ids")); + ids = JSON.parse($("#selectedInstances").attr("data-ids")); + if (ids.length === 0) { + Swal.fire({ + text: textMessage, + icon: "warning", + confirmButtonText: "Close", + }); + } else { + Swal.fire({ + text: confirmMessage, + icon: "info", + showCancelButton: true, + confirmButtonColor: "#008000", + cancelButtonColor: "#d33", + confirmButtonText: "Confirm", + }).then(function (result) { + if (result.isConfirmed) { + e.preventDefault(); - ids = []; + ids = []; - ids.push($("#selectedInstances").attr("data-ids")); - ids = JSON.parse($("#selectedInstances").attr("data-ids")); + ids.push($("#selectedInstances").attr("data-ids")); + ids = JSON.parse($("#selectedInstances").attr("data-ids")); - $.ajax({ - type: "POST", - url: "/employee/employee-bulk-archive?is_active=True", - data: { - csrfmiddlewaretoken: getCookie("csrftoken"), - ids: JSON.stringify(ids), - }, - success: function (response, textStatus, jqXHR) { - if (jqXHR.status === 200) { - location.reload(); // Reload the current page - } else { - // console.log("Unexpected HTTP status:", jqXHR.status); - } - }, - }); - } - }); - } - }); + $.ajax({ + type: "POST", + url: "/employee/employee-bulk-archive?is_active=True", + data: { + csrfmiddlewaretoken: getCookie("csrftoken"), + ids: JSON.stringify(ids), + }, + success: function (response, textStatus, jqXHR) { + if (jqXHR.status === 200) { + location.reload(); // Reload the current page + } else { + // console.log("Unexpected HTTP status:", jqXHR.status); + } + }, + }); + } + }); + } }); $("#deleteEmployees").click(function (e) { e.preventDefault(); var languageCode = null; - getCurrentLanguageCode(function (code) { - languageCode = code; - var confirmMessage = deleteMessages[languageCode]; - var textMessage = noRowMessages[languageCode]; - ids = []; - ids.push($("#selectedInstances").attr("data-ids")); - ids = JSON.parse($("#selectedInstances").attr("data-ids")); - if (ids.length === 0) { - Swal.fire({ - text: textMessage, - icon: "warning", - confirmButtonText: "Close", - }); - } else { - Swal.fire({ - text: confirmMessage, - icon: "error", - showCancelButton: true, - confirmButtonColor: "#008000", - cancelButtonColor: "#d33", - confirmButtonText: "Confirm", - }).then(function (result) { - if (result.isConfirmed) { - e.preventDefault(); + languageCode = $("#main-section-data").attr("data-lang"); + var confirmMessage = + deleteMessages[languageCode] || + ((languageCode = "en"), deleteMessages[languageCode]); + var textMessage = + noRowMessages[languageCode] || + ((languageCode = "en"), noRowMessages[languageCode]); + ids = []; + ids.push($("#selectedInstances").attr("data-ids")); + ids = JSON.parse($("#selectedInstances").attr("data-ids")); + if (ids.length === 0) { + Swal.fire({ + text: textMessage, + icon: "warning", + confirmButtonText: "Close", + }); + } else { + Swal.fire({ + text: confirmMessage, + icon: "error", + showCancelButton: true, + confirmButtonColor: "#008000", + cancelButtonColor: "#d33", + confirmButtonText: "Confirm", + }).then(function (result) { + if (result.isConfirmed) { + e.preventDefault(); - ids = []; - ids.push($("#selectedInstances").attr("data-ids")); - ids = JSON.parse($("#selectedInstances").attr("data-ids")); + ids = []; + ids.push($("#selectedInstances").attr("data-ids")); + ids = JSON.parse($("#selectedInstances").attr("data-ids")); - $.ajax({ - type: "POST", - url: "/employee/employee-bulk-delete", - data: { - csrfmiddlewaretoken: getCookie("csrftoken"), - ids: JSON.stringify(ids), - }, - success: function (response, textStatus, jqXHR) { - if (jqXHR.status === 200) { - location.reload(); // Reload the current page - } else { - // console.log("Unexpected HTTP status:", jqXHR.status); - } - }, - }); - } - }); - } - }); + $.ajax({ + type: "POST", + url: "/employee/employee-bulk-delete", + data: { + csrfmiddlewaretoken: getCookie("csrftoken"), + ids: JSON.stringify(ids), + }, + success: function (response, textStatus, jqXHR) { + if (jqXHR.status === 200) { + location.reload(); // Reload the current page + } else { + // console.log("Unexpected HTTP status:", jqXHR.status); + } + }, + }); + } + }); + } }); $("#select-all-fields").change(function () { diff --git a/employee/static/employee/importExport.js b/employee/static/employee/importExport.js index a3621bb5d..7f180dec8 100644 --- a/employee/static/employee/importExport.js +++ b/employee/static/employee/importExport.js @@ -6,23 +6,23 @@ var downloadMessages = { fr: "Voulez-vous télécharger le modèle ?", }; -var importsuccess = { - ar: "نجح الاستيراد", // Arabic - de: "Import erfolgreich", // German - es: "Importado con éxito", // Spanish - en: "Imported Successfully!", // English - fr: "Importation réussie" // French +var importSuccess = { + ar: "نجح الاستيراد", + de: "Import erfolgreich", + es: "Importado con éxito", + en: "Imported Successfully!", + fr: "Importation réussie", }; -var uploadsuccess = { - ar: "تحميل كامل", // Arabic - de: "Upload abgeschlossen", // German - es: "Carga completa", // Spanish - en: "Upload Complete!", // English - fr: "Téléchargement terminé" // French +var uploadSuccess = { + ar: "تحميل كامل", + de: "Upload abgeschlossen", + es: "Carga completa", + en: "Upload Complete!", + fr: "Téléchargement terminé", }; -var uploadingmessage = { +var uploadingMessage = { ar: "جارٍ الرفع", de: "Hochladen...", es: "Subiendo...", @@ -30,7 +30,7 @@ var uploadingmessage = { fr: "Téléchargement en cours...", }; -var validationmessage = { +var validationMessage = { ar: "يرجى تحميل ملف بامتداد .xlsx فقط.", de: "Bitte laden Sie nur eine Datei mit der Erweiterung .xlsx hoch.", es: "Por favor, suba un archivo con la extensión .xlsx solamente.", @@ -40,16 +40,16 @@ var validationmessage = { function getCookie(name) { let cookieValue = null; - if (document.cookie && document.cookie !== '') { - const cookies = document.cookie.split(';'); - for (let i = 0; i < cookies.length; i++) { - const cookie = cookies[i].trim(); - // Does this cookie string begin with the name we want? - if (cookie.substring(0, name.length + 1) === (name + '=')) { - cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); - break; - } + if (document.cookie && document.cookie !== "") { + const cookies = document.cookie.split(";"); + for (let i = 0; i < cookies.length; i++) { + const cookie = cookies[i].trim(); + // Does this cookie string begin with the name we want? + if (cookie.substring(0, name.length + 1) === name + "=") { + cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); + break; } + } } return cookieValue; } @@ -65,7 +65,6 @@ function getCurrentLanguageCode(callback) { }); } - // Get the form element var form = document.getElementById("workInfoImportForm"); @@ -88,7 +87,7 @@ form.addEventListener("submit", function (event) { processData: false, contentType: false, headers: { - "X-CSRFToken": getCookie('csrftoken'), // Replace with your csrf token value + "X-CSRFToken": getCookie("csrftoken"), // Replace with your csrf token value }, xhrFields: { responseType: "blob", @@ -110,58 +109,58 @@ form.addEventListener("submit", function (event) { }); }); - $("#work-info-import").click(function (e) { e.preventDefault(); var languageCode = null; - getCurrentLanguageCode(function (code) { - languageCode = code; - var confirmMessage = downloadMessages[languageCode]; - Swal.fire({ - text: confirmMessage, - icon: 'question', - showCancelButton: true, - confirmButtonColor: '#008000', - cancelButtonColor: '#d33', - confirmButtonText: 'Confirm' - }).then(function(result) { - if (result.isConfirmed) { + languageCode = $("#main-section-data").attr("data-lang"); + var confirmMessage = + downloadMessages[languageCode] || + ((languageCode = "en"), downloadMessages[languageCode]); + Swal.fire({ + text: confirmMessage, + icon: "question", + showCancelButton: true, + confirmButtonColor: "#008000", + cancelButtonColor: "#d33", + confirmButtonText: "Confirm", + }).then(function (result) { + if (result.isConfirmed) { + $("#loading").show(); - $("#loading").show(); + var xhr = new XMLHttpRequest(); + xhr.open("GET", "/employee/work-info-import", true); + xhr.responseType = "arraybuffer"; - var xhr = new XMLHttpRequest(); - xhr.open('GET', '/employee/work-info-import', true); - xhr.responseType = 'arraybuffer'; + xhr.upload.onprogress = function (e) { + if (e.lengthComputable) { + var percent = (e.loaded / e.total) * 100; + $(".progress-bar") + .width(percent + "%") + .attr("aria-valuenow", percent); + $("#progress-text").text("Uploading... " + percent.toFixed(2) + "%"); + } + }; - xhr.upload.onprogress = function (e) { - if (e.lengthComputable) { - var percent = (e.loaded / e.total) * 100; - $(".progress-bar").width(percent + "%").attr("aria-valuenow", percent); - $("#progress-text").text("Uploading... " + percent.toFixed(2) + "%"); - } - }; + xhr.onload = function (e) { + if (this.status == 200) { + const file = new Blob([this.response], { + type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + }); + const url = URL.createObjectURL(file); + const link = document.createElement("a"); + link.href = url; + link.download = "work_info_template.xlsx"; + document.body.appendChild(link); + link.click(); + } + }; - xhr.onload = function (e) { - if (this.status == 200) { - const file = new Blob([this.response], { - type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - }); - const url = URL.createObjectURL(file); - const link = document.createElement("a"); - link.href = url; - link.download = "work_info_template.xlsx"; - document.body.appendChild(link); - link.click(); - } - }; + xhr.onerror = function (e) { + console.error("Error downloading file:", e); + }; - xhr.onerror = function (e) { - console.error("Error downloading file:", e); - }; - - xhr.send(); - } - }); + xhr.send(); + } }); }); @@ -175,21 +174,26 @@ $(document).ajaxStop(function () { function simulateProgress() { var languageCode = null; - getCurrentLanguageCode(function(code){ - languageCode = code; - var importMessage = importsuccess[languageCode]; - var uploadMessage = uploadsuccess[languageCode]; - var uploadingMessage = uploadingmessage[languageCode]; - let progressBar = document.querySelector('.progress-bar'); - let progressText = document.getElementById('progress-text'); + languageCode = $("#main-section-data").attr("data-lang"); + var importMessage = + importSuccess[languageCode] || + ((languageCode = "en"), importSuccess[languageCode]); + var uploadMessage = + uploadSuccess[languageCode] || + ((languageCode = "en"), uploadSuccess[languageCode]); + var uploadingMessage = + uploadingMessage[languageCode] || + ((languageCode = "en"), uploadingMessage[languageCode]); + let progressBar = document.querySelector(".progress-bar"); + let progressText = document.getElementById("progress-text"); let width = 0; - let interval = setInterval(function() { + let interval = setInterval(function () { if (width >= 100) { clearInterval(interval); progressText.innerText = uploadMessage; - setTimeout(function() { - document.getElementById('loading').style.display = 'none'; + setTimeout(function () { + document.getElementById("loading").style.display = "none"; }, 3000); Swal.fire({ text: importMessage, @@ -198,54 +202,49 @@ function simulateProgress() { timer: 2000, timerProgressBar: true, }); - setTimeout(function() { - $('#workInfoImport').removeClass('oh-modal--show'); + setTimeout(function () { + $("#workInfoImport").removeClass("oh-modal--show"); location.reload(true); }, 2000); } else { width++; - progressBar.style.width = width + '%'; - progressBar.setAttribute('aria-valuenow', width); - progressText.innerText = uploadingMessage + width + '%'; + progressBar.style.width = width + "%"; + progressBar.setAttribute("aria-valuenow", width); + progressText.innerText = uploadingMessage + width + "%"; } }, 20); } -)} -document.getElementById('workInfoImportForm').addEventListener('submit', function(event) { - event.preventDefault(); - var languageCode = null; - getCurrentLanguageCode(function(code){ - languageCode = code; - var erroMessage = validationmessage[languageCode]; +document + .getElementById("workInfoImportForm") + .addEventListener("submit", function (event) { + event.preventDefault(); + var languageCode = null; + languageCode = $("#main-section-data").attr("data-lang"); + var errorMessage = + validationMessage[languageCode] || + ((languageCode = "en"), validationMessage[languageCode]); + var fileInput = $("#workInfoImportFile").val(); + var allowedExtensions = /(\.xlsx)$/i; - var fileInput = $('#workInfoImportFile').val(); - var allowedExtensions = /(\.xlsx)$/i; + if (!allowedExtensions.exec(fileInput)) { + var errorMessage = document.createElement("div"); + errorMessage.classList.add("error-message"); - if (!allowedExtensions.exec(fileInput)) { + errorMessage.textContent = errorMessage; - var errorMessage = document.createElement('div'); - errorMessage.classList.add('error-message'); - - errorMessage.textContent = erroMessage; + document.getElementById("error-container").appendChild(errorMessage); - document.getElementById('error-container').appendChild(errorMessage); + fileInput.value = ""; - fileInput.value = ''; - - setTimeout(function() { - errorMessage.remove(); - }, 2000); + setTimeout(function () { + errorMessage.remove(); + }, 2000); - return false; - } - else{ + return false; + } else { + document.getElementById("loading").style.display = "block"; - document.getElementById('loading').style.display = 'block'; - - - simulateProgress(); - } - -}); -}) + simulateProgress(); + } + }); diff --git a/employee/templates/employee_nav.html b/employee/templates/employee_nav.html index 21a596908..685d862c2 100644 --- a/employee/templates/employee_nav.html +++ b/employee/templates/employee_nav.html @@ -104,7 +104,7 @@ role="dialog" aria-labelledby="employeeExport" aria-hidden="true" - > +>