diff --git a/api/organisations/models.py b/api/organisations/models.py index b8161045ac36..a1d76c87c106 100644 --- a/api/organisations/models.py +++ b/api/organisations/models.py @@ -228,12 +228,12 @@ def get_portal_url(self, redirect_url): def get_subscription_metadata(self) -> BaseSubscriptionMetadata: metadata = None + if self.is_in_trial(): metadata = BaseSubscriptionMetadata( seats=self.max_seats, api_calls=self.max_api_calls ) - - if self.payment_method == CHARGEBEE and self.subscription_id: + elif self.payment_method == CHARGEBEE and self.subscription_id: if self.organisation.has_subscription_information_cache(): # Getting the data from the subscription information cache because # data is guaranteed to be up to date by using a Chargebee webhook. @@ -247,17 +247,14 @@ def get_subscription_metadata(self) -> BaseSubscriptionMetadata: metadata = get_subscription_metadata_from_id(self.subscription_id) elif self.payment_method == XERO and self.subscription_id: metadata = XeroSubscriptionMetadata( - seats=self.max_seats, api_calls=self.max_api_calls, projects=None - ) - - if not metadata: - metadata = BaseSubscriptionMetadata( - seats=self.max_seats, - api_calls=self.max_api_calls, - projects=MAX_PROJECTS_IN_FREE_PLAN, + seats=self.max_seats, api_calls=self.max_api_calls ) - return metadata + return metadata or BaseSubscriptionMetadata( + seats=self.max_seats, + api_calls=self.max_api_calls, + projects=MAX_PROJECTS_IN_FREE_PLAN, + ) def add_single_seat(self): if not self.can_auto_upgrade_seats: diff --git a/api/sales_dashboard/views.py b/api/sales_dashboard/views.py index 739a03dc4648..573018b6af8a 100644 --- a/api/sales_dashboard/views.py +++ b/api/sales_dashboard/views.py @@ -29,9 +29,6 @@ Organisation, OrganisationSubscriptionInformationCache, ) -from organisations.subscriptions.subscription_service import ( - get_subscription_metadata, -) from organisations.tasks import ( update_organisation_subscription_information_cache, update_organisation_subscription_information_influx_cache, @@ -123,7 +120,7 @@ def organisation_info(request, organisation_id): Organisation.objects.select_related("subscription"), pk=organisation_id ) template = loader.get_template("sales_dashboard/organisation.html") - subscription_metadata = get_subscription_metadata(organisation) + subscription_metadata = organisation.subscription.get_subscription_metadata() identity_count_dict = {} identity_migration_status_dict = {}