From 4f5955604afa5c79f7decc0f988341ec0735f38d Mon Sep 17 00:00:00 2001 From: Caitlin Barnard Date: Tue, 17 Dec 2024 13:54:07 +0000 Subject: [PATCH] Add periods display property and rename PositionView --- core/models.py | 4 ++++ payroll/views.py | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/core/models.py b/core/models.py index bc684a35d..a46896bab 100644 --- a/core/models.py +++ b/core/models.py @@ -98,6 +98,10 @@ class Meta: def periods(self) -> list[float]: return [getattr(self, month) for month in MONTHS] + @property + def periods_as_percentage(self) -> list[float]: + return [month * 100 for month in self.periods] + financial_year = models.ForeignKey(FinancialYear, on_delete=models.PROTECT) apr = models.FloatField(default=1.0) may = models.FloatField(default=1.0) diff --git a/payroll/views.py b/payroll/views.py index 44c61d7ff..42e3baf01 100644 --- a/payroll/views.py +++ b/payroll/views.py @@ -15,7 +15,7 @@ from .services import payroll as payroll_service -class PositionView(UserPassesTestMixin, View): +class EditPayrollView(UserPassesTestMixin, View): def test_func(self) -> bool | None: return self.request.user.is_superuser @@ -49,7 +49,7 @@ def post(self, request, *args, **kwargs): # TODO: check user has access to cost centre -class PayrollView(PositionView): +class PayrollView(EditPayrollView): def get_data(self): return payroll_service.get_payroll_data( self.cost_centre, @@ -64,7 +64,7 @@ def post_data(self, data): ) -class VacancyView(PositionView): +class VacancyView(EditPayrollView): def get_data(self): return payroll_service.get_vacancies_data( self.cost_centre, @@ -79,7 +79,7 @@ def post_data(self, data): ) -class PayModifierView(PositionView): +class PayModifierView(EditPayrollView): def get_data(self): return payroll_service.get_pay_modifiers_data( self.cost_centre,