diff --git a/hypha/apply/activity/adapters/utils.py b/hypha/apply/activity/adapters/utils.py index 1b94376387721c0f85214b4306259a93b5882921..70c544024ba298f08f2ed8e5f7dae85b8ab9183a 100644 --- a/hypha/apply/activity/adapters/utils.py +++ b/hypha/apply/activity/adapters/utils.py @@ -61,7 +61,7 @@ def get_compliance_email(target_user_gps=None): target_user_emails.extend([project_settings.contracting_gp_email]) else: contracting_users_email = [] - for user in User.objects.filter(groups__name=CONTRACTING_GROUP_NAME): + for user in User.objects.contracting(): contracting_users_email.append(user.email) target_user_emails.extend(contracting_users_email) if FINANCE_GROUP_NAME in target_user_gps: @@ -69,7 +69,7 @@ def get_compliance_email(target_user_gps=None): target_user_emails.extend([project_settings.finance_gp_email]) else: finance_users_email = [] - for user in User.objects.filter(groups__name=FINANCE_GROUP_NAME): + for user in User.objects.finances(): finance_users_email.append(user.email) target_user_emails.extend(finance_users_email) if STAFF_GROUP_NAME in target_user_gps: @@ -77,7 +77,7 @@ def get_compliance_email(target_user_gps=None): target_user_emails.extend([project_settings.staff_gp_email]) else: staff_users_email = [] - for user in User.objects.filter(groups__name=STAFF_GROUP_NAME): + for user in User.objects.staff(): staff_users_email.append(user.email) target_user_emails.extend(staff_users_email) return target_user_emails diff --git a/hypha/apply/users/models.py b/hypha/apply/users/models.py index 03c876ed16f86b3427ad65f6ce2707f5298f75ad..53de8e2b17654294b50a4979a1294a2810670251 100644 --- a/hypha/apply/users/models.py +++ b/hypha/apply/users/models.py @@ -3,7 +3,6 @@ from django.contrib.auth.hashers import make_password from django.contrib.auth.models import AbstractUser, BaseUserManager, Group from django.core import exceptions from django.db import IntegrityError, models -from django.db.models import Q from django.db.models.constants import LOOKUP_SEP from django.db.models.utils import resolve_callables from django.urls import reverse @@ -29,9 +28,7 @@ from .utils import get_user_by_email, is_user_already_registered, send_activatio class UserQuerySet(models.QuerySet): def staff(self): - return self.filter( - Q(groups__name=STAFF_GROUP_NAME, is_active=True) | Q(is_superuser=True, is_active=True) - ).distinct() + return self.filter(groups__name=STAFF_GROUP_NAME, is_active=True) def staff_admin(self): return self.filter(groups__name=TEAMADMIN_GROUP_NAME, is_active=True) @@ -51,6 +48,9 @@ class UserQuerySet(models.QuerySet): def approvers(self): return self.filter(groups__name=APPROVER_GROUP_NAME, is_active=True) + def finances(self): + return self.filter(groups__name=FINANCE_GROUP_NAME, is_active=True) + def finances_level_1(self): return self.filter(groups__name=FINANCE_GROUP_NAME, is_active=True).exclude(groups__name=APPROVER_GROUP_NAME)