Filter User
Wed Oct 11 2023 06:20:01 GMT+0000 (Coordinated Universal Time)
Saved by @mradul
function filterUsers() {
var filter_id = $('.filter_id').val();
var filter_phone = $('.filter_phone').val();
var filter_email = $('.filter_email').val();
var _token = $("input[name=_token]").val();
var filter_status = $("#filter_status").val();
var filter_pan = $(".filter_pan").val();
var filter_fields = $("#filter_fields").val();
var filter_account_type = $("#filter_account_type").val();
var filter_accountstatus = $("#filter_accountstatus").val();
// Check if any filters are provided, otherwise reload the page
if (
filter_id.length < 1 &&
filter_phone.length < 1 &&
filter_email.length < 1 &&
filter_status.length < 1 &&
filter_fields.length < 1 &&
filter_account_type.length < 1 &&
filter_accountstatus.length < 1 &&
filter_pan.length < 1
) {
window.location.reload();
return; // Exit the function early to prevent further execution
}
$.ajax({
type: "POST",
url: "{{ url('admin/filter-users') }}",
enctype: 'multipart/form-data',
data: {
'_token': _token,
'filter_id': filter_id,
'filter_phone': filter_phone,
'filter_email': filter_email,
'filter_status': filter_status,
'filter_pan': filter_pan,
'filter_fields': filter_fields,
'filter_account_type': filter_account_type,
'filter_accountstatus': filter_accountstatus,
},
beforeSend: function () {
$(".account_activity_pagination").html('');
$(".filtered_users").html('<div class="loading"></div>');
$(".totalRec").html('<span>Total::.....</span>');
$("#Userfilter_spinner").css("pointer-events", "none");
},
success: function (data) {
if (data) {
$(".totalRec").html('<span>Total::' + data.totalRec + '</span>');
$(".filtered_users").html('');
var paginate = data.records.per_page;
const possibleBlocks = Math.ceil(data.records.total / paginate);
var sr_num = 1;
function appendUserTableRow(index, id, first_name, phone, email, digistatus, roles) {
var baseUrl = window.location.protocol + '//' + window.location.host + window.location.pathname;
var editLink = '<a class="btn-yellow btn-sm text-decoration-none" href="'+ baseUrl + '/' + id + '/edit">Edit</a>';
var tableRow = '<tr><td>' + index + '</td><td>' + id + '</td><td>' + first_name + '</td><td>' + phone + '</td><td>' + email + '</td><td class="digistatus">' + digistatus + '</td><td>' + roles[0] + '</td><td>' + editLink + '</td></tr>';
$(".filtered_users").append(tableRow);
}
$.each(data.records.data, function (index, value) {
sr_num++;
// var segUrl = @json(Request::segment(count(Request::segments())));
$.ajax({
type: "GET",
url: '{{ url('admin/user-role/').'/'}}' + value.id,
data: {},
success: function (userRoles) {
var roles = userRoles.length === 0 ? '-' : userRoles;
var digistatus = '';
if (value.digilocker_verification_responce == 2) {
var userID = value.id;
$.ajax({
type: "GET",
url: '{{ url(app()->getLocale()).'/user/failed-digilocker-details/'}}',
data: {
'userID': userID
},
success: function (failedData) {
digistatus = '<span class="text-red">Failed</span><div class="failDetail"><p class="Unmatched">(Unmatched Details)</p>';
$.each(failedData.failedDetail, function (key, val) {
if (val.digilocker_verification_responce != null) {
var result = JSON.parse(val.digilocker_verification_responce).result;
var name = result.name;
var uid = result.uid;
var dob = result.dob;
var gender = result.gender;
digistatus += '<p>' + name + ' -- ' + gender + '</p>';
digistatus += '<p>' + uid + ' -- ' + dob + '</p>';
digistatus += '<hr>';
}
});
digistatus += '</div>';
appendUserTableRow(sr_num, value.id, value.first_name, value.phone, value.email, digistatus, roles[0]);
}
});
} else if (value.digilocker_verification_responce == null) {
digistatus = 'N/A';
appendUserTableRow(sr_num, value.id, value.first_name, value.phone, value.email, digistatus, roles[0]);
} else {
digistatus = '<span class="text-green">Completed</span>';
appendUserTableRow(sr_num, value.id, value.first_name, value.phone, value.email, digistatus, roles[0]);
}
}
});
});
$(".account_activity_pagination").html('');
var bloc = '<nav class="d-flex justify-items-center justify-content-between"><ul class="pagination"><li class="page-item disabled" aria-disabled="true" aria-label="« Previous" style="display:none"><span class="page-link" aria-hidden="true">‹</span></li>';
var from = 0;
var to = paginate;
for (i = 1; i <= possibleBlocks; i++) {
var bloc = bloc + '<li class="page-item" aria-current="page" onclick="getFilteredUsersData_withLimit(' + from + ',' + to + ')"><span class="page-link" style="border:1px solid #e2d8d8">' + i + '</span></li>';
from = from + paginate;
to = to + paginate;
}
var bloc = bloc + '<li class="page-item" style="display:none"><a class="page-link" href="#" rel="next" aria-label="Next »">›</a></li></ul></nav>';
$(".account_activity_pagination").html(bloc);
} else {
triggerAlert('Record not found', 'error');
}
},
complete: function (data) {
$("#Userfilter_spinner").text("");
$("#Userfilter_spinner").css("pointer-events", "none");
},
error: function (xhr, status, error) {
var erroJson = JSON.parse(xhr.responseText);
// alert(erroJson.error);
}
});
}



Comments