[FIX] EMPLOYEE: #700
This commit is contained in:
@@ -573,13 +573,6 @@ class EmployeeWorkInformation(models.Model):
|
||||
related_name="employee_work_info",
|
||||
verbose_name=_("Employee"),
|
||||
)
|
||||
job_position_id = models.ForeignKey(
|
||||
JobPosition,
|
||||
on_delete=models.PROTECT,
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name=_("Job Position"),
|
||||
)
|
||||
department_id = models.ForeignKey(
|
||||
Department,
|
||||
on_delete=models.PROTECT,
|
||||
@@ -587,19 +580,12 @@ class EmployeeWorkInformation(models.Model):
|
||||
blank=True,
|
||||
verbose_name=_("Department"),
|
||||
)
|
||||
work_type_id = models.ForeignKey(
|
||||
WorkType,
|
||||
job_position_id = models.ForeignKey(
|
||||
JobPosition,
|
||||
on_delete=models.PROTECT,
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name=_("Work Type"),
|
||||
)
|
||||
employee_type_id = models.ForeignKey(
|
||||
EmployeeType,
|
||||
on_delete=models.PROTECT,
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name=_("Employee Type"),
|
||||
verbose_name=_("Job Position"),
|
||||
)
|
||||
job_role_id = models.ForeignKey(
|
||||
JobRole,
|
||||
@@ -616,27 +602,6 @@ class EmployeeWorkInformation(models.Model):
|
||||
related_name="reporting_manager",
|
||||
verbose_name=_("Reporting Manager"),
|
||||
)
|
||||
company_id = models.ForeignKey(
|
||||
Company,
|
||||
on_delete=models.PROTECT,
|
||||
blank=True,
|
||||
null=True,
|
||||
verbose_name=_("Company"),
|
||||
)
|
||||
tags = models.ManyToManyField(
|
||||
EmployeeTag, blank=True, verbose_name=_("Employee tag")
|
||||
)
|
||||
location = models.CharField(
|
||||
max_length=50, null=True, blank=True, verbose_name=_("Work Location")
|
||||
)
|
||||
email = models.EmailField(
|
||||
max_length=254, blank=True, null=True, verbose_name=_("Email")
|
||||
)
|
||||
mobile = models.CharField(
|
||||
max_length=254,
|
||||
blank=True,
|
||||
null=True,
|
||||
)
|
||||
shift_id = models.ForeignKey(
|
||||
EmployeeShift,
|
||||
on_delete=models.DO_NOTHING,
|
||||
@@ -644,10 +609,47 @@ class EmployeeWorkInformation(models.Model):
|
||||
blank=True,
|
||||
verbose_name=_("Shift"),
|
||||
)
|
||||
work_type_id = models.ForeignKey(
|
||||
WorkType,
|
||||
on_delete=models.PROTECT,
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name=_("Work Type"),
|
||||
)
|
||||
|
||||
employee_type_id = models.ForeignKey(
|
||||
EmployeeType,
|
||||
on_delete=models.PROTECT,
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name=_("Employee Type"),
|
||||
)
|
||||
tags = models.ManyToManyField(
|
||||
EmployeeTag, blank=True, verbose_name=_("Employee tag")
|
||||
)
|
||||
location = models.CharField(
|
||||
max_length=50, null=True, blank=True, verbose_name=_("Work Location")
|
||||
)
|
||||
company_id = models.ForeignKey(
|
||||
Company,
|
||||
on_delete=models.PROTECT,
|
||||
blank=True,
|
||||
null=True,
|
||||
verbose_name=_("Company"),
|
||||
)
|
||||
email = models.EmailField(
|
||||
max_length=254, blank=True, null=True, verbose_name=_("Work Email")
|
||||
)
|
||||
mobile = models.CharField(
|
||||
max_length=254, blank=True, null=True, verbose_name=_("Work Phone")
|
||||
)
|
||||
|
||||
date_joining = models.DateField(
|
||||
null=True, blank=True, verbose_name=_("Joining Date")
|
||||
)
|
||||
contract_end_date = models.DateField(blank=True, null=True)
|
||||
contract_end_date = models.DateField(
|
||||
blank=True, null=True, verbose_name=_("Contract End Date")
|
||||
)
|
||||
basic_salary = models.IntegerField(
|
||||
null=True, blank=True, default=0, verbose_name=_("Basic Salary")
|
||||
)
|
||||
|
||||
@@ -1339,24 +1339,40 @@ def employee_view_update(request, obj_id, **kwargs):
|
||||
"""
|
||||
This method is used to render update form for employee.
|
||||
"""
|
||||
company = request.session["selected_company"]
|
||||
selected_company_id = request.session["selected_company"]
|
||||
user = Employee.objects.filter(employee_user_id=request.user).first()
|
||||
work_info = HistoryTrackingFields.objects.first()
|
||||
work_info_history = False
|
||||
if work_info and work_info.work_info_track == True:
|
||||
work_info_history = True
|
||||
work_info_history = HistoryTrackingFields.objects.filter(
|
||||
work_info_track=True
|
||||
).exists()
|
||||
|
||||
employee = Employee.objects.filter(id=obj_id).first()
|
||||
all_employees = Employee.objects.entire()
|
||||
emp = all_employees.filter(id=obj_id).first()
|
||||
emp = Employee.objects.entire().filter(id=obj_id).first()
|
||||
if not employee and emp and hasattr(emp, "employee_work_info"):
|
||||
if (
|
||||
emp.employee_work_info
|
||||
and emp.employee_work_info.company_id
|
||||
and emp.employee_work_info.company_id_id != selected_company_id
|
||||
):
|
||||
|
||||
messages.error(
|
||||
request, _("Employee is not working in the selected company.")
|
||||
)
|
||||
return redirect(employee_view)
|
||||
|
||||
if employee is None:
|
||||
employee = emp
|
||||
all_work_info = EmployeeWorkInformation.objects.entire()
|
||||
cmpny = Company.objects.get(id=company)
|
||||
work = all_work_info.filter(employee_id=employee).first()
|
||||
if company != "all":
|
||||
cmpny = Company.objects.get(id=selected_company_id)
|
||||
|
||||
work = (
|
||||
EmployeeWorkInformation.objects.entire()
|
||||
.filter(employee_id=employee)
|
||||
.first()
|
||||
)
|
||||
|
||||
if work and selected_company_id != "all":
|
||||
work.company_id = cmpny
|
||||
work.save()
|
||||
|
||||
employee.save()
|
||||
|
||||
if (
|
||||
|
||||
Reference in New Issue
Block a user