Files
2025-11-11 14:26:16 +07:00

73 lines
2.4 KiB
JavaScript

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");
}
});