[UPDT] ONBOARDING: Updated onboarding model by adding HorillaModel as abstract class

This commit is contained in:
Horilla
2024-04-03 10:54:34 +05:30
parent f718914224
commit 74bbadebba
4 changed files with 16 additions and 35 deletions

View File

@@ -165,26 +165,7 @@ class OnboardingStageForm(ModelForm):
model = OnboardingStage
fields = "__all__"
exclude = ("sequence",)
class OnboardingTaskForm(forms.ModelForm):
"""
Form for OnboardingTask Model
"""
class Meta:
"""
Meta class to apply some additional info
"""
model = OnboardingTask
fields = "__all__"
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for visible in self.visible_fields():
visible.field.widget.attrs["class"] = "form-control"
exclude = ["sequence", "is_active"]
class OnboardingCandidateForm(ModelForm):
@@ -260,7 +241,7 @@ class OnboardingViewTaskForm(ModelForm):
model = CandidateTask
fields = "__all__"
exclude = ("status", "candidate_id", "onboarding_task_id")
exclude = ["status", "candidate_id", "onboarding_task_id", "is_active"]
def clean(self):
for field_name, field_instance in self.fields.items():
@@ -312,7 +293,7 @@ class OnboardingTaskForm(ModelForm):
model = OnboardingTask
fields = "__all__"
exclude = ("stage_id",)
exclude = ["stage_id", "is_active"]
widgets = {
"candidates": forms.SelectMultiple(
attrs={"class": "oh-select oh-select-2 w-100 select2-hidden-accessible"}

View File

@@ -6,20 +6,18 @@ This module is used to register models for onboarding app
"""
from datetime import datetime
import time
from typing import Any
from django.db import models
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.utils.translation import gettext_lazy as _
from horilla.models import HorillaModel
from horilla_audit.models import HorillaAuditInfo, HorillaAuditLog
from base.horilla_company_manager import HorillaCompanyManager
from recruitment.models import Recruitment, Candidate
from employee.models import Employee
from base.horilla_company_manager import HorillaCompanyManager
from django.contrib.auth.models import User
class OnboardingStage(models.Model):
class OnboardingStage(HorillaModel):
"""
OnboardingStage models
"""
@@ -61,7 +59,7 @@ def create_initial_stage(sender, instance, created, **kwargs):
initial_stage.save()
class OnboardingTask(models.Model):
class OnboardingTask(HorillaModel):
"""
OnboardingTask models
"""
@@ -81,7 +79,7 @@ class OnboardingTask(models.Model):
related_name="cand_onboarding_task",
)
employee_id = models.ManyToManyField(
Employee, related_name="onboarding_task", verbose_name="Task Assignee"
Employee, related_name="onboarding_task", verbose_name=_("Task Managers")
)
objects = HorillaCompanyManager("stage_id__recruitment_id__company_id")
@@ -90,7 +88,7 @@ class OnboardingTask(models.Model):
return f"{self.task_title}"
class CandidateStage(models.Model):
class CandidateStage(HorillaModel):
"""
CandidateStage model
"""
@@ -114,7 +112,9 @@ class CandidateStage(models.Model):
super(CandidateStage, self).save(*args, **kwargs)
def task_completion_ratio(self):
# function that used for getting the numbers between task completed v/s tasks assigned
"""
function that used for getting the numbers between task completed v/s tasks assigned
"""
cans_tasks = self.candidate_id.candidate_task
completed_tasks = cans_tasks.filter(status="done")
return f"{completed_tasks.count()}/{cans_tasks.count()}"
@@ -128,7 +128,7 @@ class CandidateStage(models.Model):
ordering = ["sequence"]
class CandidateTask(models.Model):
class CandidateTask(HorillaModel):
"""
CandidateTask model
"""
@@ -174,7 +174,7 @@ class CandidateTask(models.Model):
# unique_together = ("candidate_id", "onboarding_task_id")
class OnboardingPortal(models.Model):
class OnboardingPortal(HorillaModel):
"""
OnboardingPortal model
"""

View File

@@ -21,7 +21,7 @@
</div>
<div class="oh-modal__dialog-body pb-2">
<label class="oh-label d-block">{% trans "Task Assignees" %}</label>
<label class="oh-label d-block">{% trans "Task Managers" %}</label>
{{ form.managers }}
{{ form.managers.errors }}
</div>

View File

@@ -19,7 +19,7 @@
{{form.task_title.errors}}
</div>
<div class="oh-modal__dialog-body pb-2" id="taskUpdateEmployee">
<label class="oh-label d-block">{% trans "Task Assignees" %}</label>
<label class="oh-label d-block">{% trans "Task Managers" %}</label>
{{form.employee_id}}
{{form.employee_id.errors}}
</div>