[FIX] ONBOARDING: Fix candidate not showing when filtered with recruitment name or stage name
This commit is contained in:
@@ -86,9 +86,27 @@ class OnboardingCandidateFilter(FilterSet):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
search_onboarding = filters.CharFilter(
|
search_onboarding = filters.CharFilter(
|
||||||
field_name="candidate_id__name", lookup_expr="icontains"
|
field_name="candidate_id__name", method="pipeline_search"
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CandidateStage
|
model = CandidateStage
|
||||||
fields = "__all__"
|
fields = [
|
||||||
|
"candidate_id",
|
||||||
|
"onboarding_stage_id",
|
||||||
|
"sequence",
|
||||||
|
"onboarding_end_date",
|
||||||
|
]
|
||||||
|
|
||||||
|
def pipeline_search(self, queryset, _, value):
|
||||||
|
"""
|
||||||
|
This method is used to search recruitment
|
||||||
|
"""
|
||||||
|
queryset = (
|
||||||
|
queryset.filter(onboarding_stage_id__stage_title__icontains=value)
|
||||||
|
| queryset.filter(candidate_id__name__icontains=value)
|
||||||
|
| queryset.filter(
|
||||||
|
onboarding_stage_id__recruitment_id__title__icontains=value
|
||||||
|
)
|
||||||
|
)
|
||||||
|
return queryset.distinct()
|
||||||
|
|||||||
Reference in New Issue
Block a user