[FIX] RECRUITMENT: Survey preview issue

This commit is contained in:
Horilla
2025-04-28 09:20:03 +05:30
parent 2ee1fba06f
commit 8834f8093e
3 changed files with 24 additions and 12 deletions

View File

@@ -24,7 +24,7 @@
<div class="oh-dropdown__menu oh-dropdown__menu--right" x-show="open" style="display: none;">
<ul class="oh-dropdown__items">
<li class="oh-dropdown__item">
<a href="{% url 'survey-template-preview' grouper.grouper %}" class="oh-dropdown__link">{% trans "Preview" %}</a>
<a href="{% url 'survey-template-preview' %}?title={{grouper.grouper}}" class="oh-dropdown__link">{% trans "Preview" %}</a>
</li>
{% if perms.recruitment.change_surveytemplate %}
<li class="oh-dropdown__item">
@@ -33,7 +33,7 @@
{% endif %}
{% if perms.recruitment.change_surveytemplate %}
<li class="oh-dropdown__item">
<a hx-get="{% url 'survey-template-create' %}?title={{grouper.grouper}}" hx-target="#templateModalBody" data-toggle="oh-modal-toggle" data-target="#templateModal" class="oh-dropdown__link">{% trans "Edit" %}</a>
<a hx-get="{% url 'survey-template-create' %}?title={{grouper.grouper}}" hx-target="#genericModalBody" data-toggle="oh-modal-toggle" data-target="#genericModal" class="oh-dropdown__link">{% trans "Edit" %}</a>
</li>
{% endif %}
{% if perms.recruitment.delete_surveytemplate %}
@@ -65,10 +65,10 @@
{% for question in grouper.list %}
<div
class="oh-sticky-table__tr oh-multiple-table-sort__movable"
data-target="#objectDetailsModal"
data-target="#genericModal"
data-toggle="oh-modal-toggle"
hx-get="{% url 'single-survey-view' question.id %}?instances_ids={{requests_ids}}"
hx-target="#objectDetailsModalTarget"
hx-get="{% url 'single-survey-view' question.id %}?instance_ids={{requests_ids}}"
hx-target="#genericModalBody"
>
<div class="oh-sticky-table__sd">
<div class="oh-profile oh-profile--md">
@@ -91,8 +91,8 @@
<button
hx-get="{% url 'recruitment-survey-question-template-edit' question.id %}"
data-toggle="oh-modal-toggle"
data-target="#updateSurvey"
hx-target="#updateSurveyModalBody"
data-target="#genericModal"
hx-target="#genericModalBody"
class="oh-btn oh-btn--light-bkg w-100"
title="{% trans 'Edit' %}"
>

View File

@@ -329,7 +329,12 @@ urlpatterns = [
name="stage-sequence-update",
),
path(
"survey-template-preview/<str:title>/",
"survey-template-preview/",
recruitment.views.surveys.survey_preview,
name="survey-template-preview",
),
path(
"survey-template-preview/<int:pk>/",
recruitment.views.surveys.survey_preview,
name="survey-template-preview",
),

View File

@@ -48,6 +48,8 @@ from recruitment.pipeline_grouper import group_by_queryset
from recruitment.views.paginator_qry import paginator_qry
@login_required
@is_recruitment_manager(perm="recruitment.add_recruitmentsurvey")
def survey_form(request):
"""
This method is used to render survey wform
@@ -58,12 +60,14 @@ def survey_form(request):
return render(request, "survey/form.html", {"form": form})
def survey_preview(request, title):
@login_required
@is_recruitment_manager(perm="recruitment.add_recruitmentsurvey")
def survey_preview(request, pk=None):
"""
Used to render survey form to the candidate
"""
# title = request.GET.get("title")
template = SurveyTemplate.objects.get(title=str(title))
title = request.GET.get("title")
template = SurveyTemplate.objects.get(title=title)
form = SurveyPreviewForm(template=template).form
return render(
@@ -77,6 +81,7 @@ from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
@login_required
def question_order_update(request):
if request.method == "POST":
# Extract data from the request
@@ -103,6 +108,8 @@ def question_order_update(request):
return JsonResponse({"error": "Invalid request method"}, status=405)
@login_required
@is_recruitment_manager(perm="recruitment.view_recruitmentsurvey")
def candidate_survey(request):
"""
Used to render survey form to the candidate
@@ -503,7 +510,7 @@ def question_add(request):
template = None
title = request.GET.get("title")
if title:
template = SurveyTemplate.objects.filter(title=title)
template = SurveyTemplate.objects.filter(title=title).first
form = AddQuestionForm(initial={"template_ids": template})
if request.method == "POST":