$(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: ' Chọn hình ảnh', onUploaded: function (data) { common.modalBlock(false); window.location.reload(true); } }).addInstance('image'); };