344 lines
10 KiB
JavaScript
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');
|
|
}; |