var usersTable = document.getElementById('usersTable');
if (usersTable) {
var userSearch = document.getElementById('userSearch');
var userRoleFilter = document.getElementById('userRoleFilter');
var userOrganizationFilter = document.getElementById('userOrganizationFilter');
var userStatusFilter = document.getElementById('userStatusFilter');
var userResetFilterBtn = document.getElementById('userResetFilterBtn');
var userUrlParams = new URLSearchParams(window.location.search);
var initialUserSearch = (userUrlParams.get('user_search') || '').trim();
var initialUserRole = (userUrlParams.get('user_role') || 'all').trim();
var initialUserOrganization = (userUrlParams.get('user_organization') || 'all').trim();
var initialUserStatus = (userUrlParams.get('user_status') || 'all').trim();
if (userSearch && initialUserSearch !== '') {
userSearch.value = initialUserSearch;
}
if (userRoleFilter) {
userRoleFilter.value = initialUserRole !== '' && userRoleFilter.querySelector('option[value="' + initialUserRole + '"]')
? initialUserRole
: 'all';
}
if (userOrganizationFilter) {
userOrganizationFilter.value = initialUserOrganization !== '' ? initialUserOrganization : 'all';
if (userOrganizationFilter.value !== initialUserOrganization && initialUserOrganization !== 'all') {
userOrganizationFilter.value = 'all';
}
}
if (userStatusFilter) {
userStatusFilter.value = ['active', 'inactive', 'removed'].indexOf(initialUserStatus) !== -1 ? initialUserStatus : 'all';
}
var userRows = Array.prototype.slice.call(document.querySelectorAll('#usersTable .user-row'));
var usersPaginationWrap = document.getElementById('usersPaginationWrap');
var usersPaginationPrev = document.getElementById('usersPaginationPrev');
var usersPaginationNext = document.getElementById('usersPaginationNext');
var usersPageNumbers = document.getElementById('usersPageNumbers');
var usersPage = 1;
var usersPerPage = getResponsiveAdminTablePageSize();
var preservedUserState = window.consumeAdminTabUiState('users');
if (preservedUserState) {
var preservedUserValues = preservedUserState.values || {};
if (userSearch && Object.prototype.hasOwnProperty.call(preservedUserValues, 'userSearch')) {
userSearch.value = preservedUserValues.userSearch;
}
if (userRoleFilter && Object.prototype.hasOwnProperty.call(preservedUserValues, 'userRoleFilter')) {
userRoleFilter.value = preservedUserValues.userRoleFilter;
}
if (userOrganizationFilter && Object.prototype.hasOwnProperty.call(preservedUserValues, 'userOrganizationFilter')) {
userOrganizationFilter.value = preservedUserValues.userOrganizationFilter;
}
if (userStatusFilter && Object.prototype.hasOwnProperty.call(preservedUserValues, 'userStatusFilter')) {
userStatusFilter.value = preservedUserValues.userStatusFilter;
}
usersPage = Math.max(1, Number(preservedUserState.page) || 1);
}
function renderUsersPageButtons(totalPages) {
window.DocuFlowPagination.render(usersPageNumbers, usersPage, totalPages, function (page) {
usersPage = page;
applyUserFilter();
});
}
var applyUserFilter = function () {
var searchValue = (userSearch && userSearch.value ? userSearch.value : '').toLowerCase().trim();
var roleValue = userRoleFilter ? userRoleFilter.value : 'all';
var organizationValue = userOrganizationFilter ? userOrganizationFilter.value : 'all';
var statusValue = userStatusFilter ? userStatusFilter.value : 'all';
var filteredRows = [];
userRows.forEach(function (row) {
var matchesRole = roleValue === 'all' || row.dataset.role === roleValue;
var rowOrganization = row.dataset.organizationName || '';
var matchesOrganization = organizationValue === 'all'
|| (organizationValue === '__none__' && rowOrganization.trim() === '')
|| rowOrganization === organizationValue;
var matchesStatus = statusValue === 'all' || row.dataset.status === statusValue;
var haystack = [
row.dataset.name,
row.dataset.email,
row.dataset.empid,
rowOrganization.toLowerCase()
].join(' ');
var matchesSearch = searchValue === '' || haystack.indexOf(searchValue) !== -1;
if (matchesRole && matchesOrganization && matchesStatus && matchesSearch) {
filteredRows.push(row);
}
row.style.display = 'none';
});
var totalPages = Math.max(1, Math.ceil(filteredRows.length / usersPerPage));
if (usersPage > totalPages) usersPage = totalPages;
var startIndex = (usersPage - 1) * usersPerPage;
filteredRows.slice(startIndex, startIndex + usersPerPage).forEach(function (row) {
row.style.display = '';
});
var showPagination = filteredRows.length > usersPerPage;
if (usersPaginationWrap) usersPaginationWrap.style.display = showPagination ? 'flex' : 'none';
if (showPagination) renderUsersPageButtons(totalPages);
if (usersPaginationPrev) usersPaginationPrev.classList.toggle('disabled', usersPage <= 1);
if (usersPaginationNext) usersPaginationNext.classList.toggle('disabled', usersPage >= totalPages);
};
if (userSearch) {
userSearch.addEventListener('input', function () {
usersPage = 1;
applyUserFilter();
});
}
if (userRoleFilter) {
userRoleFilter.addEventListener('change', function () {
usersPage = 1;
applyUserFilter();
});
}
if (userOrganizationFilter) {
userOrganizationFilter.addEventListener('change', function () {
usersPage = 1;
applyUserFilter();
});
}
if (userStatusFilter) {
userStatusFilter.addEventListener('change', function () {
usersPage = 1;
applyUserFilter();
});
}
if (userResetFilterBtn) {
userResetFilterBtn.addEventListener('click', function () {
if (userSearch) userSearch.value = '';
if (userRoleFilter) userRoleFilter.value = 'all';
if (userOrganizationFilter) userOrganizationFilter.value = 'all';
if (userStatusFilter) userStatusFilter.value = 'all';
usersPage = 1;
applyUserFilter();
});
}
if (usersPaginationPrev) {
usersPaginationPrev.addEventListener('click', function (e) {
e.preventDefault();
if (!this.classList.contains('disabled')) {
usersPage = Math.max(1, usersPage - 1);
applyUserFilter();
}
});
}
if (usersPaginationNext) {
usersPaginationNext.addEventListener('click', function (e) {
e.preventDefault();
if (!this.classList.contains('disabled')) {
usersPage = usersPage + 1;
applyUserFilter();
}
});
}
window.addEventListener('resize', function () {
var nextPerPage = getResponsiveAdminTablePageSize();
if (nextPerPage !== usersPerPage) {
usersPerPage = nextPerPage;
usersPage = 1;
applyUserFilter();
}
});
document.addEventListener('dashboard-data-table:sort', function (event) {
if (!event.detail || !event.detail.table || event.detail.table.id !== 'usersTable') {
return;
}
event.preventDefault();
event.detail.handled = true;
userRows = sortAdminDashboardRows(userRows, event.detail.columnIndex, event.detail.order);
usersPage = 1;
applyUserFilter();
});
applyUserFilter();
var roleOrganizationOfficerMap = @json($roleOrganizationOfficerMap ?? []);
function roleIsOrganizationOfficer(role) {
return !!roleOrganizationOfficerMap[(role || '').toString()];
}
// Helper function to toggle organization field visibility and filter options
function toggleOrganizationField() {
var roleSelect = document.getElementById('editUserRole');
var organizationWrapper = document.getElementById('editUserOrganizationWrapper');
var organizationSelect = document.getElementById('editUserOrganization');
var organizationLabel = document.getElementById('editUserOrganizationLabel');
if (roleSelect && organizationWrapper && organizationSelect) {
var selectedRole = roleSelect.value;
var shouldHide = !roleIsOrganizationOfficer(selectedRole);
if (shouldHide) {
organizationWrapper.style.display = 'none';
organizationSelect.value = '';
} else {
organizationWrapper.style.display = '';
filterOrganizationOptions(organizationSelect, selectedRole);
// Update label based on role.
if (organizationLabel) {
organizationLabel.textContent = '{{ __('Organization') }}';
}
var placeholderOption = organizationSelect.querySelector('option[value=""]');
if (placeholderOption) {
placeholderOption.textContent = '-- {{ __('Please select an organization') }} --';
}
}
}
}
// Helper function to filter organization dropdown options based on role
function filterOrganizationOptions(organizationSelect, role) {
if (!organizationSelect) return;
var options = organizationSelect.querySelectorAll('option');
var currentValue = organizationSelect.value;
var hasValidOption = false;
options.forEach(function (option) {
if (option.value === '') {
// Always show the "Please select an organization" option
option.style.display = '';
return;
}
var shouldShow = true;
option.style.display = shouldShow ? '' : 'none';
// Track if current value is still valid
if (option.value === currentValue && shouldShow) {
hasValidOption = true;
}
});
// Reset value if current selection is no longer valid
if (!hasValidOption) {
organizationSelect.value = '';
}
}
// Add event listener to role dropdown to toggle organization field
var editUserRoleSelect = document.getElementById('editUserRole');
if (editUserRoleSelect) {
editUserRoleSelect.addEventListener('change', function () {
toggleOrganizationField();
});
}
// Helper function to toggle organization field visibility in Add New User modal
function toggleAddUserOrganizationField() {
var roleSelect = document.getElementById('addUserRole');
var organizationWrapper = document.getElementById('addUserOrganizationWrapper');
var organizationCheckboxes = document.getElementById('addUserOrganizationCheckboxes');
var organizationSelect = document.getElementById('addUserOrganizationSelect');
var organizationLabel = document.getElementById('addUserOrganizationLabel');
if (roleSelect && organizationWrapper) {
var selectedRole = roleSelect.value;
var shouldHide = !roleIsOrganizationOfficer(selectedRole);
if (shouldHide) {
organizationWrapper.style.display = 'none';
if (organizationSelect) organizationSelect.value = '';
if (organizationCheckboxes) {
organizationCheckboxes.style.display = 'none';
var checkboxes = organizationCheckboxes.querySelectorAll('input[type="checkbox"]');
checkboxes.forEach(function(cb) { cb.checked = false; });
}
} else {
organizationWrapper.style.display = '';
if (organizationCheckboxes) organizationCheckboxes.style.display = '';
filterOrganizationOptions(organizationSelect, selectedRole);
// Update label based on role.
if (organizationLabel) {
organizationLabel.textContent = '{{ __('Organization') }}';
}
var placeholderOption = organizationSelect.querySelector('option[value=""]');
if (placeholderOption) {
placeholderOption.textContent = '-- {{ __('Please select an organization') }} --';
}
}
}
}
// Add event listener to Add New User role dropdown
var addUserRoleSelect = document.getElementById('addUserRole');
if (addUserRoleSelect) {
addUserRoleSelect.addEventListener('change', function () {
toggleAddUserOrganizationField();
});
}
// Initialize organization field visibility for Add New User modal
var addUserModal = document.getElementById('modalCreateUser');
var addUserModalInitialState = '';
var allowAddUserModalClose = false;
if (addUserModal) {
addUserModal.addEventListener('shown.bs.modal', function () {
toggleAddUserOrganizationField();
allowAddUserModalClose = false;
addUserModalInitialState = getAddUserSnapshot();
});
addUserModal.addEventListener('hide.bs.modal', function (event) {
if (allowAddUserModalClose) {
allowAddUserModalClose = false;
return;
}
if (!addUserModalInitialState || getAddUserSnapshot() === addUserModalInitialState) {
return;
}
event.preventDefault();
Swal.fire({
title: '{{ __('Unsaved Changes') }}',
text: '{{ __('You have unsaved changes. Save first before leaving.') }}',
icon: 'warning',
showCancelButton: true,
confirmButtonText: '{{ __('Leave Without Saving') }}',
cancelButtonText: '{{ __('Stay') }}',
customClass: {
confirmButton: 'btn btn-primary w-xs me-2 mt-2',
cancelButton: 'btn btn-light w-xs mt-2'
},
buttonsStyling: false
}).then(function (result) {
if (result.value) {
allowAddUserModalClose = true;
var modalInstance = bootstrap.Modal.getInstance(addUserModal);
if (modalInstance) {
modalInstance.hide();
}
}
});
});
}
// Initialize organization field visibility for Edit User modal
var editUserModal = document.getElementById('modalEditUser');
var editUserModalInitialState = '';
var allowEditUserModalClose = false;
if (editUserModal) {
editUserModal.addEventListener('shown.bs.modal', function () {
toggleOrganizationField();
allowEditUserModalClose = false;
editUserModalInitialState = getEditUserSnapshot();
});
editUserModal.addEventListener('hide.bs.modal', function (event) {
if (allowEditUserModalClose) {
allowEditUserModalClose = false;
return;
}
if (!editUserModalInitialState || getEditUserSnapshot() === editUserModalInitialState) {
return;
}
event.preventDefault();
Swal.fire({
title: '{{ __('Unsaved Changes') }}',
text: '{{ __('You have unsaved changes. Save first before leaving.') }}',
icon: 'warning',
showCancelButton: true,
confirmButtonText: '{{ __('Leave Without Saving') }}',
cancelButtonText: '{{ __('Stay') }}',
customClass: {
confirmButton: 'btn btn-primary w-xs me-2 mt-2',
cancelButton: 'btn btn-light w-xs mt-2'
},
buttonsStyling: false
}).then(function (result) {
if (result.value) {
allowEditUserModalClose = true;
var modalInstance = bootstrap.Modal.getInstance(editUserModal);
if (modalInstance) {
modalInstance.hide();
}
}
});
});
}
function getAddUserSnapshot() {
var form = document.getElementById('formCreateUser');
if (!form) return '';
var inputs = form.querySelectorAll('input, select, textarea');
var data = {};
inputs.forEach(function (input) {
if (input.name) {
if (input.type === 'checkbox') {
data[input.name] = input.checked ? '1' : '0';
} else {
data[input.name] = input.value || '';
}
}
});
return JSON.stringify(data);
}
function getEditUserSnapshot() {
return JSON.stringify({
first_name: (document.getElementById('editUserFirstName') || {}).value || '',
last_name: (document.getElementById('editUserLastName') || {}).value || '',
email: (document.getElementById('editUserEmail') || {}).value || '',
role: (document.getElementById('editUserRole') || {}).value || '',
organization_name: (document.getElementById('editUserOrganization') || {}).value || ''
});
}
function getFirstValidationError(payload) {
if (!payload || typeof payload !== 'object') return '';
if (payload.errors && typeof payload.errors === 'object') {
var keys = Object.keys(payload.errors);
if (keys.length > 0 && Array.isArray(payload.errors[keys[0]]) && payload.errors[keys[0]].length > 0) {
return payload.errors[keys[0]][0];
}
}
return payload.message || '';
}
function submitUserFormWithAlert(formEl, successTitle) {
if (!formEl) return;
var submitBtn = formEl.querySelector('button[type="submit"]');
if (submitBtn) submitBtn.disabled = true;
fetch(formEl.action, {
method: 'POST',
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Accept': 'application/json'
},
body: new FormData(formEl)
})
.then(function (response) {
return response.json().catch(function () {
return {};
}).then(function (payload) {
if (!response.ok) {
throw new Error(getFirstValidationError(payload) || '{{ __('Unable to save user.') }}');
}
return payload;
});
})
.then(function (payload) {
var modalEl = formEl.closest('.modal');
if (modalEl) {
if (formEl.id === 'formCreateUser') {
allowAddUserModalClose = true;
} else if (formEl.id === 'formEditUser') {
allowEditUserModalClose = true;
}
var modalInstance = bootstrap.Modal.getInstance(modalEl);
if (modalInstance) modalInstance.hide();
}
return Swal.fire({
title: successTitle,
text: payload.message || '{{ __('Saved successfully.') }}',
icon: 'success',
confirmButtonText: '{{ __('OK') }}',
customClass: {
confirmButton: 'btn btn-primary w-xs mt-2'
},
buttonsStyling: false
});
})
.then(function () {
// Navigate to the dashboard with users tab instead of just reloading
window.refreshAdminTabContent('users', @json(route('role.dashboard', ['admin_tab' => 'users'])));
})
.catch(function (error) {
var errorMessage = error && error.message ? error.message : '{{ __('Please check your input and try again.') }}';
Swal.fire({
title: '{{ __('Save Failed') }}',
text: errorMessage,
icon: 'error',
confirmButtonText: '{{ __('OK') }}',
customClass: {
confirmButton: 'btn btn-primary w-xs mt-2'
},
buttonsStyling: false
});
})
.finally(function () {
if (submitBtn) submitBtn.disabled = false;
});
}
var createUserForm = document.getElementById('formCreateUser');
if (createUserForm) {
createUserForm.addEventListener('submit', function (e) {
e.preventDefault();
submitUserFormWithAlert(createUserForm, '{{ __('User Created') }}');
});
}
var editUserForm = document.getElementById('formEditUser');
if (editUserForm) {
editUserForm.addEventListener('submit', function (e) {
e.preventDefault();
submitUserFormWithAlert(editUserForm, '{{ __('User Updated') }}');
});
}
var resetUserPasswordModal = document.getElementById('modalResetUserPassword');
var resetUserPasswordForm = document.getElementById('formResetUserPassword');
var resetPasswordInput = document.getElementById('resetUserPasswordValue');
var resetPasswordToggle = document.getElementById('toggleResetPasswordVisibility');
var resetPasswordConfirmText = document.getElementById('resetPasswordConfirmText');
var resetPasswordWarning = document.getElementById('resetPasswordWarning');
var resetPasswordResult = document.getElementById('resetPasswordResult');
var resetPasswordSubmitBtn = document.getElementById('resetPasswordSubmitBtn');
var resetPasswordCancelBtn = document.getElementById('resetPasswordCancelBtn');
var resetPasswordCloseBtn = document.getElementById('resetPasswordCloseBtn');
function setResetPasswordModalState(isDone) {
if (resetPasswordConfirmText) resetPasswordConfirmText.classList.toggle('d-none', isDone);
if (resetPasswordWarning) resetPasswordWarning.classList.toggle('d-none', isDone);
if (resetPasswordResult) resetPasswordResult.classList.toggle('d-none', !isDone);
if (resetPasswordSubmitBtn) resetPasswordSubmitBtn.classList.toggle('d-none', isDone);
if (resetPasswordCancelBtn) resetPasswordCancelBtn.classList.toggle('d-none', isDone);
if (resetPasswordCloseBtn) resetPasswordCloseBtn.classList.toggle('d-none', !isDone);
}
if (resetPasswordToggle && resetPasswordInput) {
resetPasswordToggle.addEventListener('click', function () {
var isHidden = resetPasswordInput.type === 'password';
resetPasswordInput.type = isHidden ? 'text' : 'password';
resetPasswordToggle.innerHTML = '';
resetPasswordToggle.setAttribute('aria-label', isHidden ? '{{ __('Hide password') }}' : '{{ __('Show password') }}');
});
}
if (resetUserPasswordForm) {
resetUserPasswordForm.addEventListener('submit', function (e) {
e.preventDefault();
if (resetPasswordSubmitBtn) resetPasswordSubmitBtn.disabled = true;
fetch(resetUserPasswordForm.action, {
method: 'POST',
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Accept': 'application/json'
},
body: new FormData(resetUserPasswordForm)
})
.then(function (response) {
return response.json().catch(function () {
return {};
}).then(function (payload) {
if (!response.ok) {
throw new Error(getFirstValidationError(payload) || '{{ __('Unable to reset password.') }}');
}
return payload;
});
})
.then(function (payload) {
if (resetPasswordInput) {
resetPasswordInput.type = 'password';
resetPasswordInput.value = payload.password || '12345678';
}
if (resetPasswordToggle) {
resetPasswordToggle.innerHTML = '';
resetPasswordToggle.setAttribute('aria-label', '{{ __('Show password') }}');
}
setResetPasswordModalState(true);
})
.catch(function (error) {
Swal.fire({
title: '{{ __('Reset Failed') }}',
text: error && error.message ? error.message : '{{ __('Unable to reset password.') }}',
icon: 'error',
confirmButtonText: '{{ __('OK') }}',
customClass: {
confirmButton: 'btn btn-primary w-xs mt-2'
},
buttonsStyling: false
});
})
.finally(function () {
if (resetPasswordSubmitBtn) resetPasswordSubmitBtn.disabled = false;
});
});
}
// Edit button
usersTable.addEventListener('click', function (e) {
var editBtn = e.target.closest('.edit-item-btn');
if (editBtn) {
var row = editBtn.closest('tr');
var userId = row.dataset.id;
var firstName = (row.dataset.firstName || '').trim();
var lastName = (row.dataset.lastName || '').trim();
if (!firstName && !lastName) {
var fallbackFullName = (row.dataset.fullname || '').trim();
if (fallbackFullName) {
var parts = fallbackFullName.split(/\s+/);
firstName = parts.shift() || '';
lastName = parts.join(' ');
}
}
document.getElementById('editUserFirstName').value = firstName;
document.getElementById('editUserLastName').value = lastName;
document.getElementById('editUserEmail').value = row.dataset.userEmail;
var rawRole = (row.dataset.userRole || '').toLowerCase();
var normalizedRole = row.dataset.userRole;
document.getElementById('editUserRole').value = normalizedRole;
document.getElementById('editUserOrganization').value = row.dataset.organizationName || '';
document.getElementById('formEditUser').action = '/admin/users/' + userId;
var keycloakLink = document.getElementById('editUserKeycloakLink');
if (keycloakLink) {
keycloakLink.href = row.dataset.keycloakAdminUrl || keycloakLink.href;
}
var modal = new bootstrap.Modal(document.getElementById('modalEditUser'));
modal.show();
// Toggle organization field visibility based on role
toggleOrganizationField();
}
var resetPasswordBtn = e.target.closest('.reset-password-btn');
if (resetPasswordBtn) {
var row = resetPasswordBtn.closest('tr');
var userId = row.dataset.id;
var userName = row.dataset.fullname || '';
var resetUserName = document.getElementById('resetPasswordUserName');
if (resetUserName) {
resetUserName.textContent = userName;
}
if (resetPasswordInput) {
resetPasswordInput.type = 'password';
resetPasswordInput.value = '12345678';
}
if (resetPasswordToggle) {
resetPasswordToggle.innerHTML = '';
resetPasswordToggle.setAttribute('aria-label', '{{ __('Show password') }}');
}
if (resetUserPasswordForm) {
resetUserPasswordForm.action = '/admin/users/' + userId + '/reset-password';
}
setResetPasswordModalState(false);
var resetModal = new bootstrap.Modal(resetUserPasswordModal);
resetModal.show();
}
// Disable / Enable button
var disableBtn = e.target.closest('.disable-item-btn');
if (disableBtn) {
var row = disableBtn.closest('tr');
var userId = row.dataset.id;
var isDisabling = disableBtn.dataset.action === 'disable';
if (isDisabling && String(userId) === '{{ Auth::id() }}') {
Swal.fire({
title: '{{ __('Action not allowed') }}',
text: '{{ __('You cannot make your own account inactive.') }}',
icon: 'warning',
customClass: {
confirmButton: 'btn btn-primary w-xs mt-2',
},
confirmButtonText: '{{ __('OK') }}',
buttonsStyling: false,
showCloseButton: true
});
return;
}
Swal.fire({
title: isDisabling ? '{{ __('Make this user inactive?') }}' : '{{ __('Make this user active?') }}',
text: isDisabling ? '{{ __('They will not be able to log in until re-enabled.') }}' : '{{ __('This user will be able to log in again.') }}',
icon: 'warning',
showCancelButton: true,
customClass: {
confirmButton: 'btn btn-primary w-xs me-2 mt-2',
cancelButton: 'btn btn-danger w-xs mt-2',
},
confirmButtonText: isDisabling ? '{{ __('Yes, make inactive') }}' : '{{ __('Yes, make active') }}',
cancelButtonText: '{{ __('Cancel') }}',
buttonsStyling: false,
showCloseButton: true
}).then(function (result) {
if (result.value) {
var form = document.getElementById('formToggleUser');
form.action = '/admin/users/' + userId + '/status';
window.captureAdminTabUiState('users');
form.submit();
}
});
}
});
}
if (!window.__adminUserDeleteHandlerBound) {
window.__adminUserDeleteHandlerBound = true;
document.addEventListener('click', function (event) {
var deleteBtn = event.target.closest('.delete-item-btn');
if (!deleteBtn || !deleteBtn.closest('#usersTable')) {
return;
}
event.preventDefault();
var deleteRow = deleteBtn.closest('tr');
var deleteUserId = deleteRow ? deleteRow.dataset.id : '';
var deleteUserName = deleteRow ? (deleteRow.dataset.fullname || '{{ __('this user') }}') : '{{ __('this user') }}';
if (!deleteUserId) {
return;
}
if (String(deleteUserId) === '{{ Auth::id() }}') {
Swal.fire({
title: '{{ __('Action not allowed') }}',
text: '{{ __('You cannot delete your own account.') }}',
icon: 'warning',
customClass: {
confirmButton: 'btn btn-primary w-xs mt-2'
},
confirmButtonText: '{{ __('OK') }}',
buttonsStyling: false,
showCloseButton: true
});
return;
}
var confirmationText = @json(__('Delete')) + ' "' + deleteUserName + '"? ' + @json(__('This action cannot be undone.'));
Swal.fire({
title: '{{ __('Delete this user?') }}',
text: confirmationText,
icon: 'warning',
showCancelButton: true,
customClass: {
confirmButton: 'btn btn-primary w-xs me-2 mt-2',
cancelButton: 'btn btn-danger w-xs mt-2'
},
confirmButtonText: '{{ __('Yes, delete it!') }}',
cancelButtonText: '{{ __('Cancel') }}',
buttonsStyling: false,
showCloseButton: true
}).then(function (result) {
if (!(result.isConfirmed || result.value)) {
return;
}
var form = document.getElementById('formDeleteUser');
if (!form) {
return;
}
form.action = '/admin/users/' + encodeURIComponent(deleteUserId);
window.submitAdminActionWithoutReload(form, 'users', '{{ __('User Deleted') }}');
});
});
}