AIParking_Intops_Server/web/js/user.js
2020-02-01 16:47:12 +07:00

344 lines
10 KiB
JavaScript

$(function () {
user.btnAvatar();
});
var user = {};
user.form = function (e) {
common.modalBlock(true);
$.ajax({
url: $(e).attr("data-href"),
type: 'POST',
success: function (data) {
common.modalBlock(false);
common.modalOpen(data.form, false, data.title);
$('#role').select2({
tags: true,
tokenSeparators: [',']
});
},
error: function (jqXHR, textStatus, errorThrown) {
common.modalBlock(false);
common.ajaxError();
}
});
};
user.save = function (e) {
var error = 0;
var Name = user.checkName();
if (!Name) {
error++;
}
var Username = user.checkUsername();
if (!Username) {
error++;
}
var Role = user.checkRole();
if (!Role) {
error++;
}
var PhoneNumber = user.checkPhone();
if (!PhoneNumber && PhoneNumber !== "") {
error++;
}
var Email = user.checkEmail();
if (!Email && Email !== "") {
error++;
}
var Quota = user.checkQuota();
if (!Quota) {
error++;
}
if (error == 0) {
common.modalBlock(true);
$.ajax({
url: $(e).attr("data-href"),
type: 'POST',
data: {
Name: Name,
Username: Username,
Role: Role,
PhoneNumber: PhoneNumber,
Email: Email,
Quota: Quota,
Password: $("input[name='Password']").val()
},
success: function (data) {
common.modalBlock(false);
if (data.stt) {
window.location.reload(true);
} else {
if (data.reason === "username") {
user.error("username", "Tên đăng nhập đã tồn tại!");
}
if (data.reason === "email") {
user.error("email", "Email đã được sử dụng!");
}
return;
}
},
error: function (jqXHR, textStatus, errorThrown) {
common.modalBlock(false);
common.ajaxError();
}
});
} else {
return;
}
};
user.saveInfo = function (e) {
var error = 0;
var Name = user.checkName();
if (!Name) {
error++;
}
var PhoneNumber = user.checkPhone();
if (!PhoneNumber && PhoneNumber !== "") {
error++;
}
var Email = user.checkEmail();
if (!Email && Email !== "") {
error++;
}
if (error == 0) {
common.modalBlock(true);
$.ajax({
url: $(e).attr("data-href"),
type: 'POST',
data: {
Name: Name,
PhoneNumber: PhoneNumber,
Email: Email
},
success: function (data) {
common.modalBlock(false);
if (data) {
$("#success").removeClass("hidden");
setTimeout(function () {
$("#success").addClass("hidden");
window.location.reload(true);
}, 2000);
} else {
alert("Email đã được sử dụng!");
}
},
error: function (jqXHR, textStatus, errorThrown) {
common.modalBlock(false);
common.ajaxError();
}
});
} else {
return;
}
};
user.error = function (id, text) {
$("#" + id).addClass("has-error").removeClass("has-success");
$("#" + id).find(".help-block").html(text).removeClass("hidden");
};
user.success = function (id) {
$("#" + id).addClass("has-success").removeClass("has-error");
$("#" + id).find(".help-block").addClass("hidden");
};
user.checkName = function () {
var Name = $("input[name='Name']").val();
Name = Name.trim();
if (Name === "") {
user.error("name", "Hãy nhập họ tên!");
return false;
}
var name = Name.split(" ");
var pattern = /^\D*$/;
if (pattern.test(Name)) {
for (var i = 0; i < name.length; i++) {
name[i] = name[i].charAt(0).toUpperCase() + name[i].slice(1).toLowerCase();
}
name = name.join(" ");
$("input[name='Name']").val(name);
user.success("name");
return name;
} else {
user.error("name", "Họ tên không hợp lệ!");
return false;
}
};
user.checkUsername = function () {
var Username = $("input[name='Username']").val();
Username = Username.trim();
if (Username === "") {
user.error("username", "Hãy chọn tên đăng nhập!");
return false;
}
Username = user.change_alias(Username);
Username = Username.split(" ");
Username = Username.join("");
$("input[name='Username']").val(Username);
user.success("username");
return Username;
};
user.checkRole = function () {
var Role = $("select[name='Role']").val();
if (Role.length == 0) {
user.error("roles", "Chưa phân quyền người dùng!");
return false;
}
user.success("roles");
return Role;
};
user.checkPhone = function () {
var PhoneNumber = $("input[name='PhoneNumber']").val();
if (PhoneNumber === "") {
return PhoneNumber;
}
var pattern = /^[0-9]{10,11}$/;
if (pattern.test(PhoneNumber)) {
user.success("phone");
return PhoneNumber;
} else {
user.error("phone", "Số điện thoại không hợp lệ");
return false;
}
};
user.checkEmail = function () {
var Email = $("input[name='Email']").val();
if (Email === "") {
return Email;
}
var pattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
if (pattern.test(Email)) {
user.success("email");
return Email;
} else {
user.error("email", "Địa chỉ email không hợp lệ");
return false;
}
};
user.checkQuota = function () {
var Quota = $("input[name='Quota']").val();
if (Quota === "") {
return Quota;
}
if (parseInt(Quota) > 0) {
user.success("quota");
return Quota;
} else {
user.error("quota", "Giới hạn dự án phải là số dương");
return false;
}
};
user.change_alias = function (alias) {
var str = alias;
str = str.toLowerCase();
str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, "a");
str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, "e");
str = str.replace(/ì|í|ị|ỉ|ĩ/g, "i");
str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, "o");
str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, "u");
str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, "y");
str = str.replace(/đ/g, "d");
str = str.replace(/!|@|%|\^|\*|\(|\)|\+|\=|\<|\>|\?|\/|,|\.|\:|\;|\'|\"|\&|\#|\[|\]|~|\$|_|`|-|{|}|\||\\/g, " ");
str = str.replace(/ + /g, " ");
str = str.trim();
return str;
};
user.password = function (e) {
var error = 0;
var OldPassword = user.checkOldPassword();
if (!OldPassword) {
error++;
}
var NewPassword = user.checkNewPassword();
if (!NewPassword) {
error++;
}
var ReNewPassword = user.checkReNewPassword();
if (!ReNewPassword) {
error++;
}
if (error == 0) {
common.modalBlock(true);
$.ajax({
url: $(e).attr("data-href"),
type: 'POST',
data: {
NewPassword: NewPassword
},
success: function (data) {
common.modalBlock(false);
$("#success").removeClass("hidden");
setTimeout(function () {
$("#success").addClass("hidden");
window.location.reload(true);
}, 2000);
},
error: function (jqXHR, textStatus, errorThrown) {
common.modalBlock(false);
common.ajaxError();
}
});
} else {
return;
}
};
user.checkOldPassword = function () {
var OldPassword = $("input[name='OldPassword']").val();
if (OldPassword === "") {
user.error("old-password", "Hãy nhập mật khẩu cũ!");
return false;
} else {
OldPassword = md5(OldPassword);
var pass = $("input[name='password']").val();
if (OldPassword === pass) {
user.success("old-password");
return true;
} else {
user.error("old-password", "Mật khẩu cũ không chính xác!");
return false;
}
}
};
user.checkNewPassword = function () {
var NewPassword = $("input[name='NewPassword']").val();
if (NewPassword === "") {
user.error("new-password", "Hãy nhập mật khẩu mới!");
return false;
} else {
user.success("new-password");
return NewPassword;
}
};
user.checkReNewPassword = function () {
var ReNewPassword = $("input[name='ReNewPassword']").val();
if (ReNewPassword === "") {
user.error("re-new-password", "Hãy nhắc lại mật khẩu mới!");
return false;
} else {
var NewPassword = $("input[name='NewPassword']").val();
if (NewPassword === ReNewPassword) {
user.success("re-new-password");
return true;
} else {
user.error("re-new-password", "Nhắc lại mật khẩu mới không đúng!");
return false;
}
}
};
user.btnAvatar = function () {
var fData = {
UploadImage: true
};
fData[common.csrfParam] = common.csrf;
new afuButton({
uploadURI: $("input[name='url_upload_avatar']").val(),
formData: fData,
wrap: {
tagName: 'div',
classes: ''
},
fileExtension: '.png,.jpg,.jpeg,.gif',
fileSizeLimit: 1,
classes: 'btn btn-default',
fakeInputContent: '<span class=\'fa fa-file-image-o\'></span> Chọn hình ảnh',
onUploaded: function (data) {
common.modalBlock(false);
window.location.reload(true);
}
}).addInstance('image');
};