diff --git a/app/models/organisation.py b/app/models/organisation.py index 4dfacfc8e..bfb0fe9f2 100644 --- a/app/models/organisation.py +++ b/app/models/organisation.py @@ -1,7 +1,7 @@ from flask import abort from werkzeug.utils import cached_property -from app.models import JSONModel, ModelList +from app.models import JSONModel, ModelList, SerialisedModelCollection from app.notify_client.email_branding_client import email_branding_client from app.notify_client.letter_branding_client import letter_branding_client from app.notify_client.organisations_api_client import organisations_client @@ -204,6 +204,9 @@ class Organisation(JSONModel): return organisations_client.get_services_and_usage(self.id, financial_year) -class AllOrganisations(ModelList): - client_method = organisations_client.get_organisations +class Organisations(SerialisedModelCollection): model = Organisation + + +class AllOrganisations(ModelList, Organisations): + client_method = organisations_client.get_organisations diff --git a/app/models/user.py b/app/models/user.py index fe427fc54..ce7e41842 100644 --- a/app/models/user.py +++ b/app/models/user.py @@ -11,7 +11,7 @@ from app.event_handlers import ( create_set_user_permissions_event, ) from app.models import JSONModel, ModelList -from app.models.organisation import Organisation +from app.models.organisation import Organisation, Organisations from app.models.webauthn_credential import WebAuthnCredentials from app.notify_client import InviteTokenError from app.notify_client.invite_api_client import invite_api_client @@ -320,10 +320,7 @@ class User(JSONModel, UserMixin): @property def organisations(self): - return [ - Organisation(organisation) - for organisation in self.orgs_and_services['organisations'] - ] + return Organisations(self.orgs_and_services['organisations']) @property def organisation_ids(self):