From ee4aa8ea82645e1b52554d282c645a1b3a04efdc Mon Sep 17 00:00:00 2001 From: Greg Walker Date: Thu, 30 Apr 2020 13:25:31 -0500 Subject: [PATCH] add is_active prop to userdata model --- tock/api/views.py | 1 + tock/employees/models.py | 4 ++++ tock/employees/tests/test_models.py | 23 ++++++++++++++++++++++- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/tock/api/views.py b/tock/api/views.py index 8f03ac80a..a58c3d557 100644 --- a/tock/api/views.py +++ b/tock/api/views.py @@ -49,6 +49,7 @@ class UserDataSerializer(serializers.Serializer): user = serializers.StringRelatedField() current_employee = serializers.BooleanField() is_18f_employee = serializers.BooleanField() + is_active = serializers.BooleanField() is_billable = serializers.BooleanField() unit = serializers.StringRelatedField() organization = serializers.StringRelatedField() diff --git a/tock/employees/models.py b/tock/employees/models.py index 78b9d6488..3017e83f3 100644 --- a/tock/employees/models.py +++ b/tock/employees/models.py @@ -110,6 +110,10 @@ class Meta: def __str__(self): return '{0}'.format(self.user) + @property + def is_active(self): + return self.user.is_active + @property def is_billable(self): """ diff --git a/tock/employees/tests/test_models.py b/tock/employees/tests/test_models.py index 6d725af90..cbd819f39 100644 --- a/tock/employees/tests/test_models.py +++ b/tock/employees/tests/test_models.py @@ -50,11 +50,17 @@ class UserDataTests(TestCase): def setUp(self): # Create regular_user. self.regular_user = User.objects.create( - username='aaron.snow', + username='brian.whittaker', is_superuser=True, is_staff=True, is_active=True ) + self.inactive_user = User.objects.create( + username='aaron.snow', + is_superuser=True, + is_staff=True, + is_active=False +) # Create Organization. self.regular_user_org = Organization.objects.create( name='18F', @@ -78,6 +84,15 @@ def setUp(self): organization=self.regular_user_org, unit=self.regular_user_unit ) + self.inactive_user_userdata = UserData.objects.create( + user=self.inactive_user, + start_date= datetime.date(2014, 1, 1), + end_date=datetime.date(2100, 1, 1), + is_18f_employee=True, + current_employee=True, + organization=self.regular_user_org, + unit=self.regular_user_unit + ) # Create a sample reporting period self.reporting_period = ReportingPeriod.objects.create( start_date=datetime.date(2015, 1, 1), @@ -118,6 +133,12 @@ def test_is_late(self): userdata.save() self.assertEqual(userdata.is_late, False) + def test_is_active(self): + userdata = self.regular_user_userdata + self.assertEqual(userdata.is_active, True) + userdata = self.inactive_user_userdata + self.assertEqual(userdata.is_active, False) + def test_organization_name(self): """ Check to see if we can get organization name and unit correctly.