diff --git a/onboarding/views.py b/onboarding/views.py index 50fdf2e45..37454d174 100644 --- a/onboarding/views.py +++ b/onboarding/views.py @@ -1711,13 +1711,32 @@ def update_offer_letter_status(request): """ This method is used to update the offer letter status """ - candidate_id = request.GET["candidate_id"] - status = request.GET["status"] - candidate = Candidate.objects.get(id=candidate_id) + candidate_id = request.GET.get("candidate_id") + status = request.GET.get("status") + candidate = None + if not candidate_id or not status: + messages.error(request, 'candidate or status is missing') + return redirect("/onboarding/candidates-view/") + if not status in ["not_sent", "sent", "accepted", "rejected", "joined"]: + messages.error(request, 'Please Pass valid status') + return redirect("/onboarding/candidates-view/") + try: + candidate = Candidate.objects.get(id=candidate_id) + except Candidate.DoesNotExist: + messages.error(request, 'Candidate not found') + return redirect("/onboarding/candidates-view/") if status in ["not_sent", "sent", "accepted", "rejected", "joined"]: candidate.offer_letter_status = status candidate.save() - return HttpResponse("Success") + messages.success(request, 'Status of offer letter updated successfully') + url = '/onboarding/candidates-view/' + return HttpResponse( + f""" + + """ + ) @login_required