app.controller("UserController",function(e,n,t){e.get("/user/getAllUser").success(function(e){n.data=e}),e.get("/role/getAll").success(function(e){n.role=e,n.roleId=[]}),n.addUser=function(){jQuery(".addUserForm").addClass("display")},n.newUser={name:"",email:"",password:"",repassword:""},n.postNew=function(){e.post("/user/postNew",n.newUser).success(function(e){n.data.push(e),n.errorMsg=null,swal("Thêm thành công "+n.newUser.name,"","success"),n.cancel()}).error(function(e){n.successMsg=null,swal({title:"Lỗi! Không thể thêm "+n.newUser.name,text:t.arrayToList(e),html:!0,type:"error"})})},n.edit=function(e){n.editUser=e,jQuery(".editUserForm").addClass("display")},n.updateUser=function(){e.put("/user/update/"+n.editUser.id,n.editUser).success(function(e){swal("Cập nhật thành công người dùng "+n.editUser.name,"","success"),jQuery.each(e,function(t){n.data[t].id==e.id&&(n.data[t]=e)})}).error(function(e){swal({title:"Lỗi, không thể cập nhật thông tin",text:t.arrayToList(e),html:!0,type:"error"})})},n.editPassword=function(e){n.editUser=e,jQuery(".editPasswordForm").addClass("display")},n.updateUserPassword=function(){e.put("/user/updatePassword/"+n.editUser.id,n.editUser).success(function(){swal("Cập nhật mật khẩu thành công cho "+n.editUser.name,"","success"),n.cancel()}).error(function(e){swal({title:"Không thể cập nhật mật khẩu",text:t.arrayToList(e),type:"error",html:!0})})},n.delete=function(t){swal({title:"Bạn có chắc chắn muốn xóa người dùng này?",text:"Khi thực hiện việc xóa người dùng này, bạn sẽ không thể phục hồi lại được!",type:"warning",showCancelButton:!0,confirmButtonColor:"#DD6B55",confirmButtonText:"Vâng, xóa người dùng này!",cancelButtonText:"Không, đừng xóa!",closeOnConfirm:!1},function(){e.post("/user/delete/"+t.id,{}).success(function(){swal("Thành công","Bạn đã xóa thành công "+t.name,"success"),n.data.splice(n.data.indexOf(t),1)}).error(function(){swal("Không thể xóa người dùng này","Có lỗi xảy ra. Vui lòng liên hệ với quản trị viên để khắc phục","error")})})},n.editRole=function(r){n.roleId=[],e.get("/user/role/"+r.id).success(function(e){n.curUser=r,n.curRole=e,n.editUser=r,angular.forEach(n.role,function(e,t){n.roleId[t]=!1}),n.roleId[n.role.length]=!1,angular.forEach(e,function(e){n.roleId[e.id]=!0}),jQuery(".editRoleForm").addClass("display")}).error(function(e){swal({title:"Lỗi",text:t.arrayToList(e),html:!0,type:"error"})})},n.updateUserRole=function(){e.post("/user/"+n.curUser.id+"/updateRole",$("form.editRoleForm").serializeArray()).success(function(e){angular.forEach(n.role,function(t,r){n.role[r].id==e.id&&(n.role[r]=e)}),swal({title:"Cập nhật thành công",type:"success"}),n.cancel()}).error(function(){swal({title:"Lỗi, không thể cập nhật quyền cho thành viên "+n.curUser.name,type:"error"})})},n.search=function(){e.post("/user/search",n.find).success(function(e){n.data=e})},n.cancel=function(){jQuery(".display").removeClass("display")}});