Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var userData = [];
- var roleDataList = [];
- var prmUppy;
- var prmUppyEdit;
- var prmPageNow = "";
- init();
- function init() {
- loadUser();
- prmUppy = Uppy.Core({
- autoProceed: false,
- restrictions: {
- maxFileSize: 1000000,
- maxNumberOfFiles: 1,
- allowedFileTypes: ['image/*'],
- }
- }).use(Uppy.Dashboard, {
- hideUploadButton: true,
- inline: true,
- target: '#drag-drop-userprofile',
- height: 250,
- });
- prmUppyEdit = Uppy.Core({
- autoProceed: false,
- restrictions: {
- maxFileSize: 1000000,
- maxNumberOfFiles: 1,
- allowedFileTypes: ['image/*'],
- }
- }).use(Uppy.Dashboard, {
- hideUploadButton: true,
- inline: true,
- target: '#drag-drop-edit-userprofile',
- height: 250,
- });
- getListRole();
- //getRolebyUserID();
- }
- function getListRole() {
- $(".roleListAdd").empty();
- $(".roleListEdit").empty();
- $("#selectedRoleListAdd").empty();
- $global.fetch(`api/User/GetListRole?siteid=${_tempSideId}`).then(role => {
- roleDataList = role;
- var objListGroup = "";
- if (role != null) {
- for (var i = 0; i < role.length; i++) {
- var title = `<div class="text-left">Name: ${role[i].Name}</div>
- <div class="text-left">Normalized Name: ${role[i].NormalizedName}</div>
- <div class="text-left">Site Name: ${role[i].Site.Name}</div>`;
- objListGroup += `<ul class="list-group">
- <li class="list-group-item list-group-item-secondary mb-2">
- <div class="custom-control custom-checkbox">
- <input type="checkbox" class="custom-control-input checkbox-role-add" id="customCheckAdd${role[i].Name}" value="${role[i].Id}" data-rolename="${role[i].Name}">
- <label class="custom-control-label" for="customCheckAdd${role[i].Name}">${role[i].Name}</label>
- <i class="fa fa-info-circle pull-right pointer" data-toggle="tooltip" title='${title}'></i>
- </div>
- </li>
- </ul>`;
- }
- }
- $(".roleListAdd").append(objListGroup);
- objListGroup = "";
- for (i = 0; i < role.length; i++) {
- title = `<div class="text-left">Name: ${role[i].Name}</div>
- <div class="text-left">Normalized Name: ${role[i].NormalizedName}</div>
- <div class="text-left">Site Name: ${role[i].Site.Name}</div>`;
- objListGroup += `<ul class="list-group">
- <li class="list-group-item list-group-item-secondary mb-2">
- <div class="custom-control custom-checkbox">
- <input type="checkbox" class="custom-control-input checkbox-role-edit" id="customCheckEdit${role[i].Name}" value="${role[i].Id}" data-rolename="${role[i].Name}">
- <label class="custom-control-label" for="customCheckEdit${role[i].Name}">${role[i].Name}</label>
- <i class="fa fa-info-circle pull-right pointer" data-toggle="tooltip" title='${title}'></i>
- </div>
- </li>
- </ul>`;
- }
- $(".roleListEdit").append(objListGroup);
- $('[data-toggle="tooltip"]').tooltip({
- trigger: 'hover',
- html: true
- });
- setRoledata();
- });
- }
- $(document).on('change', '.checkbox-role-add', function () {
- var selectedRoleList = [];
- var selectedRoleId = [];
- $('.checkbox-role-add').each(function (index, checkbox) {
- if ($(checkbox).is(':checked') === true) {
- var roleName = $(checkbox).attr('data-rolename');
- var roleId = $(checkbox).attr('value');
- selectedRoleList.push(roleName);
- selectedRoleId.push(roleId);
- }
- });
- $('#selectedRoleListAdd').empty();
- if (selectedRoleList.length === 0) {
- $(".topic").removeClass("d-none");
- }
- else {
- $(".topic").addClass("d-none");
- }
- for (var i = 0; i < selectedRoleList.length; ++i) {
- var role = roleDataList.find(x => x.Id === selectedRoleId[i]);
- var title = `<div class="text-left">Name: ${role.Name}</div>
- <div class="text-left">Normalized Name: ${role.NormalizedName}</div>
- <div class="text-left">Site Name: ${role.Site.Name}</div>`;
- $('#selectedRoleListAdd').append(`<span class="badge badge-pill badge-LineConfig m-2 p-2 font-sm">
- <i class="fa fa-info-circle pull-right pointer" data-toggle="tooltip" title='${title}'></i>
- <i class="fa fa-times pull-right pointer" onclick="removeAddSelectedRole('${selectedRoleId[i]}')">
- ${selectedRoleList[i]}</i>
- </span>`);
- }
- $('[data-toggle="tooltip"]').tooltip({
- trigger: 'hover',
- html: true
- });
- });
- $(document).on('change', '.checkbox-role-edit', function () {
- var selectedRoleList = [];
- var selectedRoleId = [];
- $('.checkbox-role-edit').each(function (index, checkbox) {
- if ($(checkbox).is(':checked') === true) {
- var roleName = $(checkbox).attr('data-rolename');
- var roleId = $(checkbox).attr('value');
- selectedRoleList.push(roleName);
- selectedRoleId.push(roleId);
- }
- });
- $('#selectedRoleListEdit').empty();
- if (selectedRoleList.length === 0) {
- $(".topic").removeClass("d-none");
- }
- else {
- $(".topic").addClass("d-none");
- }
- for (var i = 0; i < selectedRoleList.length; ++i) {
- var role = roleDataList.find(x => x.Id === selectedRoleId[i]);
- var title = `<div class="text-left">Name: ${role.Name}</div>
- <div class="text-left">Normalized Name: ${role.NormalizedName}</div>
- <div class="text-left">Site Name: ${role.Site.Name}</div>`;
- $('#selectedRoleListEdit').append(`<span class="badge badge-pill badge-LineConfig m-2 p-2 font-sm">
- <i class="fa fa-info-circle pull-right pointer" data-toggle="tooltip" title='${title}'></i>
- <i class="fa fa-times pull-right pointer" onclick="removeEditSelectedRole('${selectedRoleId[i]}')">
- ${selectedRoleList[i]} </i>
- </span>`);
- }
- $('[data-toggle="tooltip"]').tooltip({
- trigger: 'hover',
- html: true
- });
- });
- function loadUser() {
- $global.fetch(`api/User/GetListUserWithRole?siteid=${_tempSideId}`).then(user => {
- userData = [];
- roleData = [];
- for (var i = 0; i < user.length; i++) {
- var pushUserData = {
- userId: user[i].Id,
- userName: user[i].UserName,
- firstNameUser: user[i].FirstName,
- lastNameUser: user[i].LastName,
- emailUser: user[i].Email,
- roleUser: user[i].UserRoles,
- image: user[i].Image
- };
- userData.push(pushUserData);
- }
- $('#userDataList').dataTable({
- data: userData,
- language: {
- search: "",
- searchPlaceholder: "Filter"
- },
- autoFill: false,
- info: false,
- lengthChange: false,
- cellspacing: true,
- destroy: true,
- order: [[1, "asc"]],
- columnDefs: [
- {
- targets: 0, data: "userId", className: "text-center", visible: false
- },
- {
- targets: 1, data: "userName", className: "text-left"
- },
- {
- targets: 2, data: "firstNameUser", className: "text-left"
- },
- {
- targets: 3, data: "lastNameUser", className: "text-left"
- },
- {
- targets: 4, data: "emailUser", className: "text-left"
- },
- {
- targets: 5, className: "text-center",
- render: function (data, type, row) {
- if (row.roleUser.length > 0) {
- var roleDetails = "";
- for (var i = 0; i < row.roleUser.length; i++) {
- roleDetails += `<span class="badge badge-pill badge-LineConfig m-1 p-2 font-xs">${row.roleUser[i].Role.Name}</span>`;
- }
- return roleDetails;
- } else {
- return "";
- }
- }
- },
- {
- targets: 6, className: "text-center",
- render: function (data, type, row) {
- return `<button class="btn btn-circle btn-primary mr-2" type="button" title="Edit User" onclick="editUser('${row.userId}')" ><i class="fa fa-edit"></i></button>` +
- `<button class="btn btn-circle btn-danger" type="button" title="Delete User" onclick="deleteUser('${row.userId}')" ><i class="fa fa-trash-o"></i></button>`;
- }
- }
- ]
- });
- $global.hideLoader();
- });
- }
- function bactToLoadUser() {
- $(".mainUser").removeClass("d-none");
- $(".addUser").addClass("d-none");
- $(".editUser").addClass("d-none");
- $(".iBack").removeClass("d-none");
- $(".addRole").addClass("d-none");
- activeBreadcrumb('UserManagement');
- }
- function resetAddUser() {
- $(".mainUser").addClass("d-none");
- $(".editUser").addClass("d-none");
- $(".addUser").removeClass("d-none");
- $(".AddRole").addClass("d-none");
- $("#txtUserName").val("");
- $("#txtPassword").val("");
- $("#txtFirstName").val("");
- $("#txtLastName").val("");
- $("#txtEmail").val("");
- $(".checkbox-role-add").prop("checked", false).trigger("change");
- }
- function addUser() {
- if (prmUppy.getFiles().length > 0) {
- var fileUpload = new FormData();
- fileUpload.append("FileData", prmUppy.getFiles()[0].data);
- fileUpload.append("filename", prmUppy.getFiles()[0].data.name);
- $.ajax({
- type: "POST",
- url: _apiUrl + "api/BlobsUpload/UploadFiles",
- data: fileUpload,
- enctype: 'multipart/form-data',
- processData: false,
- contentType: false,
- success: function (fileName) {
- postUser(fileName);
- },
- error: function (e) {
- console.log("There was error uploading files! " + e);
- }
- });
- } else {
- postUser("");
- }
- }
- function postUser(profileiImage) {
- var userRole = [];
- var selectedRoleList = [];
- var detailRoleId = [];
- $('.checkbox-role-add').each(function (index, checkbox) {
- if ($(checkbox).is(':checked') === true) {
- var roleName = $(checkbox).attr('data-rolename');
- var roleId = $(checkbox).attr('value');
- selectedRoleList.push(roleName);
- detailRoleId.push(roleId);
- var userdetailRole = {
- UserId: "",
- RoleId: roleId
- }
- userRole.push(userdetailRole);
- }
- $(".topic").addClass("d-none");
- });
- if ($("#txtUserName").val().trim() === "" || $("#txtPassword").val().trim() === "" || $("#txtFirstName").val().trim() === "" ||
- $("#txtLastName").val().trim() === "" || $("#txtEmail").val().trim() === "" || selectedRoleList.length === 0) {
- $global.alert.warning("Please enter all required fields!");
- //Swal.fire("Warning", "Please enter all required fields!", "warning");
- return;
- }
- var userDetail = {
- UserName: $("#txtUserName").val().trim(),
- Password: $("#txtPassword").val().trim(),
- FirstName: $("#txtFirstName").val().trim(),
- LastName: $("#txtLastName").val().trim(),
- Email: $("#txtEmail").val().trim(),
- Image: profileiImage,
- EmployeeNumber: "",
- UserRoles: userRole
- };
- $global.fetch(`api/user/AddUserToSite?&siteid=${_tempSideId}`,
- {
- method: "POST",
- data: userDetail
- }).then(result => {
- //console.log("#####################");
- //console.log(result.msg);
- //console.log(result.msg.Value);
- if (!!result.FullName) {
- $global.alert.success("");
- //Swal.fire("Success", "", "success");
- $(".addUser").addClass("d-none");
- $(".mainUser").removeClass("d-none");
- loadUser();
- prmUppy.cancelAll();
- }
- else {
- var msg = "";
- for (var i = 0; i < result.msg.Value.length; i++) {
- msg += result.msg.Value[i].Description + "<br>";
- }
- $global.alert.error(msg);
- //Swal.fire("Error", msg, "error");
- }
- });
- }
- function deleteUser(userId) {
- $global.alert.question({
- title: 'Are you sure you want to delete item?',
- text: "You won't be able to revert this!",
- callback: function () {
- $global.fetch(`api/User/DeleteUser?siteid=${_tempSideId}&userid=${userId}`, {
- method: 'POST'
- }).then(user => {
- if (user) {
- $global.alert.success("");
- //Swal.fire("Success", "", "success");
- loadUser();
- } else {
- $global.alert.error("");
- //Swal.fire("Error", "", "error");
- }
- });
- }
- });
- //Swal.fire({ title: 'Are you sure?', text: "You won't be able to revert this!", type: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Yes, delete it!' }).then((result) => {
- // if (result.value) {
- // $global.fetch(`api/User/DeleteUser?siteid=${_tempSideId}&userid=${userId}`, {
- // method: 'POST'
- // }).then(user => {
- // if (user) {
- // Swal.fire("Success", "", "success");
- // loadUser();
- // } else {
- // Swal.fire("Error", "", "error");
- // }
- // });
- // }
- //});
- }
- function editUser(userId) {
- activeBreadcrumb('EditUser');
- var user = userData.find(x => x.userId == userId);
- $("#inputHiddenUserId").val(userId);
- $("#txtEditFirstName").val(user.firstNameUser);
- $("#txtEditLastName").val(user.lastNameUser);
- $("#txtEditEmail").val(user.emailUser);
- $("#show-edit-userprofile").empty();
- if (user.image != null) {
- var link = user.image;
- var elem = document.createElement("img");
- elem.setAttribute("src", link);
- //elem.setAttribute("width", "250px");
- elem.setAttribute("height", "250px");
- document.getElementById("show-edit-userprofile").appendChild(elem);
- }
- var roleUser = [];
- for (var i = 0; i < user.roleUser.length; ++i) {
- roleUser.push(user.roleUser[i].RoleId);
- // customCheckEdit(user.roleUser[i].Role.Name);
- }
- $('.checkbox-role-edit').each(function (index, checkbox) {
- var selectedRole = roleUser.find(x => x === $(checkbox).val());
- if (typeof selectedRole !== 'undefined') {
- $(checkbox).prop('checked', true).trigger('change');
- } else {
- $(checkbox).prop('checked', false).trigger('change');
- }
- });
- $(".mainUser").addClass("d-none");
- $(".editUser").removeClass("d-none");
- $(".iBack").removeClass("d-none");
- }
- function updateUser() {
- if (prmUppyEdit.getFiles().length > 0) {
- var fileUpload = new FormData();
- fileUpload.append("FileData", prmUppyEdit.getFiles()[0].data);
- fileUpload.append("filename", prmUppyEdit.getFiles()[0].data.name);
- $.ajax({
- type: "POST",
- url: _apiUrl + "api/BlobsUpload/UploadFiles",
- data: fileUpload,
- enctype: 'multipart/form-data',
- processData: false,
- contentType: false,
- success: function (fileName) {
- postEditUser(fileName);
- },
- error: function (e) {
- console.log("There was error uploading files! " + e);
- }
- });
- } else {
- postEditUser("");
- }
- }
- function postEditUser(imageUrl) {
- var userRole = [];
- var selectedRoleListEdit = [];
- var detailRoleId = [];
- $('.checkbox-role-edit').each(function (index, checkbox) {
- if ($(checkbox).is(':checked') === true) {
- var roleName = $(checkbox).attr('data-rolename');
- var roleId = $(checkbox).attr('value');
- selectedRoleListEdit.push(roleName);
- detailRoleId.push(roleId);
- var userDetailRole = {
- UserId: $("#inputHiddenUserId").val(),
- RoleId: roleId
- }
- userRole.push(userDetailRole);
- }
- $(".topic").addClass("d-none");
- });
- if ($("#txtEditFirstName").val().trim() === "" || $("#txtEditLastName").val().trim() === "" || $("#txtEditEmail").val().trim() === "" ||
- selectedRoleListEdit.length === 0) {
- $global.alert.warning("Please enter all required fields!");
- //Swal.fire("Warning", "Please enter all required fields!", "warning");
- return;
- }
- var userDetail = {
- Id: $("#inputHiddenUserId").val().trim(),
- FullName: $("#txtEditFirstName").val().trim() + " " + $("#txtEditLastName").val().trim(),
- FirstName: $("#txtEditFirstName").val().trim(),
- LastName: $("#txtEditLastName").val().trim(),
- Email: $("#txtEditEmail").val().trim(),
- Image: imageUrl,
- EmployeeNumber: "",
- UserRoles: userRole
- };
- $global.fetch(`api/user/UpdateUser?siteid=${_tempSideId}`, {
- method: 'POST',
- data: userDetail
- }).then(result => {
- if (!!result.FullName) {
- $global.alert.success("");
- //Swal.fire("Success", "", "success");
- $(".editUser").addClass("d-none");
- $(".mainUser").removeClass("d-none");
- loadUser();
- prmUppyEdit.cancelAll();
- }
- else {
- $global.alert.error(msg);
- //Swal.fire("Error", msg, "error");
- }
- });
- }
- function removeAddSelectedRole(roleId) {
- $(".checkbox-role-add[value=" + roleId + "]").trigger("click");
- }
- function removeEditSelectedRole(roleId) {
- $(".checkbox-role-edit[value=" + roleId + "]").trigger("click");
- }
- function resetUserRole(from) {
- if (from === "add") {
- $(".checkbox-role-add").prop("checked", false).trigger("change");
- }
- else if (from === "edit") {
- $(".checkbox-role-edit").prop("checked", false).trigger("change");
- }
- }
- function showAddRole(prmPage) {
- $(".editUser").addClass("d-none");
- $(".addUser").addClass("d-none");
- $(".addRole").removeClass("d-none");
- //$("#btnEditRole").removeClass("d-none !important");
- prmPageNow = prmPage;
- $("#roleMain").removeClass("col-lg-6").addClass("col-lg-12");
- $("#roleItem").addClass("d-none");
- activeBreadcrumb('RoleManagement');
- }
- function roleToLoadUser(backToUser) {
- var roleItem = $("#roleItem").hasClass("d-none");
- if (roleItem == false && backToUser !== true) {
- activeBreadcrumb('RoleManagement');
- $("#roleMain").removeClass("col-lg-6").addClass("col-lg-12");
- $("#roleItem").addClass("d-none");
- }
- else {
- activeBreadcrumb('EditUser');
- $(".addRole").addClass("d-none");
- if (prmPageNow == "editUser") {
- $(".editUser").removeClass("d-none");
- getListRole();
- // editUser(usrid);
- }
- else if (prmPageNow == "addUser") {
- $(".addUser").removeClass("d-none");
- getListRole();
- // editUser(usrid);
- }
- }
- }
- //function getRolebyUserID() {
- // //$("#btnEditRole").addClass("d-none");
- // $("#btnAddRole").addClass("d-none");
- // let userid = $global.UserInfo.Id;
- // $global.fetch(`api/User/GetRolebyUserID?siteid=${_tempSideId}&userid=${userid}`).then(role => {
- // if (role.length != 0) {
- // for (var i = 0; i < role.length; i++) {
- // if (role[i].MenuId == 12) {
- // $("#btnEditRole").removeClass("d-none");
- // $("#btnAddRole").removeClass("d-none");
- // break;
- // }
- // }
- // }
- // //console.log("role", role);
- // });
- //}
- function setRoledata() {
- var userId = $("#inputHiddenUserId").val();
- var user = userData.find(x => x.userId == userId);
- var roleUser = [];
- if (typeof user !== 'undefined') {
- for (var i = 0; i < user.roleUser.length; ++i) {
- roleUser.push(user.roleUser[i].RoleId);
- var RoleId = user.roleUser[i].RoleId;
- $(".checkbox-role-edit[value=" + RoleId + "]").trigger("click");
- }
- }
- }
- function activeBreadcrumb(page) {
- $('.breadcrumb-item').removeClass('active').addClass('d-none');
- $('#breadcrumb' + page).addClass('active');
- var index = $('.breadcrumb-item.active').index();
- for (var i = 0; i <= index; ++i) {
- $('.breadcrumb-item').eq(i).removeClass('d-none');
- }
- }
- $('.breadcrumb-item a').on('click', function () {
- var currentPage = $('ol.breadcrumb li.active a').attr('data-page');
- var nextPage = $(this).attr('data-page');
- if (nextPage === 'usermanagement' && (currentPage === 'edituser' || currentPage === 'rolemanagement' || currentPage === 'role')) {
- bactToLoadUser();
- } else if (nextPage === 'edituser' && (currentPage === 'rolemanagement' || currentPage === 'role')) {
- roleToLoadUser(true);
- } else if (nextPage === 'rolemanagement' && currentPage === 'role') {
- roleToLoadUser();
- }
- return false;
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement