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