var table; var roleTable; var provinces = []; var provincesOffice = []; var towns = []; var townsOffice = []; var global_user_id; var cityFaChoose; var checkedItemsId = []; var esmp1 = ""; var esmp2 = ""; var esmp3 = ""; var AuthUserId; var PERMISSIONS = []; // genereal functions begin function errorHandler(error) { switch (error.status) { case 401: Swal.fire({ icon: "error", title: "خطا", text: 'اعتبار بلیط ورود شما منقضی شده است. لطفا دوباره وارد شوید.', confirmButtonText: "بروزرسانی صفحه", showLoaderOnConfirm: true, preConfirm: () => { location.reload(true); }, }); break; case 500: Swal.fire({ icon: "error", title: "خطا", text: "مشکلی در سامانه رخ داده است لطفا با پشتیبانی تماس بگیرید.", confirmButtonText: "بستن", }); break; case 422: errors_list = ""; for (var property in error.responseJSON.errors) { errors_list += error.responseJSON.errors[property][0]; } Swal.fire({ icon: "error", title: "خطا", text: errors_list, cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); break; default: console.error("Error trace object"); console.log("Error object:"); console.log(error); Swal.fire({ icon: "error", title: "خطا", text: "مشکل ناخواسته ای در سامانه رخ داده است لطفا با پشتیبانی تماس بگیرید.", confirmButtonText: "بستن", }); break; } } function GetAuthUserId() { $.ajax({ url: "https://rms.rmto.ir/valid/submitinfo/myData", type: "GET", cache: false, async: false, contentType: false, processData: false, success: function (result) { AuthUserId = result.data.id; }, error: function (error) { errorHandler(error); }, }); } function assigenPermissions(params) { $.ajax({ url: "https://rms.rmto.ir/webapi/user/get-permission", type: "GET", cache: false, async: false, contentType: false, processData: false, success: function (result) { PERMISSIONS = result.data; }, error: function (error) { errorHandler(error); }, }); } function checkNationalCode(code, item) { if (code == "2222222222" || code == "3333333333" || code == "4444444444" || code == "5555555555" || code == "6666666666" || code == "7777777777" || code == "8888888888" || code == "9999999999") return false var L = code.length; if (L < 8 || parseInt(code, 10) == 0) return false; code = ('0000' + code).substr(L + 4 - 10); if (parseInt(code.substr(3, 6), 10) == 0) return false; var c = parseInt(code.substr(9, 1), 10); var s = 0; for (var i = 0; i < 9; i++) s += parseInt(code.substr(i, 1), 10) * (10 - i); s = s % 11; if (!((s < 2 && c == s) || (s >= 2 && c == (11 - s)))) return false; return true; } function showLoaderScreen() { $(".divloader").css("display", "flex").hide().fadeIn(); } function hideLoaderScreen() { $(".divloader").fadeOut(); } function disableDOM(dom_id, type = 'id') { switch (type) { case 'id': $(`#${dom_id}`).prop('disabled', true) break; case 'class': $(`.${dom_id}`).prop('disabled', true) break; default: break; } } function enableDOM(dom_id, type = 'id') { switch (type) { case 'id': $(`#${dom_id}`).prop('disabled', false) break; case 'class': $(`.${dom_id}`).prop('disabled', false) break; default: break; } } function setUserName(action = "add") { switch (action) { case "add": if ($("#add_province").val() == -1) { $("#add_name").val("لطفا استان مورد نظر خود را انتخاب نمایید."); } else if ($("#add_province_office").val() != 0) { $("#add_name").val($("#add_province_office").find("option:selected").text() + " " + $("#add_province").find("option:selected").text()); } else if ($("#add_city_office").val() != undefined && $("#add_city_office").val() != 0) { $("#add_name").val($("#add_city_office").find("option:selected").text() + " " + $("#add_province").find("option:selected").text()); } else { $("#add_name").val("یکی از ادارات شهری یا استانی را انتخاب نمایید."); } break; case "edit": if ($("#edit_province").val() == -1) { $("#edit_name").val("لطفا استان مورد نظر خود را انتخاب نمایید."); } else if ($("#edit_province_office").val() != 0) { $("#edit_name").val($("#edit_province_office").find("option:selected").text() + " " + $("#edit_province").find("option:selected").text()); } else if ($("#edit_city_office").val() != undefined && $("#edit_city_office").val() != 0) { $("#edit_name").val($("#edit_city_office").find("option:selected").text() + " " + $("#edit_province").find("option:selected").text()); } else { $("#edit_name").val("یکی از ادارات شهری یا استانی را انتخاب نمایید."); } break; default: break; } } function getProvinces(action_type = "crud") { let reqUrl = `https://rms.rmto.ir/webapi/getuser/province-perm${$.inArray("full-user-management", PERMISSIONS) != -1 ? "?type=all" : ""}`; $.ajax({ url: reqUrl, type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { provinces = result.data; if ($.inArray("full-user-management", PERMISSIONS) != -1) { $(`.province`).append(''); $(`.province`).append(''); } for (let index = 0; index < provinces.length; index++) { $(`.province`).append( `` ); } $(`.filter-province`).append(''); for (let index = 0; index < provinces.length; index++) { $(`.filter-province`).append( `` ); } hideLoaderScreen() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); } function getProvincesOffice() { let reqUrl = "https://rms.rmto.ir/public/contents/edarateOstani"; $.ajax({ url: reqUrl, type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { provincesOffice = result.data; $(".province_office").empty(); $(".province_office").append(''); $("#filter_province_office").append(''); for (let index = 0; index < provincesOffice.length; index++) { $(".province_office").append( `` ); } hideLoaderScreen() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); } function checkValidCharchter(charCode) { if (charCode >= 0 && charCode <= 31) return true; if (charCode == 127) return true; return false; } function checkSpecialCharchter(charCode) { if (charCode >= 32 && charCode <= 46) return true; return false; } function checkEnglish(charCode) { if (charCode >= 65 && charCode <= 90) return true; if (charCode >= 97 && charCode <= 122) return true; return false; } function checkNumber(charCode) { if (charCode >= 48 && charCode <= 57) { return true; } return false; } function checkPersian(charCode) { var arabicCharUnicodeRange = /[\u0600-\u06FF]/; if (arabicCharUnicodeRange.test(String.fromCharCode(charCode))) { return true; } return false; } function initPemissions() { const modalPermission = $('#modal_permission') const modalRoleForm = $('#modal_role_form') const modalAssignRoleGroupAction = $('#modal_assign_role_group_action') let reqUrl = "https://rms.rmto.ir/user/permissions"; $.ajax({ url: reqUrl, type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { var type = '0'; result.Permissions.map(permission => { if (permission.type != -1) { if (type != permission.type) { type = permission.type modalPermission.find('.permissions').append(`

`) modalRoleForm.find('.permissions').append(`

`) modalAssignRoleGroupAction.find('.permissions').append(`

