puzzle/views/admin/users/user_reg.ejs
2024-05-25 21:47:36 +05:00

98 lines
3.9 KiB
Plaintext
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<style>
.user_reg_form{
margin: auto;
/* display: flex; */
/* text-align: center; */
}
</style>
<h1>Регистрация пользователя</h1>
<form action="#" class="user_reg_form">
<div style="display: flex;justify-content: space-between;">
<input type="password" id="pass" name="pass" value="" placeholder="Пароль" class="btn_white" style="text-align: center;">
<input type="text" id="login" name="login" value="" placeholder="Логин" class="btn_white" style="text-align: center; padding-inline: 5vw;">
<input type="submit" onclick='reg();' value="Зарегистрировать" class="btn_blue">
<div>
<label for="admin_check" style="margin: auto;">Админ. привелегии</label>
<input type="checkbox" name="admin" value='false' id="admin_check" onchange="admin_ch()">
</div>
</div>
<div id="right_checks" style="display: none;justify-content: space-evenly;">
<div>
<input type="checkbox" name="admin" value='false' id="admin_user_check" onchange="right_calc()">
<label for="admin_user_check">Право на изменение обьектов</label>
</div>
<div>
<input type="checkbox" name="admin" value='false' id="admin_obj_check" onchange="right_calc()">
<label for="admin_obj_check">Право на изменение пользователей</label>
</div>
</div>
<div id="reg_response"></div>
</form>
<script>
let rights = 0;
clear_checks();
function clear_checks(){
let check = document.getElementById("admin_check");
let obj_right = document.getElementById("admin_obj_check");
let user_right = document.getElementById("admin_user_check");
let checks = [check,obj_right,user_right];
checks.forEach(ch => {
ch.checked = false;
rights = 0;
});
}
function admin_ch(){
let check = document.getElementById("admin_check").checked;
let right_checks = document.getElementById("right_checks");
let obj_right = document.getElementById("admin_obj_check");
let user_right = document.getElementById("admin_user_check");
if (check){
right_checks.style.display = "flex";
}
else{
right_checks.style.display = "none";
clear_checks();
}
}
function right_calc(){
let obj_right = document.getElementById("admin_obj_check").checked;
let user_right = document.getElementById("admin_user_check").checked;
if(obj_right & user_right){
rights = 3;
}
else if(obj_right){
rights = 1;
}
else if(user_right){
rights = 2;
}
}
function reg(){
console.log("reg");
let login = document.getElementById("login").value;
let pass = document.getElementById("pass").value;
let admin = document.getElementById("admin_check").checked;
// console.log(login,pass,admin);
// console.log("cl reg");
if(login != ""&&pass!=""){
$.post( "/admin/users/new", { login:login,pass:pass,admin:admin,rights:rights })
.done(function( res ) {
// console.log("serv reg");
if(res["out"] == "good"){
// console.log(res["body"]);
msg(`Пользователь ${login} успешно добавлен`)
load_users_data(users_from);
}
else if (res["out"] == "bad"){
msg(`Пользователь с логином ${login} уже существует`)
}
});
}
}
</script>