[FIX] EMPLOYEE: Bug fix in actions and filtered views for selection
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user