`) } else { modalPermission.find('.permissions').append(`
`) modalRoleForm.find('.permissions').append(`
`) modalAssignRoleGroupAction.find('.permissions').append(`
`) } } }) hideLoaderScreen() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); } function getCityByProvince(province_id, dom_id, selected_id = 0) { $.ajax({ url: "https://rms.rmto.ir/public/contents/provinces/" + province_id, type: "GET", async: false, beforeSend: function () { $(`#${dom_id}`).empty(); showLoaderScreen() }, success: function (result) { $(`#${dom_id}`).append(''); cities = result.data; for (let index = 0; index < cities.length; index++) { $(`#${dom_id}`).append( `` ); } if (selected_id == null) { disableDOM(dom_id); } else if (selected_id != 0) { enableDOM(dom_id); $(`#${dom_id} option[value="${selected_id}"]`).attr("selected", true); } hideLoaderScreen(); }, error: function (error) { errorHandler(error); hideLoaderScreen(); }, }); } function getCityOfficeByCity(city_id, dom_id, selected_id = 0) { $.ajax({ url: "https://rms.rmto.ir/public/contents/edarateShahri/" + city_id, type: "GET", async: false, beforeSend: function () { $(`#${dom_id}`).empty(); showLoaderScreen() }, success: function (result) { // $(`#${dom_id}`).append(''); cities = result.data; for (let index = 0; index < cities.length; index++) { $(`#${dom_id}`).append( `` ); } if (selected_id == null) { disableDOM(dom_id); } else if (selected_id != 0) { enableDOM(dom_id); $(`#${dom_id} option[value="${selected_id}"]`).attr("selected", true); } hideLoaderScreen(); }, error: function (error) { errorHandler(error); hideLoaderScreen(); }, }); } function getCityOfficeByProvince(province_id, dom_id, selected_id = 0) { $.ajax({ url: "https://rms.rmto.ir/public/contents/edarate_shahri_by_province/" + province_id, type: "GET", async: false, beforeSend: function () { $(`#${dom_id}`).empty(); showLoaderScreen() }, success: function (result) { $(`#${dom_id}`).append(''); cities = result.data; for (let index = 0; index < cities.length; index++) { $(`#${dom_id}`).append( `` ); } if (selected_id == null) { disableDOM(dom_id); } else if (selected_id != 0) { enableDOM(dom_id); $(`#${dom_id} option[value="${selected_id}"]`).attr("selected", true); } hideLoaderScreen(); }, error: function (error) { errorHandler(error); hideLoaderScreen(); }, }); } // genereal functions end // stop writing persian $(function () { $(".restrict-persian").on('input', function (event) { var input = this; for (let index = 0; index < input.value.length; index++) { const charachter = input.value[index].charCodeAt(); if (!(checkEnglish(charachter) || checkNumber(charachter) || checkValidCharchter(charachter) || checkSpecialCharchter(charachter))) { input.value = ""; return; } } }); }); // stop writing character it does not number $(function () { $(".restrict-persian-and-english").on('input', function (event) { var input = this; for (let index = 0; index < input.value.length; index++) { const charachter = input.value[index].charCodeAt(); if (!(checkNumber(charachter) || checkValidCharchter(charachter) || checkSpecialCharchter(charachter))) { input.value = ""; return; } } }); }); // stop writing english $(function () { $(".restrict-english-and-number").on('input', function (event) { var input = this; for (let index = 0; index < input.value.length; index++) { const charachter = input.value[index].charCodeAt(); if (!(checkPersian(charachter) || checkValidCharchter(charachter) || checkSpecialCharchter(charachter))) { input.value = ""; return; } } }); }); $(document).bind('click', function (e) { const clicked = $(e.target); if (clicked.parents('.datepicker-container').length != 0) return false; if (clicked.parents('.select2-selection__choice').length != 0) return false; if (clicked.closest('.btn-table-filter').length == 0 && clicked.closest(".parent-filter").length == 0 && $(".parent-filter").css("display") != "none") { $(".parent-filter").css("display", "none"); } if (clicked.closest('.btn-table-excel').length == 0 && clicked.closest(".parent-excel").length == 0 && $(".parent-excel").css("display") != "none") { $(".parent-excel").css("display", "none"); } if (clicked.closest('.btn-table-word').length == 0 && clicked.closest(".parent-word").length == 0 && $(".parent-word").css("display") != "none") { $(".parent-word").css("display", "none"); } }); $(document).ready(function () { GetAuthUserId() assigenPermissions(); initPemissions(); if ($.inArray("full-user-management", PERMISSIONS) != -1) { $("#add_user_show_modal_button").css("display", "block") $("#add_simple_user_show_modal").css("display", "block") } else { $("#add_user_show_modal_button").css("display", "none") $("#add_simple_user_show_modal").css("display", "none") } getProvinces(); getProvincesOffice(); table = $("#user_data_table").DataTable({ dom: "p>", pagingType: "simple_numbers", responsive: true, language: { sEmptyTable: "هیچ داده‌ای در جدول وجود ندارد", sInfo: "نمایش _START_ تا _END_ از _TOTAL_ ردیف", sInfoEmpty: "نمایش 0 تا 0 از 0 ردیف", sInfoFiltered: "(فیلتر شده از _MAX_ ردیف)", sInfoPostFix: "", sInfoThousands: ",", sLengthMenu: "نمایش _MENU_ ردیف", sLoadingRecords: "در حال بارگزاری...", sProcessing: "در حال پردازش...", sSearch: "جستجو: ", sZeroRecords: "رکوردی با این مشخصات پیدا نشد", oPaginate: { sFirst: "برگه‌ی نخست", sLast: "برگه‌ی آخر", sNext: "بعدی", sPrevious: "قبلی", }, oAria: { sSortAscending: ": فعال سازی نمایش به صورت صعودی", sSortDescending: ": فعال سازی نمایش به صورت نزولی", }, }, order: [ [0, "dec"] ], processing: true, select: true, ajax: { url: "https://rms.rmto.ir/users", type: "GET", dataSrc: function (json) { return json.data; }, error: function (error) { errorHandler(error); } }, columns: [{ className: "text-center", data: null, render: function (data, type, row, meta) { return ``; }, }, { className: "text-center", data: "username" }, { className: "text-center", data: null, render: function (data, type, row, meta) { if (data.enabled) { return `
${data.id != AuthUserId ? '' : ''}
` } else { return `
${data.id != AuthUserId ? '' : ''}
` } }, }, { className: "text-center", data: "province_fa" }, { className: "text-center", data: null, render: function (data, type, row, meta) { if (data.edarate_shahri_id) { return data.edarate_shahri_name } else { return data.edarate_ostani_name } } }, { className: "text-center", data: "first_name" }, { className: "text-center", data: "last_name" }, { className: "text-center", data: "mobile", }, { className: "text-center", data: "name", }, { className: "text-center", data: null, render: function (data, type, row, meta) { var temp = ""; data.roles.forEach(element => { temp += element.name_fa + ", " }); return temp.slice(0, -2); } }, { className: "text-center", data: null, render: function (data, type, row, meta) { if (data.major != null) { return data.major + "(" + data.degree + ")"; } else { return "لطفا اطلاعات کاربر را کامل نمایید." } } }, { className: "text-center", data: null, render: function (data, type, row) { if ($.inArray("full-user-management", PERMISSIONS) != -1) { return `
` } else if ($.inArray("limited-user-management", PERMISSIONS) != -1) { return `
` } }, }, ], buttons: [$.inArray("full-user-management", PERMISSIONS) != -1 ? { text: '
گزارش کارکرد
', action: function (e, dt, node, config) { window.location = 'https://rms.rmto.ir/user-activity-report' }, } : {}, $.inArray("full-user-management", PERMISSIONS) != -1 ? { text: '
عملیات گروهی
', action: function (e, dt, node, config) { const modal = $("#modal_choose_group_action"); if (checkedItemsId == "") { Swal.fire({ icon: "error", title: "خطا", text: "لطفا از ستون انتخاب کاربران، کاربران مورد نظر را انتخاب کنید", confirmButtonText: "بستن", }); } else { modal.modal("show"); } }, } : {}, $.inArray("full-user-management", PERMISSIONS) != -1 ? { text: '
نقش ها
', action: function (e, dt, node, config) { $.ajax({ url: "https://rms.rmto.ir/show-all-roles", type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { if (result.data.length != 0) { $("#role_table").dataTable().fnClearTable(); $("#role_table").dataTable().fnAddData(result.data); } else { $("#role_table").dataTable().fnClearTable(); } $("#modal_role").modal('show'); hideLoaderScreen() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); }, } : {}, { text: '
فیلترینگ پیشرفته
', action: function (e, dt, node, config) { $(".parent-filter").css("display", "block"); }, } ] }); roleTable = $("#role_table").DataTable({ dom: "p>", pagingType: "simple_numbers", responsive: true, language: { sEmptyTable: "هیچ داده‌ای در جدول وجود ندارد", sInfo: "نمایش _START_ تا _END_ از _TOTAL_ ردیف", sInfoEmpty: "نمایش 0 تا 0 از 0 ردیف", sInfoFiltered: "(فیلتر شده از _MAX_ ردیف)", sInfoPostFix: "", sInfoThousands: ",", sLengthMenu: "نمایش _MENU_ ردیف", sLoadingRecords: "در حال بارگزاری...", sProcessing: "در حال پردازش...", sSearch: "جستجو: ", sZeroRecords: "رکوردی با این مشخصات پیدا نشد", oPaginate: { sFirst: "برگه‌ی نخست", sLast: "برگه‌ی آخر", sNext: "بعدی", sPrevious: "قبلی", }, oAria: { sSortAscending: ": فعال سازی نمایش به صورت صعودی", sSortDescending: ": فعال سازی نمایش به صورت نزولی", }, }, ordering: false, processing: true, select: true, ajax: { url: "https://rms.rmto.ir/show-all-roles", type: "GET", dataSrc: function (json) { return json.data; }, }, columns: [{ className: "text-center", data: "name_fa" }, { className: "text-center", data: null, render: function (data, type, row) { return `
` }, }, ], buttons: [{ text: '
', action: function (e, dt, node, config) { $("#modal_role_form").modal('show'); $("#modal_role_form").find('.modal-title').text('افزودن نقش') $("#modal_role_form").find('#name_role').val('') $("#modal_role_form").find('.permission-input').prop('checked', false) $("#modal_role_form").find('.all-permission-by-type').prop('checked', false) $("#modal_role_form").find('#role_id').val('-1') $("#modal_role_form").data('mode', 'add') }, },] }); }) $(document).on('click', '#report_btn', function () { var tr = $(this).closest("tr"); var row = table.row(tr); $("#report_modal").modal('show'); console.log(row.data().id); $("#selected_user_for_report").val(row.data().id); }) $(document).on('click', '#user_report', function () { const modal = $("#report_modal"); // var tr = $(this).closest("tr"); // var row = table.row(tr); // row.data().id modal.find(".input-cleaner").each(function () { $(this).val() == "" ? $(this).addClass("no-val") : $(this).removeClass("no-val"); }); if (modal.find(".input-cleaner").hasClass("no-val")) { alert("لطفا فیلد های مربوطه را تکمیل نمایید") } else { const convert_fromDate_reprt = moment(fromDate_reprt.getState().selected.unixDate).format("YYYY-MM-DD"); const convert_toDate_reprt = moment(toDate_reprt.getState().selected.unixDate).format("YYYY-MM-DD"); window.open(`https://rms.rmto.ir/user-activity-report/print/user/${$("#selected_user_for_report").val()}?fromDate=${convert_fromDate_reprt}&toDate=${convert_toDate_reprt}`, `_blank`); modal.modal("hide") } }) $(document).on('click', '.all-permission-by-type', function () { const modal = $(this).parents('.modal') const type = $(this).data('type') if ($(this).is(':checked')) { modal.find(`.permission-input[data-type="${type}"]`).prop('checked', true) return true; } modal.find(`.permission-input[data-type="${type}"]`).prop('checked', false) return true; }) $(document).on('click', '#activity_report', function () { const modal = $('#activity_report_modal') var tr = $(this).closest("tr"); var row = table.row(tr); var first_name = row.data().first_name; var last_name = row.data().last_name; var mobile = row.data().mobile; var name = row.data().name; var degree = row.data().degree; var major = row.data().major; var username = row.data().username; var national_code = row.data().national_code; var avatar = row.data().avatar; $("#user_fulname_activity_report").text(first_name + " " + last_name); $("#user_mobile_activity_report").text(mobile); $("#user_name_activity_report").text(name); if (major != null) { $("#user_degree_major_activity_report").text(degree + " " + major); } else { $("#user_degree_major_activity_report").text("لطفا اطلاعات کاربر را کامل نمایید."); } $("#user_username_activity_report").text(username); $("#user_national_code_activity_report").text(national_code); if (avatar != null) { $('#user_image_activity_report').attr('src', `https://rms.rmto.ir/${avatar}`); $('#edit_user_photo_title').css('display', 'none'); } else { $('#user_image_activity_report').removeAttr('src'); $('#edit_user_photo_title').css('display', ''); } $.ajax({ url: "https://rms.rmto.ir/users/summary_report/" + row.data().id, type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { console.log(result); $("#activity_time").text(result.activity_time); $("#average_activity_time").text(result.average_activity_time); $("#number_of_activities").text(result.number_of_activities); $("#average_activity_number").text(result.average_activity_number); if (result.number_of_active_days == -1) { $("#number_of_active_days").text(0); } else { $("#number_of_active_days").text(result.number_of_active_days); } if (result.last_login == null) { $("#last_login").text("هرگز به سایت ورود نشده است."); } else { $("#last_login").text(moment(result.last_login).locale('fa').format('HH:mm || YYYY/MM/DD')); } modal.modal('show'); hideLoaderScreen() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); }) $(document).on('click', '.permission-control', function () { const modal = $('#modal_permission') var tr = $(this).closest("tr"); var row = table.row(tr); modal.find('.permission-input').prop('checked', false) modal.find('.all-permission-by-type').prop('checked', false) modal.find('#user_id').val(row.data().id) $.ajax({ url: "https://rms.rmto.ir/users/" + row.data().id + "/permission", type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { result.data.map(permission => { modal.find(`.permission-input[value="${permission.name}"]`).prop('checked', true) }) modal.find('.all-permission-by-type').each((index, element) => { if (modal.find(`.permission-input[data-type="${$(element).data('type')}"]`).length == modal.find(`.permission-input[data-type="${$(element).data('type')}"]:checked`).length) $(element).prop('checked', true) }) $.ajax({ url: "https://rms.rmto.ir/show-all-roles", type: "GET", beforeSend: function () { modal.find('#roles_tools').empty() modal.find('#roles_tools').append(``) }, success: function (result) { result.data.map(item => { modal.find('#roles_tools').append(``) }) modal.find('#roles_tools').val(-1) modal.modal('show'); hideLoaderScreen() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); }) $('.roles-tools').on('change', function () { const modal = $(this).parents(".modal"); const roleId = $(this).val() modal.find('.permission-input').prop('checked', false) modal.find('.all-permission-by-type').prop('checked', false) if (roleId == -1) return false $.ajax({ url: "https://rms.rmto.ir/show-role/" + roleId, type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { result.data.permissions.map(permission => { modal.find(`.permission-input[value="${permission.name}"]`).prop('checked', true) }) modal.find('.all-permission-by-type').each((index, element) => { if (modal.find(`.permission-input[data-type="${$(element).data('type')}"]`).length == modal.find(`.permission-input[data-type="${$(element).data('type')}"]:checked`).length) $(element).prop('checked', true) }) hideLoaderScreen() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); }) $('#submit_form_permission').on('click', function () { const arrPermission = [] const modal = $('#modal_permission') const userId = modal.find('#user_id').val() modal.find('.permission-input:checked').map((index, permission) => { arrPermission.push($(permission).val()) }) let formData = new FormData(); formData.append("permissions", arrPermission); $.ajax({ url: `https://rms.rmto.ir/users/${userId}/permission`, type: "POST", headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, data: formData, cache: false, contentType: false, processData: false, beforeSend: function () { showLoaderScreen() }, success: function (result) { hideLoaderScreen() modal.modal('hide') }, error: function (error) { errorHandler(error); hideLoaderScreen() modal.modal('hide') }, }); }) $('#submitForRole').on('click', function () { const modal = $('#modal_role_form') let formData = new FormData(); let url; formData.append("role_name", modal.find('#name_role').val()); modal.find('.permission-input:checked').map((index, permission) => { formData.append("permissions[]", $(permission).val()); }) switch (modal.data('mode')) { case 'add': url = `https://rms.rmto.ir/create-role` break; case 'edit': url = `https://rms.rmto.ir/edit-role/${modal.find('#role_id').val()}` break; } $.ajax({ url: url, type: "POST", headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, data: formData, cache: false, contentType: false, processData: false, beforeSend: function () { showLoaderScreen() }, success: function (result) { $.ajax({ url: "https://rms.rmto.ir/show-all-roles", type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { if (result.data.length != 0) { $("#role_table").dataTable().fnClearTable(); $("#role_table").dataTable().fnAddData(result.data); } else { $("#role_table").dataTable().fnClearTable(); } modal.modal('hide') hideLoaderScreen() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); }, error: function (error) { errorHandler(error); hideLoaderScreen() modal.modal('hide') }, }); }) $(document).on('click', '.edit-role', function () { const modal = $('#modal_role_form') var tr = $(this).closest("tr"); var row = roleTable.row(tr); modal.find('.modal-title').text('ویرایش نقش') modal.find('#name_role').val(row.data().name_fa) modal.find('.permission-input').prop('checked', false) modal.find('.all-permission-by-type').prop('checked', false) modal.find('#role_id').val(row.data().id) modal.data('mode', 'edit') $.ajax({ url: "https://rms.rmto.ir/show-role/" + row.data().id, type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { result.data.permissions.map(permission => { modal.find(`.permission-input[value="${permission.name}"]`).prop('checked', true) }) modal.find('.all-permission-by-type').each((index, element) => { if (modal.find(`.permission-input[data-type="${$(element).data('type')}"]`).length == modal.find(`.permission-input[data-type="${$(element).data('type')}"]:checked`).length) $(element).prop('checked', true) }) hideLoaderScreen() modal.modal('show'); }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); }) $(document).on('change', '.permission-input', function () { const modal = $(this).parents('.modal') modal.find('.all-permission-by-type').prop('checked', false) modal.find('.all-permission-by-type').each((index, element) => { if (modal.find(`.permission-input[data-type="${$(element).data('type')}"]`).length == modal.find(`.permission-input[data-type="${$(element).data('type')}"]:checked`).length) $(element).prop('checked', true) }) }) $(document).on('click', '.delete-role', function () { var tr = $(this).closest("tr"); var row = roleTable.row(tr); Swal.fire({ icon: "warning", title: "آیا برای حذف مطمئن هستید؟", showCancelButton: true, confirmButtonColor: "#3085d6", cancelButtonColor: "#d33", confirmButtonText: "بله، تایید می‌شود", cancelButtonText: "منصرف شدم!", showLoaderOnConfirm: true, preConfirm: () => { $.ajax({ url: `https://rms.rmto.ir/delete-role/${row.data().id}`, type: "POST", headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, cache: false, contentType: false, processData: false, beforeSend: function () { showLoaderScreen() }, success: function (result) { $.ajax({ url: "https://rms.rmto.ir/show-all-roles", type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { if (result.data.length != 0) { $("#role_table").dataTable().fnClearTable(); $("#role_table").dataTable().fnAddData(result.data); } else { $("#role_table").dataTable().fnClearTable(); } hideLoaderScreen() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); }, error: function (error) { errorHandler(error); }, }); }, }); }) $(document).on('click', '#change_enabled', function () { var tr = $(this).closest("tr"); var row = table.row(tr); Swal.fire({ icon: "warning", title: "آیا برای تغییر وضعیت مطمئن هستید؟", showCancelButton: true, confirmButtonColor: "#3085d6", cancelButtonColor: "#d33", confirmButtonText: "بله، تایید می‌شود", cancelButtonText: "منصرف شدم!", showLoaderOnConfirm: true, preConfirm: () => { $.ajax({ url: `https://rms.rmto.ir/users/change_user_enabeld/${row.data().id}`, type: "GET", headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, cache: false, contentType: false, processData: false, beforeSend: function () { showLoaderScreen() }, success: function (result) { tablereload() hideLoaderScreen() }, error: function (error) { errorHandler(error); }, }); }, }); }) $(document).on("change", "#province_office_edit", function () { $("#esmkarbar").val(""); esmp2 = ""; if ($(this).val() != 0) { esmp2 = $(this).find("option:selected").text(); $("#esmkarbar").val(`${esmp2} ${esmp1}`); } else { $("#cityOffice_edit").val() != 0 ? $("#esmkarbar").val(`${$("#cityOffice_edit").find("option:selected").text()} ${esmp1}`) : $("#esmkarbar").val(`${esmp1}`); } }); $(document).on("change", "#cityOffice_edit", function () { $("#esmkarbar").val(""); esmp3 = ""; if (esmp2 == "") { esmp3 = $(this).find("option:selected").text(); $("#esmkarbar").val(`${esmp3} ${esmp1}`); } else { $("#esmkarbar").val(`${esmp2} ${esmp1}`); } if (esmp2 == "" && $(this).val() == 0) { $("#esmkarbar").val(`${esmp1}`) } }); $("#select_province_filter").change(function () { getCityByProvince($(this).val(), "select_city_filter") }) $('.img-input').on('change', function () { var input = this; var parent = $(this).parents('.file'); if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { parent.find('.img-title').css('display', 'none') parent.find('.btn-delete-img').prop('disabled', false) parent.find('.img-preview') .attr('src', e.target.result); }; reader.readAsDataURL(input.files[0]); } }) $('.btn-delete-img').on('click', function () { var parent = $(this).parents('.file'); parent.find('.img-input').val(''); parent.find('.img-preview').removeAttr('src'); parent.find('.img-title').css('display', ''); $(this).prop('disabled', true) }) $("#inputFile1").change(function () { $("#fileshow").css("display", "none"); readURL2(this); }); $("#inputFile1karbar").change(function () { // $("#fileshowkarbar").css("display", "none"); readURL3(this); }); function readURL3(input) { $(".remove-imagekarbar").css("display", "block") if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $("#image_upload_previewmostanadkarbar").css("display", "block"); $("#removepic2karbar").css("display", "block"); $("#image_upload_previewmostanadkarbar").attr("src", e.target.result); }; reader.readAsDataURL(input.files[0]); } } function readURL2(input) { $(".remove-image").css("display", "block") if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $("#image_upload_previewmostanad").css("display", "block"); $("#removepic2").css("display", "block"); $("#image_upload_previewmostanad").attr("src", e.target.result); }; reader.readAsDataURL(input.files[0]); } } $(".remove-image").on("click", function () { $("#image_upload_previewmostanad").attr("src", "#"); $("#image_upload_previewmostanad").css("display", "none"); $("input[name=image_upload_previewmostanad]").val(""); $("#fileshow").css("display", "block") $(".remove-image").css("display", "none") }) $(".remove-imagekarbar").on("click", function () { $("#image_upload_previewmostanadkarbar").attr("src", "#"); $("#image_upload_previewmostanadkarbar").css("display", "none"); $("input[name=image_upload_previewmostanadkarbar]").val(""); // $("#fileshowkarbar").css("display", "block") $(".remove-imagekarbar").css("display", "none") }) function tablereload() { $.ajax({ url: "https://rms.rmto.ir/users", type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { hideLoaderScreen() $("#user_data_table").dataTable().fnClearTable(); $("#user_data_table").dataTable().fnAddData(result.data); checkedItemsId = []; }, }); } $("#user_data_table").on("click", "button.btnshowper", function () { $(".show-perm").empty() var perArray = [] var tr = $(this).closest("tr"); var row = table.row(tr); for (var i = 0; i < row.data().permissions.length; i++) { perArray.push(row.data().permissions[i]) } $("#persmision").modal('show') for (var i = 0; i < perArray.length; i++) { $(".show-perm").append(`
  • ${perArray[i].name}
  • `) } }) $("#user_data_table").on("click", "button.delete_user", function () { var tr = $(this).closest("tr"); var row = table.row(tr); global_user_id = row.data().id; let formData = new FormData(); formData.append("user_ids", global_user_id); formData.append("_method", "delete"); Swal.fire({ icon: "warning", title: "آیا برای حذف مطمئن هستید؟", showCancelButton: true, confirmButtonColor: "#3085d6", cancelButtonColor: "#d33", confirmButtonText: "بله، تایید می‌شود", cancelButtonText: "منصرف شدم!", showLoaderOnConfirm: true, preConfirm: () => { $.ajax({ url: "https://rms.rmto.ir/users/delete", type: "POST", headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, data: formData, cache: false, contentType: false, processData: false, beforeSend: function () { showLoaderScreen() }, success: function (result) { tablereload() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); }, }); }); // filter check $("#btn_filter_show").on("click", function () { let queryParems = [] const province_office = $('select[name="filter-province-office"]').val() const province = $('select[name="select-province-filter"]').val() const city = $('select[name="city-select"]').val() if (province_office != 0 && province_office != null) queryParems.push(`province_office=${province_office}`) if (province != 0) queryParems.push(`province=${province}`) if (city != 0 && city != null) queryParems.push(`city=${city}`) const url = `https://rms.rmto.ir/users/${queryParems.length != 0 ? `?${queryParems.join('&')}` : ''}` $.ajax({ url: url, type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { if (result.data.length != 0) { $("#user_data_table").dataTable().fnClearTable(); $("#user_data_table").dataTable().fnAddData(result.data); } else { $("#user_data_table").dataTable().fnClearTable(); } hideLoaderScreen() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); }) // filter check $("table").on("click", "tbody tr", function () { $("tr.selected").find("i").css("color", ""); $("tr.selected").css("color", ""); $("tr.selected").removeClass("selected"); $(this).addClass("selected"); $(this).css("color", "white"); $(this).find("i").css("color", "white"); }); $('#user_data_table').on('change', ".user-finder", function () { const checkedItemId = $(this).data("idUser"); if ($.inArray(checkedItemId, checkedItemsId) !== -1) { checkedItemsId = $.grep(checkedItemsId, function (value) { return value != checkedItemId; }); } else { checkedItemsId.push(checkedItemId); } }); $(document).on("click", "#users_edit_cta", function () { const modal = $(this).parents(".modal"); const thisBtn = $(this); thisBtn.prop("disabled", true); modal.find(".modal-select-confirm-users").removeClass("validation-checker"); modal.find(".modal-select-confirm-users").each(function (index) { if ($(this).find("option:selected").val() == -1) $(this).addClass("validation-checker") }); if (modal.find(".validation-checker").length != 0) { Swal.fire({ icon: "error", title: "خطا", text: "لطفا تمامی مقادیر را تکمیل کنید", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); thisBtn.prop("disabled", false); } else { const user_ids = checkedItemsId; const confirm = modal.find("#users_confirmation option:selected").val(); let formData = new FormData(); formData.append("user_ids", user_ids); formData.append("confirm", confirm); $.ajax({ url: "https://rms.rmto.ir/users/change_confirmed_status", type: "POST", data: formData, cache: false, processData: false, contentType: false, headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, beforeSend: function () { showLoaderScreen(); }, success: function (result) { thisBtn.prop('disabled', false); modal.modal('hide') $("#modal_choose_group_action").modal("hide"); hideLoaderScreen(); Swal.fire({ icon: "success", title: "اعمال موفق", text: "تغییرات بر روی کاربران مورد نظر اعمال شد", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }).then(result => { table.ajax.reload(null, false); checkedItemsId = []; }) }, error: function (error) { thisBtn.prop('disabled', false) $("#modal_choose_group_action").modal("hide"); hideLoaderScreen(); errorHandler(error); }, }); } }); // users/change_confirmed_status // edit userss $(document).on('click', "#edit_users_group_action", function () { $(".modal").modal("hide"); const modal = $("#modal_confirm_users"); modal.modal("show"); }); // end edit userss // show change password $(document).on('click', ".change_password_show_modal_button", function () { var tr = $(this).closest("tr"); var row = table.row(tr); id = row.data().id; const modal = $("#change_password_modal"); modal.find('#password').val('') modal.find('#repassword').val('') modal.find("#password").removeClass("validity-checker"); modal.find("#repassword").removeClass("validity-checker"); modal.find('#change_password_submit_form').data('userId', id) modal.modal("show"); }); // end show change password // change password $(document).on('click', "#change_password_submit_form", function () { let form_validation_status = true; const modal = $("#change_password_modal"); const password = modal.find("#password").val(); const repass = modal.find("#repassword").val(); const id = modal.find("#change_password_submit_form").data('userId') if (password.length < 8) { modal.find("#password").addClass("validity-checker"); Swal.fire({ icon: "error", title: "خطا", text: "رمزعبور باید حداقل 8 کاراکتر باشد!", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); form_validation_status = false; } else if (password != repass) { modal.find("#password").addClass("validity-checker"); modal.find("#repassword").addClass("validity-checker"); Swal.fire({ icon: "error", title: "خطا", text: "تکرار رمزعبور با رمز عبور مقایرت دارد!", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); form_validation_status = false; } else { modal.find("#password").removeClass("validity-checker"); modal.find("#repassword").removeClass("validity-checker"); } if (form_validation_status) { let formData = new FormData(); formData.append("password", password); formData.append("password_confirmation", repass); $.ajax({ url: `https://rms.rmto.ir/users/change_password/${id}`, type: "POST", headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, data: formData, cache: false, contentType: false, processData: false, beforeSend: function () { showLoaderScreen() }, success: function (result) { Swal.fire({ icon: "success", title: "تغییر رمزعبور", text: "رمزعبور با موفقیت تغییر کرد!", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); modal.modal('hide') hideLoaderScreen() tablereload() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); } }); // end change password // group action assign role to users $(document).on('click', "#assign_role_group_action", function () { $.ajax({ url: "https://rms.rmto.ir/show-all-roles", type: "GET", beforeSend: function () { $('#assign_role_list_of_roles').empty() $('#assign_role_list_of_roles').append(``) }, success: function (result) { result.data.map(item => { $('#assign_role_list_of_roles').append(``) }) $('#assign_role_list_of_roles').val(0) hideLoaderScreen() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); // $(".modal").modal("hide"); // const modal = $("#modal_assign_role_group_action"); // modal.modal("show"); $("#modal_assign_role_group_action").modal("show"); }); $('#assign_role_group_action_submit').on('click', function () { const modal = $(this).parents(".modal"); let formData = new FormData(); const thisBtn = $(this); thisBtn.prop("disabled", true); // formData.append("role_name", modal.find('#name_role').val()); modal.find('.permission-input:checked').map((index, permission) => { formData.append("permission_ids[]", $(permission).val()); }) formData.append("user_ids", checkedItemsId); $.ajax({ url: `https://rms.rmto.ir/users/give_permissions`, type: "POST", headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, data: formData, cache: false, contentType: false, processData: false, beforeSend: function () { showLoaderScreen() }, success: function (result) { $.ajax({ url: "https://rms.rmto.ir/show-all-roles", type: "GET", beforeSend: function () { showLoaderScreen() }, success: function (result) { thisBtn.prop('disabled', false); // modal.modal('hide') $(".modal").modal("hide"); Swal.fire({ icon: "success", title: "اعمال موفق", text: "تغییرات بر روی کاربران مورد نظر اعمال شد", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }).then(result => { table.ajax.reload(null, false); checkedItemsId = []; }) hideLoaderScreen() }, error: function (error) { thisBtn.prop('disabled', false) // $("#modal_choose_group_action").modal("hide"); errorHandler(error); hideLoaderScreen(); }, }); }, error: function (error) { errorHandler(error); hideLoaderScreen() modal.modal('hide') }, }); }) // end group action assign role to users // delete users $(document).on('click', '#delete_users_group_action', function () { const user_ids = checkedItemsId; let formData = new FormData(); formData.append("user_ids", user_ids); Swal.fire({ icon: "warning", title: "آیا برای حذف مطمئن هستید؟", showCancelButton: true, confirmButtonColor: "#3085d6", cancelButtonColor: "#d33", confirmButtonText: "بله، حذف می‌شود", cancelButtonText: "منصرف شدم!", showLoaderOnConfirm: true, preConfirm: () => { showLoaderScreen(); $.ajax({ url: "https://rms.rmto.ir/users/delete", type: "POST", data: formData, cache: false, contentType: false, processData: false, headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, beforeSend: function () { showLoaderScreen(); }, success: function (result) { table.ajax.reload(null, false); checkedItemsId = []; $("#modal_choose_group_action").modal("hide"); hideLoaderScreen(); }, error: function (error) { hideLoaderScreen(); $("#modal_choose_group_action").modal("hide"); errorHandler(error); }, }); }, }); }); // end delete users // begin edit user $("#user_data_table").on("click", "button.edit_user_show_modal_button", function () { var tr = $(this).closest("tr"); var row = table.row(tr); global_user_id = row.data().id; var city = row.data().city_id; var cityFaChoose = row.data().city_fa; var province = row.data().province_id; var province_fa = row.data().province_fa; var degree = row.data().degree; var first_name = row.data().first_name; var last_name = row.data().last_name; var mobile = row.data().mobile; var name = row.data().name; var avatar = row.data().avatar; var position = row.data().position; var edarate_ostani = row.data().edarate_ostani_id; var edarate_shahri = row.data().edarate_shahri_id; var username = row.data().username; var national_code = row.data().national_code; $("#edit_province").val(Number(province)) $("#edit_province_office").val(edarate_ostani) $("#edit_city").empty(); $("#edit_city_office").empty(); if (province == null || edarate_ostani != null) { disableDOM("edit_city"); disableDOM("edit_city_office"); } else { getCityByProvince(province, "edit_city", city) getCityOfficeByProvince(province, "edit_city_office", edarate_shahri) // if (city != null) { // getCityOfficeByCity(city, "edit_city_office", edarate_shahri) // } } $("#edit_password").val("") $("#edit_repassword").val("") $("#edit_user_photo").val(''); if (avatar != null) { $('#edit_user_photo_preview').attr('src', `https://rms.rmto.ir/${avatar}`); $('#edit_user_photo_title').css('display', 'none'); } else { $('#edit_user_photo_preview').removeAttr('src'); $('#edit_user_photo_title').css('display', ''); } $(".remove-imagekarbar").css("display", "none") $("#edit_username").val(username) $("#edit_name").val(name) $("#edit_first_name").val(first_name) $("#edit_last_name").val(last_name) $("#edit_mobile").val(mobile) $("#edit_degree").val(degree) $("#edit_major").val(row.data().major); $("#edit_national_code").val(national_code) $("#edit_user_modal").modal('show') }); $("#edit_province").change(function () { if ($(this).val() == 0 || $(this).val() == -1) { disableDOM("edit_city") disableDOM("edit_city_office") $("#edit_city").empty(); $("#edit_city_office").empty(); } else { edit_province_office = $("#edit_province_office").val(); if (edit_province_office == 0 || edit_province_office == null) { enableDOM("edit_city") enableDOM("edit_city_office") getCityByProvince($("#edit_province").val(), "edit_city") getCityOfficeByProvince($("#edit_province").val(), "edit_city_office") // $("#edit_city_office").empty(); // $("#edit_city_office").append(''); } else { disableDOM("edit_city") disableDOM("edit_city_office") $("#edit_city").empty(); $("#edit_city_office").empty(); } } setUserName("edit"); }) $("#edit_province_office").change(function () { if ($(this).val() != 0) { disableDOM("edit_city") disableDOM("edit_city_office") $("#edit_city").empty(); $("#edit_city_office").empty(); } else { if ($("#edit_province").val() == 0 || $("#edit_province").val() == -1) { disableDOM("edit_city") disableDOM("edit_city_office") $("#edit_city").empty(); $("#edit_city_office").empty(); } else { enableDOM("edit_city") enableDOM("edit_city_office") getCityByProvince($("#edit_province").val(), "edit_city") getCityOfficeByProvince($("#edit_province").val(), "edit_city_office") // $("#edit_city_office").empty(); // $("#edit_city_office").append(''); } } setUserName("edit"); }) $("#edit_city_office").change(function () { console.log("this is ok"); setUserName("edit"); }) $("#edit_submit_form").on("click", function () { var form_validation_status = true; var username = $("#edit_username").val(); var password = $("#edit_password").val(); var repass = $("#edit_repassword").val(); var province_id = $("#edit_province").children("option:selected").val(); var edarate_ostani_id = $("#edit_province_office").children("option:selected").val(); var edarate_shahri_id = $("#edit_city_office").children("option:selected").val(); var national_code = $("#edit_national_code").val(); var city_id = $("#edit_city").children("option:selected").val(); var first_name = $("#edit_first_name").val(); var degree = $("#edit_degree").children("option:selected").val(); var last_name = $("#edit_last_name").val(); var major = $("#edit_major").val(); var mobile = $("#edit_mobile").val(); if (edarate_ostani_id <= 0 && edarate_shahri_id <= 0) { Swal.fire({ icon: "error", title: "خطا", text: "حداقل یکی از ادارات استانی یا شهری را انتخاب کنید", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); form_validation_status = false; } if (edarate_ostani_id > 0 && edarate_shahri_id > 0) { Swal.fire({ icon: "error", title: "خطا", text: "انتخاب هر دو آیتم ادارات شهری و استانی امکان پذیر نیست", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); form_validation_status = false; } if (username.length == 0) { $("#edit_username").addClass("validity-checker"); form_validation_status = false; } else { $("#edit_username").removeClass("validity-checker"); } if (city_id == 0) { $("#edit_city").addClass("validity-checker"); form_validation_status = false; } else { $("#edit_city").removeClass("validity-checker"); } if (province_id < 0) { $("#edit_province").addClass("validity-checker"); form_validation_status = false; } else { $("#edit_province").removeClass("validity-checker"); } if ((password != repass) && (password.length > 0)) { $("#edit_password").addClass("validity-checker"); $("#edit_repassword").addClass("validity-checker"); form_validation_status = false; } else { $("#edit_password").removeClass("validity-checker"); $("#edit_repassword").removeClass("validity-checker"); } // if (!checkNationalCode(national_code)) { // $("#edit_national_code").addClass("validity-checker"); // form_validation_status = false; // } else { // $("#edit_national_code").removeClass("validity-checker"); // } if (form_validation_status) { let formData = new FormData(); formData.append("_method", "put"); formData.append("username", username); formData.append("password", password); formData.append("province_id", province_id); if (city_id == undefined) { formData.append("city_id", 0); } else { formData.append("city_id", city_id); } formData.append("password_confirmation", repass); if (edarate_ostani_id != 0 && edarate_ostani_id != undefined) { formData.append("edarate_ostani_id", edarate_ostani_id); formData.append("edarate_shahri_id", null); } else { formData.append("edarate_ostani_id", null); formData.append("edarate_shahri_id", edarate_shahri_id); } formData.append("first_name", first_name); formData.append("last_name", last_name); formData.append("mobile", mobile); if (degree != undefined) { formData.append("degree", degree); } // formData.append("degree", degree); formData.append("major", major); formData.append("national_code", national_code); if ($("#edit_user_photo")[0].files[0] != undefined) { formData.append("avatar", $("#edit_user_photo")[0].files[0]); } $.ajax({ url: "https://rms.rmto.ir/users/" + global_user_id, type: "POST", headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, data: formData, cache: false, contentType: false, processData: false, beforeSend: function () { showLoaderScreen() }, beforeSend: function () { showLoaderScreen() }, success: function (result) { $("#edit_user_modal").modal('hide') hideLoaderScreen() tablereload() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); } }) // end edit user //begin add user $("#add_user_show_modal_button").on("click", function () { $("#add_province").val(-1) $("#add_province_office").val(0) enableDOM("add_city") $("#add_city").empty(); $("#add_city").append(''); enableDOM("add_city_office") $("#add_city_office").empty(); $("#add_city_office").append(''); $("#add_username").val("") setUserName(); $("#add_national_code").val(""); $("#add_last_name").val("") $("#add_first_name").val("") $("#add_mobile").val("09") $("#add_major").val("") $("#add_degree").val("") $("#add_password").val("") $("#add_repassword").val("") $("#add_user_photo").val(''); $('#add_user_photo_preview').removeAttr('src'); $('#add_user_photo_title').css('display', ''); $('#add_user_photo_delete').prop('disabled', true) $("#fileshow").css("display", "block") $(".remove-image").css("display", "none") $("#add_user_modal").modal('show') }) $("#add_province").change(function () { if ($(this).val() == 0 || $(this).val() == -1) { disableDOM("add_city") disableDOM("add_city_office") $("#add_city").empty(); $("#add_city_office").empty(); } else { if ($("#add_province_office").val() == 0) { enableDOM("add_city") enableDOM("add_city_office") getCityByProvince($("#add_province").val(), "add_city") getCityOfficeByProvince($("#add_province").val(), "add_city_office") // $("#add_city_office").empty(); // $("#add_city_office").append(''); } else { disableDOM("add_city") disableDOM("add_city_office") $("#add_city").empty(); $("#add_city_office").empty(); } } setUserName(); }) $("#add_province_office").change(function () { if ($(this).val() != 0) { disableDOM("add_city") disableDOM("add_city_office") $("#add_city").empty(); $("#add_city_office").empty(); } else { if ($("#add_province").val() == 0 || $("#add_province").val() == -1) { disableDOM("add_city") disableDOM("add_city_office") $("#add_city").empty(); $("#add_city_office").empty(); } else { enableDOM("add_city") enableDOM("add_city_office") getCityByProvince($("#add_province").val(), "add_city") getCityOfficeByProvince($("#add_province").val(), "add_city_office") // $("#add_city_office").empty(); // $("#add_city_office").append(''); } } setUserName(); }) // $("#edit_city").change(function () { // if ($(this).val() == 0) { // $("#edit_city_office").empty(); // } else { // getCityOfficeByCity($(this).val(), "edit_city_office") // } // setUserName("edit"); // }) // $("#add_simple_city").change(function () { // if ($(this).val() == 0) { // $("#add_simple_city_office").empty(); // } else { // getCityOfficeByCity($(this).val(), "add_simple_city_office") // } // setUserName(); // }) // $("#add_city").change(function () { // if ($(this).val() == 0) { // $("#add_city_office").empty(); // } else { // getCityOfficeByCity($(this).val(), "add_city_office") // } // setUserName(); // }) $("#add_city_office").change(function () { setUserName(); }) $("#add_submit_form").on("click", function () { var form_validation_status = true; var username = $("#add_username").val(); var password = $("#add_password").val(); var repass = $("#add_repassword").val(); var province_id = $("#add_province").children("option:selected").val(); var edarate_ostani_id = $("#add_province_office").children("option:selected").val(); var edarate_shahri_id = $("#add_city_office").children("option:selected").val(); var national_code = $("#add_national_code").val(); var city_id = $("#add_city").children("option:selected").val(); var first_name = $("#add_first_name").val(); var degree = $("#add_degree").children("option:selected").val(); var last_name = $("#add_last_name").val(); var major = $("#add_major").val(); var mobile = $("#add_mobile").val(); if (edarate_ostani_id <= 0 && edarate_shahri_id <= 0) { Swal.fire({ icon: "error", title: "خطا", text: "حداقل یکی از ادارات استانی یا شهری را انتخاب کنید", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); form_validation_status = false; } if (edarate_ostani_id > 0 && edarate_shahri_id > 0) { Swal.fire({ icon: "error", title: "خطا", text: "انتخاب هر دو آیتم ادارات شهری و استانی امکان پذیر نیست", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); form_validation_status = false; } if (username.length == 0) { $("#add_username").addClass("validity-checker"); form_validation_status = false; } else { $("#add_username").removeClass("validity-checker"); } if (city_id == 0) { $("#add_city").addClass("validity-checker"); form_validation_status = false; } else { $("#add_city").removeClass("validity-checker"); } if (province_id < 0) { $("#add_province").addClass("validity-checker"); form_validation_status = false; } else { $("#add_province").removeClass("validity-checker"); } if ((password != repass) || (password.length == 0)) { $("#add_password").addClass("validity-checker"); $("#add_repassword").addClass("validity-checker"); form_validation_status = false; } else { $("#add_password").removeClass("validity-checker"); $("#add_repassword").removeClass("validity-checker"); } if (!checkNationalCode(national_code)) { $("#add_national_code").addClass("validity-checker"); form_validation_status = false; } else { $("#add_national_code").removeClass("validity-checker"); } if (form_validation_status) { let formData = new FormData(); formData.append("username", username); formData.append("password", password); formData.append("province_id", province_id); if (city_id == undefined) { formData.append("city_id", 0); } else { formData.append("city_id", city_id); } formData.append("password_confirmation", repass); if (edarate_ostani_id != 0) { formData.append("edarate_ostani_id", edarate_ostani_id); formData.append("edarate_shahri_id", null); } else { formData.append("edarate_ostani_id", null); formData.append("edarate_shahri_id", edarate_shahri_id); } formData.append("first_name", first_name); formData.append("last_name", last_name); formData.append("mobile", mobile); formData.append("degree", degree); formData.append("national_code", national_code); formData.append("major", major); if ($("#add_user_photo")[0].files[0] != undefined) { formData.append("avatar", $("#add_user_photo")[0].files[0]); } $.ajax({ url: "https://rms.rmto.ir/users", type: "POST", headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, data: formData, cache: false, contentType: false, processData: false, beforeSend: function () { showLoaderScreen() }, success: function (result) { $("#add_user_modal").modal('hide') hideLoaderScreen() tablereload() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); } }) //end add user // begin add simple user $('#add_simple_user_show_modal').on('click', function () { $("#add_simple_province").val(-1) $("#add_simple_province_office").val(0) $("#add_simple_username").val("") $("#add_simple_password").val("") $("#add_simple_repassword").val("") enableDOM("add_simple_city") $("#add_simple_city").empty(); $("#add_simple_city").append(''); enableDOM("add_simple_city_office") $("#add_simple_city_office").empty(); $("#add_simple_city_office").append(''); $("#add_simple_national_code").val("") $("#modal_add_simple_user").modal('show') }) $("#add_simple_province").change(function () { if ($(this).val() == 0 || $(this).val() == -1) { disableDOM("add_simple_city") disableDOM("add_simple_city_office") $("#add_simple_city").empty(); $("#add_simple_city_office").empty(); } else { if ($("#add_simple_province_office").val() == 0) { enableDOM("add_simple_city") enableDOM("add_simple_city_office") getCityByProvince($("#add_simple_province").val(), "add_simple_city") getCityOfficeByProvince($("#add_simple_province").val(), "add_simple_city_office") // $("#add_simple_city_office").empty(); // $("#add_simple_city_office").append(''); } else { disableDOM("add_simple_city") disableDOM("add_simple_city_office") $("#add_simple_city").empty(); $("#add_simple_city_office").empty(); } } }) $("#add_simple_province_office").change(function () { if ($(this).val() != 0) { disableDOM("add_simple_city") disableDOM("add_simple_city_office") $("#add_simple_city").empty(); $("#add_simple_city_office").empty(); } else { if ($("#add_simple_province").val() == 0 || $("#add_simple_province").val() == -1) { disableDOM("add_simple_city") disableDOM("add_simple_city_office") $("#add_simple_city").empty(); $("#add_simple_city_office").empty(); } else { enableDOM("add_simple_city") enableDOM("add_simple_city_office") getCityByProvince($("#add_simple_province").val(), "add_simple_city") getCityOfficeByProvince($("#add_simple_province").val(), "add_simple_city_office") // $("#add_simple_city_office").empty(); // $("#add_simple_city_office").append(''); } } }) $("#add_simple_submit_form").on("click", function () { var form_validation_status = true; var username = $("#add_simple_username").val(); var password = $("#add_simple_password").val(); var repass = $("#add_simple_repassword").val(); var province_id = $("#add_simple_province").children("option:selected").val(); var edarate_ostani_id = $("#add_simple_province_office").children("option:selected").val(); var edarate_shahri_id = $("#add_simple_city_office").children("option:selected").val(); var national_code = $("#add_simple_national_code").val(); var city_id = $("#add_simple_city").children("option:selected").val(); if (edarate_ostani_id <= 0 && edarate_shahri_id <= 0) { Swal.fire({ icon: "error", title: "خطا", text: "حداقل یکی از ادارات استانی یا شهری را انتخاب کنید", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); form_validation_status = false; } if (edarate_ostani_id > 0 && edarate_shahri_id > 0) { Swal.fire({ icon: "error", title: "خطا", text: "انتخاب هر دو آیتم ادارات شهری و استانی امکان پذیر نیست", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); form_validation_status = false; } if (username.length == 0) { $("#add_simple_username").addClass("validity-checker"); form_validation_status = false; } else { $("#add_simple_username").removeClass("validity-checker"); } if (city_id == 0) { $("#add_simple_city").addClass("validity-checker"); form_validation_status = false; } else { $("#add_simple_city").removeClass("validity-checker"); } if (province_id < 0) { $("#add_simple_province").addClass("validity-checker"); form_validation_status = false; } else { $("#add_simple_province").removeClass("validity-checker"); } if ((password != repass) || (password.length == 0)) { $("#add_simple_password").addClass("validity-checker"); $("#add_simple_repassword").addClass("validity-checker"); form_validation_status = false; } else { $("#add_simple_password").removeClass("validity-checker"); $("#add_simple_repassword").removeClass("validity-checker"); } if (!checkNationalCode(national_code)) { $("#add_simple_national_code").addClass("validity-checker"); form_validation_status = false; } else { $("#add_simple_national_code").removeClass("validity-checker"); } if (form_validation_status) { let formData = new FormData(); formData.append("username", username); formData.append("password", password); formData.append("province_id", province_id); if (city_id == undefined) { formData.append("city_id", 0); } else { formData.append("city_id", city_id); } formData.append("password_confirmation", repass); if (edarate_ostani_id != 0) { formData.append("edarate_ostani_id", edarate_ostani_id); formData.append("edarate_shahri_id", null); } else { formData.append("edarate_ostani_id", null); formData.append("edarate_shahri_id", edarate_shahri_id); } formData.append("national_code", national_code); $.ajax({ url: "https://rms.rmto.ir/add-simple-users", type: "POST", headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, data: formData, cache: false, contentType: false, processData: false, beforeSend: function () { showLoaderScreen() }, success: function (result) { $("#modal_add_simple_user").modal('hide') hideLoaderScreen() tablereload() }, error: function (error) { errorHandler(error); hideLoaderScreen() }, }); } }); // end add simple user