From 2bab323b8634a09d0aab414f08aa67f00e8bcf7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20M=C3=BCller=20=28ChaoticByte=29?= Date: Fri, 14 Apr 2023 20:48:01 +0200 Subject: [PATCH] Implemented 'custom forms' to replace individual scripts for deposit and supply forms --- app/static/js/{deposit.js => custom_form.js} | 12 +++--- app/static/js/supply.js | 39 -------------------- app/templates/deposit.html | 8 ++-- app/templates/supply.html | 10 ++--- 4 files changed, 15 insertions(+), 54 deletions(-) rename app/static/js/{deposit.js => custom_form.js} (78%) delete mode 100644 app/static/js/supply.js diff --git a/app/static/js/deposit.js b/app/static/js/custom_form.js similarity index 78% rename from app/static/js/deposit.js rename to app/static/js/custom_form.js index c2b6785..a29f07b 100644 --- a/app/static/js/deposit.js +++ b/app/static/js/custom_form.js @@ -1,15 +1,15 @@ document.addEventListener("DOMContentLoaded", () => { // elements - let depositForm = document.getElementById("depositform"); + let customForm = document.getElementById("customform"); let statusInfo = document.getElementById("statusinfo"); - let depositSubmitButton = document.getElementById("depositsubmitbtn"); + let submitButton = document.getElementById("submitbtn"); // event listener for deposit form // this implements a custom submit method - depositForm.addEventListener("submit", (event) => { - depositSubmitButton.disabled = true; + customForm.addEventListener("submit", (event) => { + submitButton.disabled = true; event.preventDefault(); // Don't do the default submit action! let xhr = new XMLHttpRequest(); - let formData = new FormData(depositForm); + let formData = new FormData(customForm); xhr.addEventListener("load", (event) => { status_ = event.target.status; response_ = event.target.responseText; @@ -28,7 +28,7 @@ document.addEventListener("DOMContentLoaded", () => { statusInfo.innerText = "An error occured. Redirecting in 5 seconds..."; window.setTimeout(() => { window.location.replace("/") }, 5000); }) - xhr.open("POST", "/api/deposit"); + xhr.open("POST", customForm.action); xhr.send(formData); }); }); diff --git a/app/static/js/supply.js b/app/static/js/supply.js deleted file mode 100644 index 04021e0..0000000 --- a/app/static/js/supply.js +++ /dev/null @@ -1,39 +0,0 @@ -document.addEventListener("DOMContentLoaded", () => { - // elements - let supplyDescriptionElement = document.getElementById("supplydescription"); - let supplyPriceElement = document.getElementById("supplyprice"); - let supplyFormElement = document.getElementById("supplyform"); - let statusInfoElement = document.getElementById("statusinfo"); - let supplySubmitButton = document.getElementById("supplysubmitbtn"); - // custom submit method - supplyFormElement.addEventListener("submit", (event) => { - supplySubmitButton.disabled = true; - event.preventDefault(); // Don't do the default submit action! - if (isNaN(parseFloat(supplyPriceElement.value)) || supplyDescriptionElement.value == "") { - statusInfoElement.innerText = "Please enter a description and price." - supplySubmitButton.disabled = false; - } - let xhr = new XMLHttpRequest(); - let formData = new FormData(supplyFormElement); - xhr.addEventListener("load", (event) => { - status_ = event.target.status; - response_ = event.target.responseText; - if (status_ == 200 && response_ == "success") { - statusInfoElement.innerText = "Success."; - window.location.replace("/"); - } - else { - statusInfoElement.classList.add("errortext"); - statusInfoElement.innerText = "An error occured."; - window.setTimeout(() => { window.location.reload() }, 5000); - } - }) - xhr.addEventListener("error", (event) => { - statusInfoElement.classList.add("errortext"); - statusInfoElement.innerText = "An error occured."; - window.setTimeout(() => { window.location.reload() }, 5000); - }) - xhr.open("POST", "/api/supply"); - xhr.send(formData); - }); -}); diff --git a/app/templates/deposit.html b/app/templates/deposit.html index 9334b3c..bbce3e1 100644 --- a/app/templates/deposit.html +++ b/app/templates/deposit.html @@ -12,13 +12,13 @@ {% endblock %} {% block content %} -
+ {% csrf_token %}

{% translate "Deposit" %}

{% translate "Amount" %} {{ currency_suffix }}: - +
@@ -28,9 +28,9 @@
- + {% endblock %} \ No newline at end of file diff --git a/app/templates/supply.html b/app/templates/supply.html index f907f2d..4f656c2 100644 --- a/app/templates/supply.html +++ b/app/templates/supply.html @@ -9,28 +9,28 @@ {% block content %} {% if user.is_superuser or user.allowed_to_supply %} -
+ {% csrf_token %}

{% translate "Supply" %}

{% translate "Description" %}: - +
{% translate "Price" %} ({{ currency_suffix }}): - +
- + {% else %}