From 1f815f5180e15557c80553c9ed616705d5ec0da6 Mon Sep 17 00:00:00 2001 From: Horilla <131998600+horilla-opensource@users.noreply.github.com> Date: Thu, 24 Apr 2025 12:39:56 +0530 Subject: [PATCH] [FIX]Recruitment : Issue #687 Fixed candidate form view: validate recruitment ID with error handling --- recruitment/views/surveys.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/recruitment/views/surveys.py b/recruitment/views/surveys.py index 5e97b2a11..b84472880 100644 --- a/recruitment/views/surveys.py +++ b/recruitment/views/surveys.py @@ -339,14 +339,23 @@ def application_form(request): resume_id = request.GET.get("resumeId") resume_obj = Resume.objects.filter(id=resume_id).first() + if request.method == "GET" and not recruitment_id: + messages.error(request, _("Recruitment ID is missing")) + return redirect("open-recruitments") + + try: + recruitment = Recruitment.objects.filter(id=recruitment_id).first() + if not recruitment: + messages.error(request, _("Recruitment not found")) + return redirect("open-recruitments") + except (ValueError, OverflowError): + messages.error(request, _("Invalid Recruitment ID")) + return redirect("open-recruitments") + if resume_obj: initial_data = {"resume": resume_obj.file.url if resume_obj else None} form = ApplicationForm(initial=initial_data) - if recruitment_id is not None: - recruitment = Recruitment.objects.filter(id=recruitment_id) - if recruitment.exists(): - recruitment = recruitment.first() if request.POST: if "resume" not in request.FILES and resume_id: