[FIX] RECRUITMENT: Fixed recruitment survey pagination issue
This commit is contained in:
@@ -11,7 +11,7 @@ from base.thread_local_middleware import _thread_locals
|
||||
from django.db import models
|
||||
|
||||
|
||||
def record_queryset_paginator(request, queryset, page_name, records_per_page=50):
|
||||
def record_queryset_paginator(request, queryset, page_name, records_per_page=10):
|
||||
"""
|
||||
This method is used to return the paginator entries
|
||||
"""
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
{{grouper.grouper}}
|
||||
<div class="oh-tabs__input-badge-container">
|
||||
<span class="oh-badge oh-badge--secondary oh-badge--small oh-badge--round ms-2 mr-2" id="recruitmentCandidateCount1" title="{{grouper.list|length}} {% trans "Questions" %}" onclick="event.stopPropagation()">
|
||||
{{grouper.list|length}}
|
||||
{{grouper.list.paginator.count}}
|
||||
</span>
|
||||
</div>
|
||||
</span
|
||||
|
||||
@@ -10,7 +10,7 @@ from django.shortcuts import render
|
||||
from django.core.paginator import Paginator
|
||||
from django.contrib.auth.models import User
|
||||
from horilla.decorators import login_required, permission_required
|
||||
from base.methods import sortby, get_key_instances
|
||||
from base.methods import get_pagination, sortby, get_key_instances
|
||||
from attendance.methods.group_by import group_by_queryset as general_group_by
|
||||
from recruitment.filters import (
|
||||
CandidateFilter,
|
||||
@@ -185,7 +185,7 @@ def filter_survey(request):
|
||||
"template_id__title",
|
||||
page=request.GET.get("template_page"),
|
||||
page_name="template_page",
|
||||
records_per_page=50,
|
||||
records_per_page=get_pagination(),
|
||||
)
|
||||
all_template_object_list = []
|
||||
for template in templates:
|
||||
|
||||
@@ -13,7 +13,7 @@ from django.shortcuts import render, redirect
|
||||
from django.contrib import messages
|
||||
from django.http import HttpResponse, HttpResponseRedirect
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from base.methods import closest_numbers
|
||||
from base.methods import closest_numbers, get_pagination
|
||||
from horilla.decorators import login_required, permission_required
|
||||
from recruitment.models import Recruitment, SurveyTemplate
|
||||
from recruitment.forms import (
|
||||
@@ -138,7 +138,7 @@ def view_question_template(request):
|
||||
"template_id__title",
|
||||
page=request.GET.get("template_page"),
|
||||
page_name="template_page",
|
||||
records_per_page=50,
|
||||
records_per_page=get_pagination(),
|
||||
)
|
||||
all_template_object_list = []
|
||||
for template in templates:
|
||||
|
||||
@@ -338,6 +338,9 @@ def paginator_qry_recruitment_limited(qryset, page_number):
|
||||
return qryset
|
||||
|
||||
|
||||
user_recruitments = {}
|
||||
|
||||
|
||||
@login_required
|
||||
@manager_can_enter(perm="recruitment.view_recruitment")
|
||||
def recruitment_pipeline(request):
|
||||
@@ -347,6 +350,9 @@ def recruitment_pipeline(request):
|
||||
view = request.GET.get("view")
|
||||
rec = Recruitment.objects.filter(is_active=True)
|
||||
filter_obj = RecruitmentFilter(request.GET, queryset=rec)
|
||||
# user_recruitments[request.user.id] = {
|
||||
# "recruitments": rec,
|
||||
# }
|
||||
if filter_obj.qs.exists() and view == "card":
|
||||
template = "pipeline/pipeline_card.html"
|
||||
elif rec.exists():
|
||||
@@ -374,7 +380,7 @@ cache = {}
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required("recruitment.view_recruitment")
|
||||
@manager_can_enter(perm="recruitment.view_recruitment")
|
||||
def filter_pipeline(request):
|
||||
"""
|
||||
This method is used to search/filter from pipeline
|
||||
@@ -384,6 +390,12 @@ def filter_pipeline(request):
|
||||
candidate_filter = CandidateFilter(request.GET)
|
||||
view = request.GET.get("view")
|
||||
recruitments = filter_obj.qs.filter(is_active=True)
|
||||
if not request.user.has_perm("recruitment.view_recruitment"):
|
||||
recruitments = recruitments.filter(Q(recruitment_managers=request.user.employee_get))
|
||||
stage_recruitment_ids = stage_filter.qs.filter(stage_managers=request.user.employee_get).values_list('recruitment_id', flat=True).distinct()
|
||||
recruitments = recruitments | filter_obj.qs.filter(id__in=stage_recruitment_ids)
|
||||
recruitments = recruitments.filter(is_active = True).distinct()
|
||||
|
||||
closed = request.GET.get("closed")
|
||||
filter_dict = parse_qs(request.GET.urlencode())
|
||||
filter_dict = get_key_instances(Recruitment, filter_dict)
|
||||
|
||||
Reference in New Issue
Block a user