diff --git a/payroll/models/models.py b/payroll/models/models.py index bf408b010..684b50213 100644 --- a/payroll/models/models.py +++ b/payroll/models/models.py @@ -1078,7 +1078,7 @@ class Allowance(HorillaModel): """ employees = self.specific_employees.all() - employee_names_string = "
".join([str(employee) for employee in employees]) + employee_names_string = ", ".join([str(employee) for employee in employees]) return employee_names_string def get_exclude_employees(self): @@ -1258,6 +1258,59 @@ class Allowance(HorillaModel): setattr(self, attribute, None) self.has_max_limit = False + def get_specific_exclude_employees(self): + """ + Get all specific and exclude employees separated by commas for detail view. + """ + col = "" + if self.specific_employees.exists(): + specific_employees = self.specific_employees.all() + specific_employee_names = ", ".join( + str(employee.get_full_name()) for employee in specific_employees + ) + label = "Specific Employees" + + col += format_html( + """ +
+ + {} + +
+ : + {} + +
+
+ """, + label, + specific_employee_names, + ) + + if self.exclude_employees.exists(): + exclude_employees = self.exclude_employees.all() + exclude_employee_names = ", ".join( + str(employee.get_full_name()) for employee in exclude_employees + ) + label = "Excluded Employees" + col += format_html( + """ +
+ + {} + +
+ : + {} + +
+
+ """, + label, + exclude_employee_names, + ) + return col + def clean(self): super().clean() self.clean_fixed_attributes() @@ -1563,7 +1616,7 @@ class Deduction(HorillaModel): """ return dict(CONDITION_CHOICE).get(self.condition) - def condition_bsed_col(self): + def condition_based_col(self): """ Condition based column """ @@ -1655,7 +1708,9 @@ class Deduction(HorillaModel): Specific Employees """ employees = self.specific_employees.all() - employee_names_string = "
".join([str(employee) for employee in employees]) + employee_names_string = ", ".join( + [str(employee.get_full_name()) for employee in employees] + ) return employee_names_string def excluded_employees_col(self): @@ -1663,7 +1718,9 @@ class Deduction(HorillaModel): Excluded employees """ employees = self.exclude_employees.all() - employee_names_string = "
".join([str(employee) for employee in employees]) + employee_names_string = ", ".join( + [str(employee.get_full_name()) for employee in employees] + ) return employee_names_string def tax_col(self): @@ -1691,6 +1748,59 @@ class Deduction(HorillaModel): else: return "No" + def get_specific_exclude_employees(self): + """ + Get all specific and exclude employees separated by commas for detail view. + """ + col = "" + if self.specific_employees.exists(): + specific_employees = self.specific_employees.all() + specific_employee_names = ", ".join( + str(employee.get_full_name()) for employee in specific_employees + ) + label = "Specific Employees" + + col += format_html( + """ +
+ + {} + +
+ : + {} + +
+
+ """, + label, + specific_employee_names, + ) + + if self.exclude_employees.exists(): + exclude_employees = self.exclude_employees.all() + exclude_employee_names = ", ".join( + str(employee.get_full_name()) for employee in exclude_employees + ) + label = "Excluded Employees" + col += format_html( + """ +
+ + {} + +
+ : + {} + +
+
+ """, + label, + exclude_employee_names, + ) + return col + def clean(self): super().clean()