Move some methods from the API client to the model

They make more sense being on the model, and it doesn’t make any sense
to duplicate them.
This commit is contained in:
Chris Hill-Scott
2019-06-07 09:14:14 +01:00
parent b233e3ca24
commit 88e36d6841
4 changed files with 8 additions and 15 deletions

View File

@@ -222,7 +222,7 @@ def submit_request_to_go_live(service_id):
volume_sms_formatted=format_if_number(current_service.volume_sms),
volume_letter_formatted=format_if_number(current_service.volume_letter),
research_consent='Yes' if current_service.consent_to_research else 'No',
existing_live='Yes' if user_api_client.user_has_live_services(current_user) else 'No',
existing_live='Yes' if current_user.live_services else 'No',
email_address=current_user.email_address,
),
ticket_type=zendesk_client.TYPE_QUESTION,

View File

@@ -402,7 +402,7 @@ def copy_template(service_id, template_id):
form=form,
template=template,
heading_action='Add',
services=user_api_client.get_service_ids_for_user(current_user),
services=current_user.all_service_ids,
)

View File

@@ -241,6 +241,12 @@ class User(JSONModel, UserMixin):
def all_services(self):
return user_api_client.get_services_for_user(self.id)
@property
def all_service_ids(self):
return {
service['id'] for service in self.all_services
}
@property
def trial_mode_services(self):
return [

View File

@@ -195,18 +195,5 @@ class UserApiClient(NotifyAdminAPIClient):
), [])
return sorted(all_services, key=lambda service: service['name'])
def user_has_live_services(self, user):
return any(
not service['restricted'] for service in self.get_services_for_user(user)
)
def get_service_ids_for_user(self, user):
return {
service['id'] for service in self.get_services_for_user(user)
}
def user_belongs_to_service(self, user, service_id):
return str(service_id) in self.get_service_ids_for_user(user)
user_api_client = UserApiClient()