[FIX] EMPLOYEE: Bug fix in actions and filtered views for selection

This commit is contained in:
Horilla
2023-11-03 10:32:22 +05:30
parent 832874684c
commit 02d788c56f
2 changed files with 27 additions and 34 deletions

View File

@@ -208,8 +208,10 @@ $("#archiveEmployees").click(function (e) {
languageCode = code;
var confirmMessage = archiveMessages[languageCode];
var textMessage = norowMessages[languageCode];
var checkedRows = $(".all-employee-row").filter(":checked");
if (checkedRows.length === 0) {
ids = [];
ids.push($("#selectedInstances").attr("data-ids"));
ids = JSON.parse($("#selectedInstances").attr("data-ids"));
if (ids.length === 0) {
Swal.fire({
text: textMessage,
icon: "warning",
@@ -258,8 +260,10 @@ $("#unArchiveEmployees").click(function (e) {
languageCode = code;
var confirmMessage = unarchiveMessages[languageCode];
var textMessage = norowMessages[languageCode];
var checkedRows = $(".all-employee-row").filter(":checked");
if (checkedRows.length === 0) {
ids = [];
ids.push($("#selectedInstances").attr("data-ids"));
ids = JSON.parse($("#selectedInstances").attr("data-ids"));
if (ids.length === 0) {
Swal.fire({
text: textMessage,
icon: "warning",
@@ -310,8 +314,10 @@ $("#deleteEmployees").click(function (e) {
languageCode = code;
var confirmMessage = deleteMessages[languageCode];
var textMessage = norowMessages[languageCode];
var checkedRows = $(".all-employee-row").filter(":checked");
if (checkedRows.length === 0) {
ids = [];
ids.push($("#selectedInstances").attr("data-ids"));
ids = JSON.parse($("#selectedInstances").attr("data-ids"));
if (ids.length === 0) {
Swal.fire({
text: textMessage,
icon: "warning",

View File

@@ -1715,11 +1715,7 @@ def employee_select(request):
page_number = request.GET.get("page")
if page_number == "all":
employees = Employee.objects.all()
else:
employees = Employee.objects.all().order_by("employee_first_name")
paginator = Paginator(employees, per_page=50)
page_obj = paginator.get_page(page_number)
employees = Employee.objects.filter(is_active = True)
employee_ids = [str(emp.id) for emp in employees]
total_count = employees.count()
@@ -1731,32 +1727,23 @@ def employee_select(request):
@login_required
def employee_select_filter(request):
page_number = request.GET.get("page")
filtered = request.GET.get("filter")
page_number = request.GET.get('page')
filtered = request.GET.get('filter')
filters = json.loads(filtered) if filtered else {}
if page_number == "all":
query = Q()
if page_number == 'all':
employee_filter = EmployeeFilter(filters, queryset=Employee.objects.all())
for key, value in filters.items():
if (
value != "" and key != "is_active"
): # Add check for is_active and non-empty values
kwargs = {key: value}
query &= Q(**kwargs)
elif key == "is_active" and value in [
"true",
"false",
]: # Check if is_active is valid
kwargs = {
key: value == "true"
} # Convert 'true' to True, 'false' to False
query &= Q(**kwargs)
# Get the filtered queryset
filtered_employees = employee_filter.qs
employee_ids = [str(emp.id) for emp in filtered_employees]
total_count = filtered_employees.count()
employees = Employee.objects.filter(query)
context = {
'employee_ids': employee_ids,
'total_count': total_count
}
employee_ids = [str(emp.id) for emp in employees]
total_count = employees.count()
context = {"employee_ids": employee_ids, "total_count": total_count}
return JsonResponse(context)