const changeuserform = document.querySelector(".changeuserform"); const changeuserformbody = document.querySelector(".changeuserformbody"); const changeuserformusername = document.querySelector( "#changeuserformusername", ); const changeuserformemail = document.querySelector("#changeuserformemail"); const changeuserformgroup = document.querySelector("#changeuserformgroup"); const changeuserformissuperuser = document.querySelector( "#changeuserformissuperuser", ); const cancelchangeuser = document.querySelector("#cancelchangeuser"); let changedatauserid = ""; let userdata = ""; const change_user_data = async (userid) => { changeuserform.classList.add("active"); changedatauserid = userid; const all_users = await fetch(routes.all_users(), { method: "POST", headers: { "Content-Type": "application/json", }, body: `{"token":"${localStorage.getItem("token")}"}`, }) .then((data) => data.json()) .then((jsondata) => jsondata) .catch((error) => { notification(`Ошибка на сервере: ${error}`, "error"); }); userdata = all_users.find((usr) => usr.id === userid); changeuserformusername.value = userdata.username; changeuserformgroup.value = userdata.group; changeuserformissuperuser.checked = userdata.is_superuser === "1"; changeuserformemail.value = userdata.email; }; cancelchangeuser.addEventListener("click", (e) => { e.preventDefault(); changeuserform.classList.remove("active"); }); changeuserformbody.addEventListener("submit", async (e) => { e.preventDefault(); let request = { token: localStorage.getItem("token"), id: changedatauserid, username: changeuserformusername.value, email: changeuserformemail.value, is_superuser: changeuserformissuperuser.checked, group: changeuserformgroup.value, }; const status = await fetch(routes.change_user(), { method: "PUT", headers: { "Content-Type": "application/json", }, body: JSON.stringify(request), }) .then((data) => data.json()) .then((jsondata) => jsondata) .catch((error) => { notification(`Ошибка на сервере: ${error}`, "error"); }); if (!status.error) { notification("Данные пользователя успешно изменены", "success"); changeuserform.classList.remove("active"); await get_all_users(); } else { notification(status.error, "error"); } });