[UPDT] RECRUITMENT: Permission in html
This commit is contained in:
@@ -365,7 +365,6 @@
|
||||
hx-target="#modalContent"
|
||||
>{{forloop.counter}}. {{note.title}}</span
|
||||
>
|
||||
{% if perms.recruitment.delete_stagenote %}
|
||||
<span
|
||||
title="{% trans 'Delete' %}"
|
||||
hx-get="{% url 'note-delete-individual' note.id %}"
|
||||
@@ -376,7 +375,6 @@
|
||||
>
|
||||
<ion-icon name="close-outline" style="font-size: 24px"></ion-icon
|
||||
></span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<span
|
||||
data-toggle="oh-modal-toggle"
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
hx-target="#modalContent"
|
||||
>{{forloop.counter}}. {{note.title}}</span
|
||||
>
|
||||
{% if perms.recruitment.delete_stagenote %}
|
||||
|
||||
<span
|
||||
title="{% trans 'Delete' %}"
|
||||
hx-get="{% url 'note-delete' note.id %}"
|
||||
@@ -62,7 +62,7 @@
|
||||
>
|
||||
<ion-icon name="close-outline" style="font-size: 24px"></ion-icon
|
||||
></span>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
<span
|
||||
data-toggle="oh-modal-toggle"
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
{% for rec in question.recruitment_ids.all %} {{rec}}, {% endfor %}
|
||||
</span>
|
||||
</div>
|
||||
{% if perms.recruitment.delete_recruitmentsurvey or perms.recruitment.change_recruitmentsurvey %}
|
||||
<div class="oh-kanban-card__dots">
|
||||
<div class="oh-dropdown" x-data="{show: false}">
|
||||
<button
|
||||
@@ -34,6 +35,7 @@
|
||||
@click.outside="show = false"
|
||||
>
|
||||
<ul class="oh-dropdown__items">
|
||||
{% if perms.recruitment.change_recruitmentsurvey %}
|
||||
<li class="oh-dropdown__item">
|
||||
<a
|
||||
hx-get="{% url 'recruitment-survey-question-template-edit' question.id %}"
|
||||
@@ -44,6 +46,8 @@
|
||||
>{% trans "Edit" %}</a
|
||||
>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if perms.recruitment.delete_recruitmentsurvey %}
|
||||
<li class="oh-dropdown__item">
|
||||
<a
|
||||
href="{% url 'recruitment-survey-question-template-delete' question.id %}"
|
||||
@@ -52,15 +56,16 @@
|
||||
>{% trans "Delete" %}</a
|
||||
>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="oh-modal"
|
||||
id="detailSurvey"
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
></ion-icon>
|
||||
</a>
|
||||
</div>
|
||||
{% if perms.recruitment.add_recruitmentsurvey %}
|
||||
<div class="oh-main__titlebar oh-main__titlebar--right">
|
||||
|
||||
<button
|
||||
@@ -91,6 +92,7 @@
|
||||
<ion-icon name="add-sharp" class="mr-1"></ion-icon>{% trans "Add" %}
|
||||
</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
|
||||
<div
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if perms.add_recruitmentsurvey %}
|
||||
{% if perms.recruitment.add_recruitmentsurvey %}
|
||||
<button
|
||||
class="oh-btn oh-btn--secondary ml-2"
|
||||
data-toggle="oh-modal-toggle"
|
||||
|
||||
@@ -58,30 +58,63 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="oh-modal__button-container text-center">
|
||||
<div class="oh-btn-group">
|
||||
<a
|
||||
class="oh-btn oh-btn--info"
|
||||
hx-get="{% url 'recruitment-survey-question-template-edit' question.id %}"
|
||||
data-toggle="oh-modal-toggle"
|
||||
data-target="#updateSurvey"
|
||||
hx-target="#updateSurveyModalBody"
|
||||
style="width: 50%;"
|
||||
>
|
||||
<ion-icon name="create-outline" role="img"
|
||||
class="md hydrated" aria-label="create outline">
|
||||
</ion-icon>{% trans "Edit" %}
|
||||
</a>
|
||||
<a
|
||||
href="{% url 'recruitment-survey-question-template-delete' question.id %}"
|
||||
onclick="return confirm('{% trans "Are you sure want to delete?" %}')"
|
||||
class="oh-btn oh-btn--danger"style="width: 50%;">
|
||||
<ion-icon
|
||||
name="trash-outline"
|
||||
role="img"
|
||||
class="md hydrated"
|
||||
aria-label="create outline"
|
||||
></ion-icon>{% trans "Delete" %}
|
||||
</a>
|
||||
{% if perms.recruitment.change_recruitmentsurvey and perms.recruitment.delete_recruitmentsurvey %}
|
||||
<div class="oh-btn-group">
|
||||
<a
|
||||
class="oh-btn oh-btn--info"
|
||||
hx-get="{% url 'recruitment-survey-question-template-edit' question.id %}"
|
||||
data-toggle="oh-modal-toggle"
|
||||
data-target="#updateSurvey"
|
||||
hx-target="#updateSurveyModalBody"
|
||||
style="width: 50%;"
|
||||
>
|
||||
<ion-icon name="create-outline" role="img"
|
||||
class="md hydrated" aria-label="create outline">
|
||||
</ion-icon>{% trans "Edit" %}
|
||||
</a>
|
||||
<a
|
||||
href="{% url 'recruitment-survey-question-template-delete' question.id %}"
|
||||
onclick="return confirm('{% trans "Are you sure want to delete?" %}')"
|
||||
class="oh-btn oh-btn--danger"style="width: 50%;">
|
||||
<ion-icon
|
||||
name="trash-outline"
|
||||
role="img"
|
||||
class="md hydrated"
|
||||
aria-label="create outline"
|
||||
></ion-icon>{% trans "Delete" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% else %}
|
||||
<div class="oh-btn-group">
|
||||
{% if perms.recruitment.change_recruitmentsurvey %}
|
||||
<a
|
||||
class="oh-btn oh-btn--info"
|
||||
hx-get="{% url 'recruitment-survey-question-template-edit' question.id %}"
|
||||
data-toggle="oh-modal-toggle"
|
||||
data-target="#updateSurvey"
|
||||
hx-target="#updateSurveyModalBody"
|
||||
style="width: 100%;"
|
||||
>
|
||||
<ion-icon name="create-outline" role="img"
|
||||
class="md hydrated" aria-label="create outline">
|
||||
</ion-icon>{% trans "Edit" %}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if perms.recruitment.delete_recruitmentsurvey %}
|
||||
<a
|
||||
href="{% url 'recruitment-survey-question-template-delete' question.id %}"
|
||||
onclick="return confirm('{% trans "Are you sure want to delete?" %}')"
|
||||
class="oh-btn oh-btn--danger"style="width: 100%;">
|
||||
<ion-icon
|
||||
name="trash-outline"
|
||||
role="img"
|
||||
class="md hydrated"
|
||||
aria-label="create outline"
|
||||
></ion-icon>{% trans "Delete" %}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -9,13 +9,14 @@ import json
|
||||
from django.contrib import messages
|
||||
from django.db.models import ProtectedError
|
||||
from django.contrib.auth.models import Permission
|
||||
from django.http import HttpResponseRedirect, JsonResponse
|
||||
from django.http import HttpResponse, HttpResponseRedirect, JsonResponse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.utils.translation import gettext as __
|
||||
from django.views.decorators.http import require_http_methods
|
||||
from django.shortcuts import render, redirect
|
||||
from employee.models import Employee
|
||||
from horilla.decorators import login_required, permission_required
|
||||
from recruitment.decorators import manager_can_enter, recruitment_manager_can_enter
|
||||
from notifications.signals import notify
|
||||
from recruitment.models import Candidate, Recruitment, Stage, StageNote
|
||||
from recruitment.views.paginator_qry import paginator_qry
|
||||
@@ -101,7 +102,7 @@ def recruitment_delete_pipeline(request, rec_id):
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required(perm="recruitment.delete_stagenote")
|
||||
@manager_can_enter(perm="recruitment.delete_stagenote")
|
||||
def note_delete(request, note_id):
|
||||
"""
|
||||
This method is used to delete the stage note
|
||||
@@ -120,7 +121,7 @@ def note_delete(request, note_id):
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required(perm="recruitment.delete_stagenote")
|
||||
@manager_can_enter(perm="recruitment.delete_stagenote")
|
||||
def note_delete_individual(request, note_id):
|
||||
"""
|
||||
This method is used to delete the stage note
|
||||
@@ -128,11 +129,14 @@ def note_delete_individual(request, note_id):
|
||||
note = StageNote.objects.get(id=note_id)
|
||||
cand_id = note.candidate_id.id
|
||||
note.delete()
|
||||
return redirect("view-note", cand_id=cand_id)
|
||||
messages.success(request, _("Note deleted."))
|
||||
# return redirect("view-note", cand_id=cand_id)
|
||||
return HttpResponse("<script>window.location.reload()</script>")
|
||||
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required(perm="recruitment.delete_stage")
|
||||
@manager_can_enter(perm="recruitment.delete_stage")
|
||||
@require_http_methods(["POST", "DELETE"])
|
||||
def stage_delete(request, stage_id):
|
||||
"""
|
||||
@@ -276,7 +280,7 @@ def candidate_bulk_archive(request):
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required(perm="recruitment.change_stage")
|
||||
@manager_can_enter(perm="recruitment.change_stage")
|
||||
def remove_stage_manager(request, mid, sid):
|
||||
"""
|
||||
This method is used to remove selected stage manager and also removing the given
|
||||
@@ -310,7 +314,7 @@ def remove_stage_manager(request, mid, sid):
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required(perm="recruitment.change_recruitment")
|
||||
@manager_can_enter(perm="recruitment.change_recruitment")
|
||||
@require_http_methods(["POST"])
|
||||
def remove_recruitment_manager(request, mid, rid):
|
||||
"""
|
||||
|
||||
@@ -268,7 +268,7 @@ def application_form(request):
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required(perm="recruitment.change_recruitmentsurvey")
|
||||
@permission_required(perm="recruitment.view_recruitmentsurvey")
|
||||
def single_survey(request, survey_id):
|
||||
"""
|
||||
This view method is used to single view of question template
|
||||
|
||||
@@ -615,7 +615,7 @@ def create_note(request, cand_id=None):
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required(perm="recruitment.change_stagenote")
|
||||
@manager_can_enter(perm="recruitment.change_stagenote")
|
||||
def note_update(request, note_id):
|
||||
"""
|
||||
This method is used to update the stage not
|
||||
@@ -638,7 +638,7 @@ def note_update(request, note_id):
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required(perm="recruitment.change_stagenote")
|
||||
@manager_can_enter(perm="recruitment.change_stagenote")
|
||||
def note_update_individual(request, note_id):
|
||||
"""
|
||||
This method is used to update the stage not
|
||||
@@ -684,7 +684,7 @@ def candidate_schedule_date_update(request):
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required(perm="recruitment.add_stage")
|
||||
@manager_can_enter(perm="recruitment.add_stage")
|
||||
def stage(request):
|
||||
"""
|
||||
This method is used to create stages, also several permission assigned to the stage managers
|
||||
@@ -757,7 +757,7 @@ def stage_view(request):
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required(perm="recruitment.change_stage")
|
||||
@manager_can_enter(perm="recruitment.change_stage")
|
||||
@hx_request_required
|
||||
def stage_update(request, stage_id):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user