const adduserbutton = document.querySelector("#adduserbutton"); const adduserform = document.querySelector(".adduserform"); const canceladduserbutton = document.querySelector("#canceladduser"); const adduserformbody = document.querySelector(".adduserformbody"); const usernameinput = document.querySelector("#adduserformusername"); const passwordinput = document.querySelector("#adduserformpassword"); const groupinput = document.querySelector("#adduserformgroup"); const is_superuserinput = document.querySelector("#adduserformissuperuser"); const emailinput = document.querySelector("#adduserformemail"); adduserbutton.addEventListener("click", () => { adduserform.classList.add("active"); }); canceladduserbutton.addEventListener("click", (e) => { e.preventDefault(); adduserform.classList.remove("active"); }); adduserformbody.addEventListener("submit", async (e) => { e.preventDefault(); const hashedpassword = await hashPassword(passwordinput.value); const new_user = { username: usernameinput.value, email: emailinput.value, password: hashedpassword, group: groupinput.value, is_superuser: is_superuserinput.checked, }; const status = await fetch(routes.adduser(), { method: "POST", headers: { "Content-Type": "application/json", }, body: `{"token":"${localStorage.getItem("token")}","username":"${new_user.username}","email":"${new_user.email}","password":"${new_user.password}","group":"${new_user.group}","is_superuser":${new_user.is_superuser}}`, }) .then((data) => data.json()) .then((jsondata) => jsondata) .catch((error) => { notification(`Ошибка на сервере: ${error}`, "error"); }); if (!status.error) { adduserform.classList.remove("active"); await get_all_users(); notification("Пользователь успешно добавлен", "success"); usernameinput.value = ""; passwordinput.value = ""; groupinput.value = ""; } else { notification(status.error, "error"); } });