[UPDT] GENERAL: Added kwargs in path
This commit is contained in:
@@ -5,6 +5,7 @@ This module is used to map url path with view methods.
|
||||
"""
|
||||
from django.urls import path
|
||||
from onboarding import views
|
||||
from recruitment.models import Candidate
|
||||
|
||||
urlpatterns = [
|
||||
path("stage-creation/<str:obj_id>", views.stage_creation, name="stage-creation"),
|
||||
@@ -22,14 +23,27 @@ urlpatterns = [
|
||||
name="task-update",
|
||||
),
|
||||
path("candidate-creation", views.candidate_creation, name="candidate-creation"),
|
||||
path("candidate-update/<int:obj_id>", views.candidate_update, name="candidate-update"),
|
||||
path("candidate-delete/<int:obj_id>", views.candidate_delete, name="candidate-delete"),
|
||||
path("candidate-single-view/<int:id>", views.candidates_single_view, name="candidate-single-view"),
|
||||
path("candidates-view", views.candidates_view, name="candidates-view"),
|
||||
path("hired-candidates-view", views.hired_candidate_view, name="hired-candidates-view"),
|
||||
path(
|
||||
"candidate-update/<int:obj_id>", views.candidate_update, name="candidate-update"
|
||||
),
|
||||
path(
|
||||
"candidate-delete/<int:obj_id>", views.candidate_delete, name="candidate-delete"
|
||||
),
|
||||
path(
|
||||
"candidate-single-view/<int:id>",
|
||||
views.candidates_single_view,
|
||||
name="candidate-single-view",
|
||||
kwargs={"model": Candidate},
|
||||
),
|
||||
path("candidates-view/", views.candidates_view, name="candidates-view"),
|
||||
path(
|
||||
"hired-candidates-view",
|
||||
views.hired_candidate_view,
|
||||
name="hired-candidates-view",
|
||||
),
|
||||
path("candidate-filter", views.candidate_filter, name="candidate-filter"),
|
||||
path("email-send", views.email_send, name="email-send"),
|
||||
path("onboarding-view", views.onboarding_view, name="onboarding-view"),
|
||||
path("onboarding-view/", views.onboarding_view, name="onboarding-view"),
|
||||
path("kanban-view", views.kanban_view, name="kanban-view"),
|
||||
path(
|
||||
"candidate-task-update/<int:obj_id>",
|
||||
@@ -41,9 +55,16 @@ urlpatterns = [
|
||||
views.candidate_stage_update,
|
||||
name="candidate-stage-update",
|
||||
),
|
||||
path("candidate-stage-bulk-update", views.candidate_stage_bulk_update, name="candidate-stage-bulk-update"),
|
||||
path("candidate-task-bulk-update", views.candidate_task_bulk_update, name="candidate-task-bulk-update"),
|
||||
|
||||
path(
|
||||
"candidate-stage-bulk-update",
|
||||
views.candidate_stage_bulk_update,
|
||||
name="candidate-stage-bulk-update",
|
||||
),
|
||||
path(
|
||||
"candidate-task-bulk-update",
|
||||
views.candidate_task_bulk_update,
|
||||
name="candidate-task-bulk-update",
|
||||
),
|
||||
path(
|
||||
"stage-name-update/<int:stage_id>/",
|
||||
views.stage_name_update,
|
||||
@@ -72,9 +93,13 @@ urlpatterns = [
|
||||
views.onboard_candidate_chart,
|
||||
name="onboard-candidate-chart",
|
||||
),
|
||||
path("update-joining",views.update_joining,name="update-joining"),
|
||||
path("view-onboarding-dashboard",views.view_dashboard,name="view-onboarding-dashboard"),
|
||||
path("stage-chart",views.dashboard_stage_chart,name="stage-chart"),
|
||||
path("update-joining", views.update_joining, name="update-joining"),
|
||||
path(
|
||||
"view-onboarding-dashboard",
|
||||
views.view_dashboard,
|
||||
name="view-onboarding-dashboard",
|
||||
),
|
||||
path("stage-chart", views.dashboard_stage_chart, name="stage-chart"),
|
||||
path(
|
||||
"candidate-sequence-update",
|
||||
views.candidate_sequence_update,
|
||||
@@ -85,6 +110,9 @@ urlpatterns = [
|
||||
views.stage_sequence_update,
|
||||
name="onboarding-stage-sequence-update",
|
||||
),
|
||||
path('send-mail/<int:candidate_id>/',views.onboarding_send_mail,name = "onboarding-send-mail"),
|
||||
|
||||
path(
|
||||
"send-mail/<int:candidate_id>/",
|
||||
views.onboarding_send_mail,
|
||||
name="onboarding-send-mail",
|
||||
),
|
||||
]
|
||||
|
||||
@@ -402,11 +402,12 @@ def candidate_delete(request, obj_id):
|
||||
)
|
||||
return redirect(candidates_view)
|
||||
|
||||
|
||||
@login_required
|
||||
@permission_required("recruitment.view_candidate")
|
||||
def candidates_single_view(request,id):
|
||||
def candidates_single_view(request, id, **kwargs):
|
||||
"""
|
||||
Canidate individual view for the onboarded candidates
|
||||
Candidate individual view for the onboarding candidates
|
||||
"""
|
||||
candidate = Candidate.objects.get(id=id)
|
||||
if not CandidateStage.objects.filter(candidate_id=candidate).exists():
|
||||
@@ -434,13 +435,13 @@ def candidates_single_view(request,id):
|
||||
candidate_id=candidate, onboarding_task_id=task
|
||||
).save()
|
||||
|
||||
recruitment =candidate.recruitment_id
|
||||
recruitment = candidate.recruitment_id
|
||||
choices = CandidateTask.choice
|
||||
context = {
|
||||
"recruitment": recruitment,
|
||||
"choices": choices,
|
||||
"candidate": candidate,
|
||||
}
|
||||
"recruitment": recruitment,
|
||||
"choices": choices,
|
||||
"candidate": candidate,
|
||||
}
|
||||
return render(
|
||||
request,
|
||||
"onboarding/single_view.html",
|
||||
@@ -543,12 +544,12 @@ def email_send(request):
|
||||
if request.method != "POST":
|
||||
return JsonResponse("", safe=False)
|
||||
candidates = request.POST.get("candidates")
|
||||
json_mylist = json.loads(candidates)
|
||||
if len(json_mylist) <= 0:
|
||||
json_list = json.loads(candidates)
|
||||
if len(json_list) <= 0:
|
||||
return JsonResponse(
|
||||
{"message": _("No candidate has chosen."), "tags": "danger"}
|
||||
)
|
||||
for cand_id in json_mylist:
|
||||
for cand_id in json_list:
|
||||
candidate = Candidate.objects.get(id=cand_id)
|
||||
if candidate.start_onboard is False:
|
||||
token = secrets.token_hex(15)
|
||||
@@ -1035,8 +1036,10 @@ def candidate_stage_bulk_update(request):
|
||||
recruitment = Recruitment.objects.get(id=int(recrutment_id))
|
||||
choices = CandidateTask.choice
|
||||
|
||||
count = CandidateStage.objects.filter(candidate_id__id__in=candidate_id_list).update(onboarding_stage_id = stage)
|
||||
|
||||
count = CandidateStage.objects.filter(
|
||||
candidate_id__id__in=candidate_id_list
|
||||
).update(onboarding_stage_id=stage)
|
||||
|
||||
response = render(
|
||||
request,
|
||||
"onboarding/onboarding_table.html",
|
||||
@@ -1048,7 +1051,8 @@ def candidate_stage_bulk_update(request):
|
||||
)
|
||||
|
||||
return HttpResponse(
|
||||
response.content.decode("utf-8") + '<div><div class="oh-alert-container"><div class="oh-alert oh-alert--animated oh-alert--info">candidate stage updated successfully</div> </div></div>'
|
||||
response.content.decode("utf-8")
|
||||
+ '<div><div class="oh-alert-container"><div class="oh-alert oh-alert--animated oh-alert--info">candidate stage updated successfully</div> </div></div>'
|
||||
)
|
||||
|
||||
|
||||
@@ -1061,7 +1065,9 @@ def candidate_task_bulk_update(request):
|
||||
task = request.POST["task"]
|
||||
status = request.POST["status"]
|
||||
|
||||
count = CandidateTask.objects.filter(candidate_id__id__in=candidate_id_list,onboarding_task_id = task).update(status=status)
|
||||
count = CandidateTask.objects.filter(
|
||||
candidate_id__id__in=candidate_id_list, onboarding_task_id=task
|
||||
).update(status=status)
|
||||
# messages.success(request,f"{count} candidate's task status updated successfully")
|
||||
|
||||
return JsonResponse(
|
||||
@@ -1099,11 +1105,12 @@ def hired_candidate_chart(request):
|
||||
"data": data,
|
||||
"background_color": background_color,
|
||||
"border_color": border_color,
|
||||
"message": _("No data Found...")
|
||||
"message": _("No data Found..."),
|
||||
},
|
||||
safe=False,
|
||||
)
|
||||
|
||||
|
||||
@login_required
|
||||
def onboard_candidate_chart(request):
|
||||
"""
|
||||
@@ -1136,7 +1143,7 @@ def onboard_candidate_chart(request):
|
||||
"data": data,
|
||||
"background_color": background_color,
|
||||
"border_color": border_color,
|
||||
"message": _("No data Found...")
|
||||
"message": _("No data Found..."),
|
||||
},
|
||||
safe=False,
|
||||
)
|
||||
|
||||
@@ -5,6 +5,7 @@ This module is used to map url path with view methods.
|
||||
"""
|
||||
|
||||
from django.urls import path
|
||||
from recruitment.models import Candidate
|
||||
from recruitment.views import views
|
||||
import recruitment.views.actions
|
||||
import recruitment.views.dashboard
|
||||
@@ -39,7 +40,7 @@ urlpatterns = [
|
||||
recruitment.views.actions.recruitment_delete,
|
||||
name="recruitment-delete",
|
||||
),
|
||||
path("pipeline", views.recruitment_pipeline, name="pipeline"),
|
||||
path("pipeline/", views.recruitment_pipeline, name="pipeline"),
|
||||
path("pipeline-card", views.recruitment_pipeline_card, name="pipeline-card"),
|
||||
path(
|
||||
"pipeline-search-candidate",
|
||||
@@ -113,7 +114,7 @@ urlpatterns = [
|
||||
name="note-delete-individual",
|
||||
),
|
||||
path("send-mail/<int:cand_id>/", views.form_send_mail, name="send-mail"),
|
||||
path("candidate-view", views.candidate_view, name="candidate-view"),
|
||||
path("candidate-view/", views.candidate_view, name="candidate-view"),
|
||||
path(
|
||||
"candidate-filter-view",
|
||||
recruitment.views.search.candidate_filter_view,
|
||||
@@ -131,11 +132,13 @@ urlpatterns = [
|
||||
"candidate-view/<int:cand_id>/",
|
||||
views.candidate_view_individual,
|
||||
name="candidate-view-individual",
|
||||
kwargs={'model':Candidate}
|
||||
),
|
||||
path(
|
||||
"candidate-update/<int:cand_id>/",
|
||||
views.candidate_update,
|
||||
name="rec-candidate-update",
|
||||
kwargs={'model':Candidate}
|
||||
),
|
||||
path(
|
||||
"delete-profile-image/<int:obj_id>/",
|
||||
|
||||
@@ -33,7 +33,12 @@ from horilla.decorators import permission_required, login_required, hx_request_r
|
||||
from base.methods import get_key_instances
|
||||
from recruitment.views.paginator_qry import paginator_qry
|
||||
from recruitment.models import Recruitment, Candidate, Stage, StageNote
|
||||
from recruitment.filters import CandidateFilter, CandidateReGroup, RecruitmentFilter, StageFilter
|
||||
from recruitment.filters import (
|
||||
CandidateFilter,
|
||||
CandidateReGroup,
|
||||
RecruitmentFilter,
|
||||
StageFilter,
|
||||
)
|
||||
from recruitment.methods import recruitment_manages
|
||||
from recruitment.decorators import manager_can_enter, recruitment_manager_can_enter
|
||||
from recruitment.forms import (
|
||||
@@ -843,7 +848,7 @@ def candidate_view(request):
|
||||
"export_obj": export_obj,
|
||||
"view_type": view_type,
|
||||
"filter_dict": data_dict,
|
||||
"gp_fields" : CandidateReGroup.fields
|
||||
"gp_fields": CandidateReGroup.fields,
|
||||
},
|
||||
)
|
||||
|
||||
@@ -938,7 +943,7 @@ def candidate_view_card(request):
|
||||
|
||||
@login_required
|
||||
@permission_required(perm="recruitment.view_candidate")
|
||||
def candidate_view_individual(request, cand_id):
|
||||
def candidate_view_individual(request, cand_id, **kwargs):
|
||||
"""
|
||||
This method is used to view profile of candidate.
|
||||
"""
|
||||
@@ -948,7 +953,7 @@ def candidate_view_individual(request, cand_id):
|
||||
|
||||
@login_required
|
||||
@manager_can_enter(perm="recruitment.change_candidate")
|
||||
def candidate_update(request, cand_id):
|
||||
def candidate_update(request, cand_id, **kwargs):
|
||||
"""
|
||||
Used to update or change the candidate
|
||||
Args:
|
||||
|
||||
Reference in New Issue
Block a user