From 8934e402e8313682ebdf570e1a746eef6ae39a62 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Tue, 28 Sep 2021 09:04:21 +0100 Subject: [PATCH] Make a model collection for organisations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes returning a user’s organisations consistent with how we return their services. --- app/models/organisation.py | 9 ++++++--- app/models/user.py | 7 ++----- 2 files changed, 8 insertions(+), 8 deletions(-) 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):