[UPDT]Pylint fixes
This commit is contained in:
264
pms/models.py
264
pms/models.py
@@ -1,84 +1,129 @@
|
||||
from django.db import models
|
||||
from employee.models import Employee
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
# importing simple history
|
||||
from simple_history.models import HistoricalRecords
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from employee.models import Employee
|
||||
|
||||
|
||||
"""Objectives and key result section"""
|
||||
|
||||
|
||||
class Period(models.Model):
|
||||
""" this is a period model used for creating period """
|
||||
"""this is a period model used for creating period"""
|
||||
|
||||
period_name = models.CharField(max_length=150,unique=True)
|
||||
period_name = models.CharField(max_length=150, unique=True)
|
||||
start_date = models.DateField(null=True, blank=True)
|
||||
end_date = models.DateField(null=True, blank=True)
|
||||
objects = models.Manager()
|
||||
|
||||
def __str__(self):
|
||||
return self.period_name
|
||||
|
||||
|
||||
class EmployeeObjective(models.Model):
|
||||
|
||||
""" this is a EmployObjective model used for creating Employee objectives """
|
||||
"""this is a EmployObjective model used for creating Employee objectives"""
|
||||
|
||||
STATUS_CHOICES = (
|
||||
('On Track', _('On Track')),
|
||||
('Behind', _('Behind')),
|
||||
('Closed', _('Closed')),
|
||||
('At Risk', _('At Risk')),
|
||||
('Not Started', _('Not Started')),
|
||||
("On Track", _("On Track")),
|
||||
("Behind", _("Behind")),
|
||||
("Closed", _("Closed")),
|
||||
("At Risk", _("At Risk")),
|
||||
("Not Started", _("Not Started")),
|
||||
)
|
||||
objective = models.CharField(null=False, blank=False, max_length=100)
|
||||
objective_description = models.TextField(blank=False, null=False)
|
||||
created_at = models.DateField(auto_now_add=True)
|
||||
employee_id = models.ForeignKey(Employee, on_delete=models.DO_NOTHING, related_name='employee_objective', null=True, blank=True)
|
||||
employee_id = models.ForeignKey(
|
||||
Employee,
|
||||
on_delete=models.DO_NOTHING,
|
||||
related_name="employee_objective",
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
updated_at = models.DateField(auto_now=True)
|
||||
start_date = models.DateField(null=False, blank=False)
|
||||
end_date = models.DateField(null=False, blank=False)
|
||||
status = models.CharField(max_length=20,choices=STATUS_CHOICES,null=False, blank=False, default='Not Started')
|
||||
status = models.CharField(
|
||||
max_length=20,
|
||||
choices=STATUS_CHOICES,
|
||||
null=False,
|
||||
blank=False,
|
||||
default="Not Started",
|
||||
)
|
||||
history = HistoricalRecords()
|
||||
archive =models.BooleanField(default=False,null=True,blank=True)
|
||||
archive = models.BooleanField(default=False, null=True, blank=True)
|
||||
objects = models.Manager()
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.employee_id.employee_first_name} -{self.objective}'
|
||||
|
||||
return f"{self.employee_id.employee_first_name} -{self.objective}"
|
||||
|
||||
|
||||
class Comment(models.Model):
|
||||
"""comments for objectives"""
|
||||
|
||||
comment = models.CharField(max_length=150)
|
||||
employee_id = models.ForeignKey(Employee, on_delete=models.DO_NOTHING, related_name='comment', null=True, blank=True)
|
||||
employee_objective_id = models.ForeignKey(EmployeeObjective, on_delete=models.CASCADE, related_name='emp_objective', null=True, blank=True)
|
||||
employee_id = models.ForeignKey(
|
||||
Employee,
|
||||
on_delete=models.DO_NOTHING,
|
||||
related_name="comment",
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
employee_objective_id = models.ForeignKey(
|
||||
EmployeeObjective,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="emp_objective",
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
created_at = models.DateTimeField(auto_now_add=True, null=True, blank=True)
|
||||
history = HistoricalRecords(excluded_fields=['comment'])
|
||||
history = HistoricalRecords(excluded_fields=["comment"])
|
||||
objects = models.Manager()
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.employee_id.employee_first_name} -{self.comment} '
|
||||
return f"{self.employee_id.employee_first_name} -{self.comment} "
|
||||
|
||||
|
||||
class EmployeeKeyResult(models.Model):
|
||||
"""employee key result creation """
|
||||
"""employee key result creation"""
|
||||
|
||||
PROGRESS_CHOICES = (
|
||||
('%', _('Percentage')),
|
||||
('#', _('Number')),
|
||||
('Currency', (('$', 'USD$'), ('₹', 'INR'), ('€', 'EUR')))
|
||||
("%", _("Percentage")),
|
||||
("#", _("Number")),
|
||||
("Currency", (("$", "USD$"), ("₹", "INR"), ("€", "EUR"))),
|
||||
)
|
||||
STATUS_CHOICES = (
|
||||
('On Track', _('On Track')),
|
||||
('Behind', _('Behind')),
|
||||
('Closed', _('Closed')),
|
||||
('At Risk', _('At Risk')),
|
||||
('Not Started', _('Not Started'))
|
||||
("On Track", _("On Track")),
|
||||
("Behind", _("Behind")),
|
||||
("Closed", _("Closed")),
|
||||
("At Risk", _("At Risk")),
|
||||
("Not Started", _("Not Started")),
|
||||
)
|
||||
|
||||
key_result = models.CharField(max_length=60, null=True, blank=False)
|
||||
key_result_description = models.TextField(blank=False, null=True)
|
||||
employee_objective_id = models.ForeignKey(EmployeeObjective, on_delete=models.CASCADE, related_name='emp_obj_id')
|
||||
employee_id = models.ForeignKey(Employee, on_delete=models.DO_NOTHING, related_name='emp_kpi', null=True, blank=True)
|
||||
progress_type = models.CharField(max_length=60, null=True, blank=True, choices=PROGRESS_CHOICES)
|
||||
status = models.CharField(max_length=20,choices=STATUS_CHOICES,null=True, blank=True, default='Not Started')
|
||||
employee_objective_id = models.ForeignKey(
|
||||
EmployeeObjective, on_delete=models.CASCADE, related_name="emp_obj_id"
|
||||
)
|
||||
employee_id = models.ForeignKey(
|
||||
Employee,
|
||||
on_delete=models.DO_NOTHING,
|
||||
related_name="emp_kpi",
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
progress_type = models.CharField(
|
||||
max_length=60, null=True, blank=True, choices=PROGRESS_CHOICES
|
||||
)
|
||||
status = models.CharField(
|
||||
max_length=20,
|
||||
choices=STATUS_CHOICES,
|
||||
null=True,
|
||||
blank=True,
|
||||
default="Not Started",
|
||||
)
|
||||
created_at = models.DateField(auto_now_add=True, blank=True, null=True)
|
||||
updated_at = models.DateField(auto_now=True, null=True, blank=True)
|
||||
start_value = models.IntegerField(null=True, blank=True, default=0)
|
||||
@@ -87,11 +132,10 @@ class EmployeeKeyResult(models.Model):
|
||||
start_date = models.DateField(null=True, blank=True)
|
||||
end_date = models.DateField(null=True, blank=True)
|
||||
history = HistoricalRecords()
|
||||
objects = models.Manager()
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.key_result} '
|
||||
|
||||
|
||||
return f"{self.key_result} "
|
||||
|
||||
|
||||
"""360degree feedback section"""
|
||||
@@ -99,7 +143,11 @@ class EmployeeKeyResult(models.Model):
|
||||
|
||||
class QuestionTemplate(models.Model):
|
||||
"""question template creation"""
|
||||
question_template = models.CharField(max_length=100, null=False, blank=False , unique=True)
|
||||
|
||||
question_template = models.CharField(
|
||||
max_length=100, null=False, blank=False, unique=True
|
||||
)
|
||||
objects = models.Manager()
|
||||
|
||||
def __str__(self):
|
||||
return self.question_template
|
||||
@@ -107,67 +155,147 @@ class QuestionTemplate(models.Model):
|
||||
|
||||
class Question(models.Model):
|
||||
"""question creation"""
|
||||
|
||||
QUESTION_TYPE_CHOICE = (
|
||||
('1', _('Text')),
|
||||
('2', _('Rating')),
|
||||
('3', _('Boolean')),
|
||||
('4', _('Multi-choices')),
|
||||
('5', _('Likert'))
|
||||
("1", _("Text")),
|
||||
("2", _("Rating")),
|
||||
("3", _("Boolean")),
|
||||
("4", _("Multi-choices")),
|
||||
("5", _("Likert")),
|
||||
)
|
||||
question = models.CharField(max_length=250, null=False, blank=False)
|
||||
question_type = models.CharField(choices=QUESTION_TYPE_CHOICE, max_length=100, null=True, blank=True)
|
||||
template_id = models.ForeignKey(QuestionTemplate, on_delete=models.CASCADE, related_name='question', null=True, blank=True)
|
||||
question_type = models.CharField(
|
||||
choices=QUESTION_TYPE_CHOICE, max_length=100, null=True, blank=True
|
||||
)
|
||||
template_id = models.ForeignKey(
|
||||
QuestionTemplate,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="question",
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
objects = models.Manager()
|
||||
|
||||
def __str__(self):
|
||||
return self.question
|
||||
|
||||
|
||||
class QuestionOptions(models.Model):
|
||||
"""options for question """
|
||||
question_id = models.ForeignKey(Question, on_delete=models.CASCADE, related_name='question_options', null=True, blank=True)
|
||||
"""options for question"""
|
||||
|
||||
question_id = models.ForeignKey(
|
||||
Question,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="question_options",
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
option_a = models.CharField(max_length=250, null=True, blank=True)
|
||||
option_b = models.CharField(max_length=250, null=True, blank=True)
|
||||
option_c = models.CharField(max_length=250, null=True, blank=True)
|
||||
option_d = models.CharField(max_length=250, null=True, blank=True)
|
||||
objects = models.Manager()
|
||||
|
||||
|
||||
class Feedback(models.Model):
|
||||
"""feedback model for creating feedback """
|
||||
"""feedback model for creating feedback"""
|
||||
|
||||
STATUS_CHOICES = (
|
||||
('On Track', _('On Track')),
|
||||
('Behind', _('Behind') ),
|
||||
('Closed', _('Closed') ),
|
||||
('At Risk', _('At Risk') ),
|
||||
('Not Started', _('Not Started'))
|
||||
("On Track", _("On Track")),
|
||||
("Behind", _("Behind")),
|
||||
("Closed", _("Closed")),
|
||||
("At Risk", _("At Risk")),
|
||||
("Not Started", _("Not Started")),
|
||||
)
|
||||
review_cycle = models.CharField(max_length=100, null=False, blank=False)
|
||||
manager_id = models.ForeignKey(Employee, related_name='feedback_manager', on_delete=models.DO_NOTHING, null=True, blank=False)
|
||||
employee_id = models.ForeignKey(Employee, on_delete=models.DO_NOTHING, related_name='feedback_employee',null=False,blank=False)
|
||||
colleague_id = models.ManyToManyField(Employee, related_name='feedback_colleague',blank=True)
|
||||
subordinate_id = models.ManyToManyField(Employee, related_name='feedback_subordinate',blank=True)
|
||||
question_template_id = models.ForeignKey(QuestionTemplate, on_delete=models.DO_NOTHING, related_name='feedback_question_template',null=False,blank=False)
|
||||
status = models.CharField(max_length=50,choices=STATUS_CHOICES,default='Not Started')
|
||||
manager_id = models.ForeignKey(
|
||||
Employee,
|
||||
related_name="feedback_manager",
|
||||
on_delete=models.DO_NOTHING,
|
||||
null=True,
|
||||
blank=False,
|
||||
)
|
||||
employee_id = models.ForeignKey(
|
||||
Employee,
|
||||
on_delete=models.DO_NOTHING,
|
||||
related_name="feedback_employee",
|
||||
null=False,
|
||||
blank=False,
|
||||
)
|
||||
colleague_id = models.ManyToManyField(
|
||||
Employee, related_name="feedback_colleague", blank=True
|
||||
)
|
||||
subordinate_id = models.ManyToManyField(
|
||||
Employee, related_name="feedback_subordinate", blank=True
|
||||
)
|
||||
question_template_id = models.ForeignKey(
|
||||
QuestionTemplate,
|
||||
on_delete=models.DO_NOTHING,
|
||||
related_name="feedback_question_template",
|
||||
null=False,
|
||||
blank=False,
|
||||
)
|
||||
status = models.CharField(
|
||||
max_length=50, choices=STATUS_CHOICES, default="Not Started"
|
||||
)
|
||||
created_at = models.DateField(auto_now_add=True)
|
||||
archive = models.BooleanField(null=True, blank=True, default=False)
|
||||
start_date = models.DateField(null=False, blank=False)
|
||||
end_date = models.DateField(null=True, blank=False)
|
||||
employee_key_results_id = models.ManyToManyField(EmployeeKeyResult, blank=True,)
|
||||
employee_key_results_id = models.ManyToManyField(
|
||||
EmployeeKeyResult,
|
||||
blank=True,
|
||||
)
|
||||
objects = models.Manager()
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.employee_id.employee_first_name} - {self.review_cycle}'
|
||||
return f"{self.employee_id.employee_first_name} - {self.review_cycle}"
|
||||
|
||||
|
||||
class Answer(models.Model):
|
||||
"""feedback answer model """
|
||||
"""feedback answer model"""
|
||||
|
||||
answer = models.JSONField(max_length=200, null=True, blank=True)
|
||||
question_id = models.ForeignKey(Question, on_delete=models.DO_NOTHING, related_name='answer_question_id',null=True,blank=True)
|
||||
employee_id = models.ForeignKey(Employee, on_delete=models.DO_NOTHING, related_name='employee_answer',null=True,blank=True)
|
||||
feedback_id = models.ForeignKey(Feedback, on_delete=models.CASCADE, related_name='feedback_answer')
|
||||
question_id = models.ForeignKey(
|
||||
Question,
|
||||
on_delete=models.DO_NOTHING,
|
||||
related_name="answer_question_id",
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
employee_id = models.ForeignKey(
|
||||
Employee,
|
||||
on_delete=models.DO_NOTHING,
|
||||
related_name="employee_answer",
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
feedback_id = models.ForeignKey(
|
||||
Feedback, on_delete=models.CASCADE, related_name="feedback_answer"
|
||||
)
|
||||
objects = models.Manager()
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.employee_id.employee_first_name} -{self.answer}'
|
||||
class KeyresultFeedback(models.Model):
|
||||
feedback_id = models.ForeignKey(Feedback, on_delete=models.CASCADE, related_name='feedback_key_result', null=True,blank=True)
|
||||
employee_id = models.ForeignKey(Employee, on_delete=models.DO_NOTHING, related_name='employee_key_result')
|
||||
return f"{self.employee_id.employee_first_name} -{self.answer}"
|
||||
|
||||
|
||||
class KeyResultFeedback(models.Model):
|
||||
feedback_id = models.ForeignKey(
|
||||
Feedback,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="feedback_key_result",
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
employee_id = models.ForeignKey(
|
||||
Employee, on_delete=models.DO_NOTHING, related_name="employee_key_result"
|
||||
)
|
||||
answer = models.JSONField(max_length=200, null=True, blank=True)
|
||||
key_result_id = models.ForeignKey(EmployeeKeyResult,related_name='key_result_feedback',null=True,blank=True,on_delete=models.DO_NOTHING)
|
||||
key_result_id = models.ForeignKey(
|
||||
EmployeeKeyResult,
|
||||
related_name="key_result_feedback",
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.DO_NOTHING,
|
||||
)
|
||||
objects = models.Manager()
|
||||
|
||||
Reference in New Issue
Block a user