mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-08 19:13:11 -04:00
Refactor team members into the model
Follows the pattern we’re using elsewhere of having less logic in the view methods.
This commit is contained in:
@@ -18,19 +18,11 @@ from app.utils import user_has_permissions
|
|||||||
@login_required
|
@login_required
|
||||||
@user_has_permissions()
|
@user_has_permissions()
|
||||||
def manage_users(service_id):
|
def manage_users(service_id):
|
||||||
users = sorted(
|
|
||||||
(
|
|
||||||
user_api_client.get_users_for_service(service_id=service_id) +
|
|
||||||
invite_api_client.get_invites_for_service(service_id=service_id)
|
|
||||||
),
|
|
||||||
key=lambda user: user.email_address,
|
|
||||||
)
|
|
||||||
|
|
||||||
return render_template(
|
return render_template(
|
||||||
'views/manage-users.html',
|
'views/manage-users.html',
|
||||||
users=users,
|
users=current_service.team_members,
|
||||||
current_user=current_user,
|
current_user=current_user,
|
||||||
show_search_box=(len(users) > 7),
|
show_search_box=(len(current_service.team_members) > 7),
|
||||||
form=SearchUsersForm(),
|
form=SearchUsersForm(),
|
||||||
permissions=permissions,
|
permissions=permissions,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ from app.notify_client.api_key_api_client import api_key_api_client
|
|||||||
from app.notify_client.billing_api_client import billing_api_client
|
from app.notify_client.billing_api_client import billing_api_client
|
||||||
from app.notify_client.email_branding_client import email_branding_client
|
from app.notify_client.email_branding_client import email_branding_client
|
||||||
from app.notify_client.inbound_number_client import inbound_number_client
|
from app.notify_client.inbound_number_client import inbound_number_client
|
||||||
|
from app.notify_client.invite_api_client import invite_api_client
|
||||||
from app.notify_client.job_api_client import job_api_client
|
from app.notify_client.job_api_client import job_api_client
|
||||||
from app.notify_client.organisations_api_client import organisations_client
|
from app.notify_client.organisations_api_client import organisations_client
|
||||||
from app.notify_client.service_api_client import service_api_client
|
from app.notify_client.service_api_client import service_api_client
|
||||||
@@ -98,6 +99,16 @@ class Service():
|
|||||||
def has_jobs(self):
|
def has_jobs(self):
|
||||||
return job_api_client.has_jobs(self.id)
|
return job_api_client.has_jobs(self.id)
|
||||||
|
|
||||||
|
@cached_property
|
||||||
|
def team_members(self):
|
||||||
|
return list(sorted(
|
||||||
|
(
|
||||||
|
invite_api_client.get_invites_for_service(service_id=self.id) +
|
||||||
|
user_api_client.get_users_for_service(service_id=self.id)
|
||||||
|
),
|
||||||
|
key=lambda user: user.email_address,
|
||||||
|
))
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def has_team_members(self):
|
def has_team_members(self):
|
||||||
return user_api_client.get_count_of_users_with_permission(
|
return user_api_client.get_count_of_users_with_permission(
|
||||||
|
|||||||
Reference in New Issue
Block a user