portal.mkgtu.ru/clientSide/packs/admin_assets/user-search.js

112 lines
4.0 KiB
JavaScript
Raw Normal View History

2024-03-28 09:51:45 +03:00
import getCurrentLine from 'get-current-line';
import sendClientErrorToServer from '../../packs/js/client-error-receiver.js';
$(function () {
$('[data-toggle="tooltip"]').tooltip();
});
function checkSelection() {
var sr = $("#custom-users-grid").yiiGridView("getSelectedRows");
if (sr.length === 0) {
alert("Операция не может быть выполнена, выберите пользователей");
}
return sr;
}
function sendAjax(url) {
var urlParams = new URLSearchParams(window.location.search);
$.ajax({
url: url + "?" + urlParams.toString(),
type: "POST",
data: {
arrayData: checkSelection(),
}
})
.done((res) => {
$("#custom-user-render").html(res);
})
.fail((res) => {
let eventLocation = getCurrentLine();
sendClientErrorToServer('error', res?.responseText, eventLocation);
});
}
$("#to-archive").on("click", function (e) {
if (checkSelection().length > 0) {
if (confirm("Вы действительно хотите поместить выбранных пользователей в архив?"))
sendAjax("move-to-archive");
}
e.preventDefault();
});
$("#from-archive").on("click", function (e) {
if (checkSelection().length > 0) {
if (confirm("Вы действительно ходите восстановить выбранных пользователей из архива?"))
sendAjax("move-from-archive");
}
e.preventDefault();
});
//////////////////////////////////////////////////////////////////
$("#del-users").on("click", function (e) {
if (checkSelection().length > 0) {
if (confirm("Вы действительно хотите удалить выбранных пользователей?"))
sendAjax("delete-users");
}
e.preventDefault();
});
$("#del-all-users").on("click", function (e) {
if (
confirm(
"Вы действительно хотите удалить всех пользователей? ВНИМАНИЕ!!! Данное действие безвозвратно удалит всех пользователей не относящихся к числу модераторов или администраторов"
)
) {
location.href = "delete-all-users";
}
e.preventDefault();
});
$("#depersonalize-users").on("click", function (e) {
if (checkSelection().length > 0) {
if (
confirm(
"Операция заменит ФИО серию и номер паспорта и СНИЛС на произвольные значения у выбранных пользователей. Вы действительно хотите обезличить данные выбранных пользователей?"
)
) {
sendAjax("depersonalize-users");
}
}
e.preventDefault();
});
$("#remove-applications-blocking").on("click", function (e) {
if (checkSelection().length > 0) {
if (
confirm(
"Операция уберёт статус блокировки со всех заявлений пользователя. Вы действительно хотите снять блокировку с заявлений выбранных пользователей?"
)
) {
sendAjax($(this).attr('id'));
}
}
e.preventDefault();
});
///////////////////////////////////////////////////////////////////
// привязка к документа так как события отвязываются когда через ajax обновляется DOM
$(document).on("click", "#checkAll", function () {
$("#custom-users-grid input:checkbox").not(".disabled_checkbox").prop("checked", true);
});
$(document).on("click", "#uncheckAll", function () {
$("#custom-users-grid input:checkbox").prop("checked", false);
});