[UPDT] OFFBOARDING: Added next and previous buttons in individual view for exit process
This commit is contained in:
@@ -5,6 +5,7 @@ from offboarding.models import (
|
||||
OffboardingTask,
|
||||
EmployeeTask,
|
||||
ResignationLetter,
|
||||
OffboardingEmployee,
|
||||
)
|
||||
|
||||
# Register your models here.
|
||||
@@ -16,5 +17,6 @@ admin.site.register(
|
||||
OffboardingNote,
|
||||
OffboardingTask,
|
||||
EmployeeTask,
|
||||
OffboardingEmployee,
|
||||
]
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% load i18n offboarding_filter %} {% if response_message %}
|
||||
{% load i18n offboarding_filter %} {% load mathfilters %} {% if response_message %}
|
||||
<div class="oh-alert-container">
|
||||
<div class="oh-alert oh-alert--animated oh-alert--success">
|
||||
{{response_message}}
|
||||
@@ -29,9 +29,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="oh-sticky-table__td">
|
||||
{% if employee.notice_period %}
|
||||
{% trans 'In' %} {{ employee.notice_period }} {{ employee.get_unit_display }}
|
||||
{% endif %}
|
||||
{% if employee.notice_period_ends == today %} {% trans "today" %}{% elif employee.notice_period_ends < today %} {% trans "Notice period ended" %} {% else %}{% trans 'In' %} {{employee.notice_period_ends|sub:today}}{% endif %}
|
||||
</div>
|
||||
<div class="oh-sticky-table__td dateformat_changer">{{ employee.notice_period_starts }}</div>
|
||||
<div class="oh-sticky-table__td dateformat_changer">{{ employee.notice_period_ends }}</div>
|
||||
|
||||
@@ -77,5 +77,6 @@ urlpatterns = [
|
||||
name="enable-resignation-request",
|
||||
),
|
||||
path("get-notice-period", views.get_notice_period, name="get-notice-period"),
|
||||
path("get-notice-period-end-date", views.get_notice_period_end_date, name="get-notice-period-end-date"),
|
||||
path("offboarding-pipeline-filter",views.filter_pipeline,name="offboarding-pipeline-filter")
|
||||
]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import datetime
|
||||
from datetime import datetime, timedelta
|
||||
import json
|
||||
from urllib.parse import parse_qs
|
||||
from django.http import HttpResponse, JsonResponse
|
||||
@@ -119,13 +119,9 @@ def pipeline(request):
|
||||
stage_forms = {}
|
||||
for offboarding in offboardings:
|
||||
stage_forms[str(offboarding.id)] = StageSelectForm(offboarding=offboarding)
|
||||
for stage in offboarding.offboardingstage_set.all():
|
||||
employees = employees + [
|
||||
employee for employee in stage.offboardingemployee_set.all()
|
||||
]
|
||||
|
||||
|
||||
filter_dict = parse_qs(request.GET.urlencode())
|
||||
requests_ids = json.dumps([instance.id for instance in employees])
|
||||
|
||||
return render(
|
||||
request,
|
||||
@@ -137,7 +133,7 @@ def pipeline(request):
|
||||
"stage_filter": PipelineStageFilter(),
|
||||
"stage_forms": stage_forms,
|
||||
"filter_dict": filter_dict,
|
||||
"requests_ids": requests_ids,
|
||||
"today" : datetime.today().date(),
|
||||
},
|
||||
)
|
||||
|
||||
@@ -237,13 +233,19 @@ def add_employee(request):
|
||||
"""
|
||||
This method is used to add employee to the stage
|
||||
"""
|
||||
default_notice_period = (
|
||||
intial_notice_period(request)["get_initial_notice_period"]
|
||||
if intial_notice_period(request)["get_initial_notice_period"]
|
||||
else 0
|
||||
)
|
||||
end_date = datetime.today() + timedelta(days=default_notice_period * 30)
|
||||
stage_id = request.GET["stage_id"]
|
||||
instance_id = eval(str(request.GET.get("instance_id")))
|
||||
instance = None
|
||||
if instance_id and isinstance(instance_id, int):
|
||||
instance = OffboardingEmployee.objects.get(id=instance_id)
|
||||
stage = OffboardingStage.objects.get(id=stage_id)
|
||||
form = OffboardingEmployeeForm(initial={"stage_id": stage}, instance=instance)
|
||||
form = OffboardingEmployeeForm(initial={"stage_id": stage,"notice_period_ends":end_date}, instance=instance)
|
||||
form.instance.stage_id = stage
|
||||
if request.method == "POST":
|
||||
form = OffboardingEmployeeForm(request.POST, instance=instance)
|
||||
@@ -763,12 +765,12 @@ def update_status(request):
|
||||
notice_period_starts = request.GET.get("notice_period_starts")
|
||||
notice_period_ends = request.GET.get("notice_period_ends")
|
||||
if notice_period_starts:
|
||||
notice_period_starts = datetime.datetime.strptime(
|
||||
notice_period_starts = datetime.strptime(
|
||||
notice_period_starts, "%Y-%m-%d"
|
||||
).date()
|
||||
today = datetime.datetime.today()
|
||||
today = datetime.today()
|
||||
if notice_period_ends:
|
||||
notice_period_ends = datetime.datetime.strptime(
|
||||
notice_period_ends = datetime.strptime(
|
||||
notice_period_ends, "%Y-%m-%d"
|
||||
).date()
|
||||
else:
|
||||
@@ -842,8 +844,19 @@ def get_notice_period(request):
|
||||
response = {
|
||||
"notice_period": intial_notice_period(request)["get_initial_notice_period"],
|
||||
"unit": "month",
|
||||
"notice_period_starts": str(datetime.datetime.today().date()),
|
||||
"notice_period_starts": str(datetime.today().date()),
|
||||
}
|
||||
if employee_contract:
|
||||
response["notice_period"] = employee_contract.notice_period_in_month
|
||||
return JsonResponse(response)
|
||||
|
||||
|
||||
def get_notice_period_end_date(request):
|
||||
start_date = request.GET.get("start_date")
|
||||
start_date = datetime.strptime(start_date,"%Y-%m-%d").date()
|
||||
notice_period = intial_notice_period(request)["get_initial_notice_period"]
|
||||
end_date = start_date + timedelta(days = notice_period * 30)
|
||||
response = {
|
||||
"end_date": end_date,
|
||||
}
|
||||
return JsonResponse(response)
|
||||
Reference in New Issue
Block a user