Change JS in frontend to use API

This commit is contained in:
Iam54r1n4
2025-02-03 00:52:17 +00:00
parent 7d4b1872e6
commit 40a80f7bf3

View File

@ -67,7 +67,7 @@
<td>{{ user.expiry_date }}</td> <td>{{ user.expiry_date }}</td>
<td>{{ user.expiry_days }}</td> <td>{{ user.expiry_days }}</td>
<td> <td>
{% if user.enable == "enabled" %} {% if user.enable %}
<i class="fas fa-check-circle text-success"></i> <i class="fas fa-check-circle text-success"></i>
{% else %} {% else %}
<i class="fas fa-times-circle text-danger"></i> <i class="fas fa-times-circle text-danger"></i>
@ -211,22 +211,31 @@
// Add User Form Submit // Add User Form Submit
$("#addUserForm").on("submit", function (e) { $("#addUserForm").on("submit", function (e) {
e.preventDefault(); e.preventDefault();
const formData = $(this).serialize();
const formData = $(this).serializeArray();
const jsonData = {};
formData.forEach(field => {
jsonData[field.name] = field.value;
});
$.ajax({ $.ajax({
url: "{{ url_for('add_user') }}", url: " {{ url_for('add_user_api') }} ",
method: "POST", method: "POST",
data: formData, contentType: "application/json",
data: JSON.stringify(jsonData),
success: function (response) { success: function (response) {
if (response.message) { debugger;
if (response.detail) {
Swal.fire({ Swal.fire({
title: "Success!", title: "Success!",
text: response.message, text: response.detail,
icon: "success", icon: "success",
confirmButtonText: "OK", confirmButtonText: "OK",
}).then(() => { }).then(() => {
location.reload(); location.reload();
}); });
} else { } else {
debugger;
Swal.fire({ Swal.fire({
title: "Error!", title: "Error!",
text: response.error || "Failed to add user", text: response.error || "Failed to add user",
@ -269,11 +278,21 @@
$("#editUserForm").on("submit", function (e) { $("#editUserForm").on("submit", function (e) {
e.preventDefault(); e.preventDefault();
const formData = $(this).serialize();
const formData = $(this).serializeArray();
const jsonData = {};
formData.forEach(field => {
jsonData[field.name] = field.value;
});
const editUserUrl = "{{ url_for('edit_user_api', username='USERNAME_PLACEHOLDER') }}";
const url = editUserUrl.replace("USERNAME_PLACEHOLDER", encodeURIComponent($("#originalUsername").val()));
$.ajax({ $.ajax({
url: "{{ url_for('edit_user') }}", url: url,
method: "POST", method: "PATCH",
data: formData, contentType: "application/json",
data: JSON.stringify(jsonData),
success: function (response) { success: function (response) {
if (typeof response === 'string' && response.includes("User updated successfully")) { if (typeof response === 'string' && response.includes("User updated successfully")) {
const username = $("#originalUsername").val(); const username = $("#originalUsername").val();
@ -297,7 +316,7 @@
confirmButtonText: "OK", confirmButtonText: "OK",
}); });
} }
else if (response && response.message) { else if (response && response.detail) {
const username = $("#originalUsername").val(); const username = $("#originalUsername").val();
const row = $(`td[data-username='${username}']`).closest("tr"); const row = $(`td[data-username='${username}']`).closest("tr");
row.find("td:eq(1)").text($("#editUsername").val()); row.find("td:eq(1)").text($("#editUsername").val());
@ -316,7 +335,7 @@
// Show a success message // Show a success message
Swal.fire({ Swal.fire({
title: "Success!", title: "Success!",
text: response.message, text: response.detail,
icon: "success", icon: "success",
confirmButtonText: "OK", confirmButtonText: "OK",
}); });
@ -362,15 +381,18 @@
confirmButtonText: "Yes, reset it!", confirmButtonText: "Yes, reset it!",
}).then((result) => { }).then((result) => {
if (result.isConfirmed) { if (result.isConfirmed) {
const resetUserUrl = "{{ url_for('reset_user_api', username='USERNAME_PLACEHOLDER') }}";
const url = resetUserUrl.replace("USERNAME_PLACEHOLDER", encodeURIComponent(username));
$.ajax({ $.ajax({
url: "{{ url_for('reset_user') }}", url: url,
method: "POST", method: "GET",
data: { username: username }, contentType: "application/json",
data: JSON.stringify({ username: username }),
success: function (response) { success: function (response) {
if (response.message) { if (response.detail) {
Swal.fire({ Swal.fire({
title: "Success!", title: "Success!",
text: response.message, text: response.detail,
icon: "success", icon: "success",
confirmButtonText: "OK", confirmButtonText: "OK",
}).then(() => { }).then(() => {
@ -412,15 +434,18 @@
confirmButtonText: "Yes, delete it!", confirmButtonText: "Yes, delete it!",
}).then((result) => { }).then((result) => {
if (result.isConfirmed) { if (result.isConfirmed) {
const removeUserUrl = "{{ url_for('remove_user_api', username='USERNAME_PLACEHOLDER') }}";
const url = removeUserUrl.replace("USERNAME_PLACEHOLDER", encodeURIComponent(username));
$.ajax({ $.ajax({
url: "{{ url_for('delete_user') }}", url: url,
method: "POST", method: "DELETE",
data: { username: username }, contentType: "application/json",
data: JSON.stringify({ username: username }),
success: function (response) { success: function (response) {
if (response.message) { if (response.detail) {
Swal.fire({ Swal.fire({
title: "Success!", title: "Success!",
text: response.message, text: response.detail,
icon: "success", icon: "success",
confirmButtonText: "OK", confirmButtonText: "OK",
}).then(() => { }).then(() => {