From 101294349e9d62fbeddd29e4d93eb27dbeac97f9 Mon Sep 17 00:00:00 2001 From: Alfonso Salces Date: Wed, 22 Feb 2023 12:50:06 +0100 Subject: [PATCH 1/6] MOBILE-4245 config: Add sites config list --- moodle.config.json | 3 +- src/core/classes/site.ts | 15 ++++--- .../login/pages/credentials/credentials.ts | 6 +-- .../login/pages/email-signup/email-signup.ts | 3 +- .../login/pages/reconnect/reconnect.html | 6 +-- .../login/pages/reconnect/reconnect.ts | 7 ++-- src/core/features/login/pages/site/site.ts | 4 +- .../features/login/services/login-helper.ts | 39 +++++++++---------- .../settings/pages/deviceinfo/deviceinfo.ts | 7 ++-- src/core/services/sites.ts | 2 +- src/core/services/update-manager.ts | 2 +- src/types/config.d.ts | 3 +- 12 files changed, 49 insertions(+), 48 deletions(-) diff --git a/moodle.config.json b/moodle.config.json index 061b6a3ed..b61f913ea 100644 --- a/moodle.config.json +++ b/moodle.config.json @@ -85,8 +85,7 @@ "high": 120 }, "customurlscheme": "moodlemobile", - "siteurl": "", - "sitename": "", + "sites": [], "multisitesdisplay": "", "sitefindersettings": {}, "onlyallowlistedsites": false, diff --git a/src/core/classes/site.ts b/src/core/classes/site.ts index 6fffa7b91..88a110585 100644 --- a/src/core/classes/site.ts +++ b/src/core/classes/site.ts @@ -61,6 +61,7 @@ import { finalize, map, mergeMap } from 'rxjs/operators'; import { firstValueFrom } from '../utils/rxjs'; import { CoreSiteError } from '@classes/errors/siteerror'; import { CoreUserAuthenticatedSupportConfig } from '@features/user/classes/support/authenticated-support-config'; +import { CoreLoginHelper } from '@features/login/services/login-helper'; /** * QR Code type enumeration. @@ -290,12 +291,16 @@ export class CoreSite { * @returns Site name. */ getSiteName(): string { - if (CoreConstants.CONFIG.sitename) { - // Overridden by config. - return CoreConstants.CONFIG.sitename; - } else { - return this.infos?.sitename || ''; + if (this.infos?.sitename) { + return this.infos?.sitename; } + + // Fallback. + if (CoreLoginHelper.isUniqueFixedSite()) { + return CoreConstants.CONFIG.sites[0].name ; + } + + return ''; } /** diff --git a/src/core/features/login/pages/credentials/credentials.ts b/src/core/features/login/pages/credentials/credentials.ts index 5841c1e7e..95a6ca7af 100644 --- a/src/core/features/login/pages/credentials/credentials.ts +++ b/src/core/features/login/pages/credentials/credentials.ts @@ -56,7 +56,6 @@ export class CoreLoginCredentialsPage implements OnInit, OnDestroy { identityProviders?: CoreSiteIdentityProvider[]; pageLoaded = false; isBrowserSSO = false; - isFixedUrlSet = false; showForgottenPassword = true; showScanQR = false; loginAttempts = 0; @@ -99,9 +98,8 @@ export class CoreLoginCredentialsPage implements OnInit, OnDestroy { if (this.siteConfig) { this.treatSiteConfig(); } - this.isFixedUrlSet = CoreLoginHelper.isFixedUrlSet(); - if (this.isFixedUrlSet || !this.siteConfig) { + if (CoreLoginHelper.isUniqueFixedSite() || !this.siteConfig) { // Fixed URL or not siteConfig retrieved from params, we need to check if it uses browser SSO login. this.checkSite(this.siteUrl, true); } else { @@ -200,7 +198,7 @@ export class CoreLoginCredentialsPage implements OnInit, OnDestroy { */ protected treatSiteConfig(): void { if (this.siteConfig) { - this.siteName = CoreConstants.CONFIG.sitename ? CoreConstants.CONFIG.sitename : this.siteConfig.sitename; + this.siteName = this.siteConfig.sitename; this.logoUrl = CoreLoginHelper.getLogoUrl(this.siteConfig); this.authInstructions = this.siteConfig.authinstructions || Translate.instant('core.login.loginsteps'); this.showScanQR = CoreLoginHelper.displayQRInCredentialsScreen(this.siteConfig.tool_mobile_qrcodetype); diff --git a/src/core/features/login/pages/email-signup/email-signup.ts b/src/core/features/login/pages/email-signup/email-signup.ts index ca3879c07..253d20fdc 100644 --- a/src/core/features/login/pages/email-signup/email-signup.ts +++ b/src/core/features/login/pages/email-signup/email-signup.ts @@ -20,7 +20,6 @@ import { CoreDomUtils } from '@services/utils/dom'; import { CoreTextUtils } from '@services/utils/text'; import { CoreCountry, CoreUtils } from '@services/utils/utils'; import { CoreWS, CoreWSExternalWarning } from '@services/ws'; -import { CoreConstants } from '@/core/constants'; import { Translate } from '@singletons'; import { CoreSitePublicConfigResponse } from '@classes/site'; import { CoreUserProfileFieldDelegate } from '@features/user/services/user-profile-field-delegate'; @@ -235,7 +234,7 @@ export class CoreLoginEmailSignupPage implements OnInit { */ protected treatSiteConfig(): boolean { if (this.siteConfig?.registerauth == 'email' && !CoreLoginHelper.isEmailSignupDisabled(this.siteConfig)) { - this.siteName = CoreConstants.CONFIG.sitename ? CoreConstants.CONFIG.sitename : this.siteConfig.sitename; + this.siteName = this.siteConfig.sitename; this.authInstructions = this.siteConfig.authinstructions; this.ageDigitalConsentVerification = this.siteConfig.agedigitalconsentverification; this.supportName = this.siteConfig.supportname; diff --git a/src/core/features/login/pages/reconnect/reconnect.html b/src/core/features/login/pages/reconnect/reconnect.html index 453423f4a..588e1e18e 100644 --- a/src/core/features/login/pages/reconnect/reconnect.html +++ b/src/core/features/login/pages/reconnect/reconnect.html @@ -18,12 +18,12 @@
-
+
- {{ 'core.pictureof' | translate:{$a: userFullName} }} -