MOBILE-3819 core: Increase minimum Moodle version to 3.5

main
Dani Palou 2021-09-03 09:26:02 +02:00
parent c63ec5d8ae
commit d944cb1978
2 changed files with 17 additions and 17 deletions

View File

@ -65,14 +65,10 @@ export class CoreSite {
static readonly WS_CACHE_TABLE = 'wscache_2'; static readonly WS_CACHE_TABLE = 'wscache_2';
static readonly CONFIG_TABLE = 'core_site_config'; static readonly CONFIG_TABLE = 'core_site_config';
static readonly MINIMUM_MOODLE_VERSION = '3.1'; static readonly MINIMUM_MOODLE_VERSION = '3.5';
// Versions of Moodle releases. // Versions of Moodle releases.
protected readonly MOODLE_RELEASES = { static readonly MOODLE_RELEASES = {
'3.1': 2016052300,
'3.2': 2016120500,
'3.3': 2017051503,
'3.4': 2017111300,
'3.5': 2018051700, '3.5': 2018051700,
'3.6': 2018120300, '3.6': 2018120300,
'3.7': 2019052000, '3.7': 2019052000,
@ -495,6 +491,13 @@ export class CoreSite {
*/ */
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
async request<T = unknown>(method: string, data: any, preSets: CoreSiteWSPreSets, retrying?: boolean): Promise<T> { async request<T = unknown>(method: string, data: any, preSets: CoreSiteWSPreSets, retrying?: boolean): Promise<T> {
if (this.isLoggedOut()) {
// Site is logged out, it cannot call WebServices.
CoreEvents.trigger(CoreEvents.SESSION_EXPIRED, {}, this.id);
throw new CoreError(Translate.instant('core.lostconnection'));
}
const initialToken = this.token || ''; const initialToken = this.token || '';
data = data || {}; data = data || {};
@ -1812,12 +1815,12 @@ export class CoreSite {
return 0; return 0;
} }
if (typeof this.MOODLE_RELEASES[data.major] == 'undefined') { if (CoreSite.MOODLE_RELEASES[data.major] === undefined) {
// Major version not found. Use the last one. // Major version not found. Use the last one.
data.major = Object.keys(this.MOODLE_RELEASES).pop()!; data.major = Object.keys(CoreSite.MOODLE_RELEASES).pop()!;
} }
return this.MOODLE_RELEASES[data.major] + data.minor; return CoreSite.MOODLE_RELEASES[data.major] + data.minor;
} }
/** /**
@ -1847,7 +1850,7 @@ export class CoreSite {
*/ */
protected getNextMajorVersionNumber(version: string): number { protected getNextMajorVersionNumber(version: string): number {
const data = this.getMajorAndMinor(version); const data = this.getMajorAndMinor(version);
const releases = Object.keys(this.MOODLE_RELEASES); const releases = Object.keys(CoreSite.MOODLE_RELEASES);
if (!data) { if (!data) {
// Invalid version. // Invalid version.
@ -1858,10 +1861,10 @@ export class CoreSite {
if (position == -1 || position == releases.length - 1) { if (position == -1 || position == releases.length - 1) {
// Major version not found or it's the last one. Use the last one. // Major version not found or it's the last one. Use the last one.
return this.MOODLE_RELEASES[releases[position]]; return CoreSite.MOODLE_RELEASES[releases[position]];
} }
return this.MOODLE_RELEASES[releases[position + 1]]; return CoreSite.MOODLE_RELEASES[releases[position + 1]];
} }
/** /**

View File

@ -606,14 +606,11 @@ export class CoreSitesProvider {
return CoreSitesProvider.INVALID_VERSION; return CoreSitesProvider.INVALID_VERSION;
} }
const version31 = 2016052300;
const release31 = CoreSite.MINIMUM_MOODLE_VERSION;
// Try to validate by version. // Try to validate by version.
if (info.version) { if (info.version) {
const version = parseInt(info.version, 10); const version = parseInt(info.version, 10);
if (!isNaN(version)) { if (!isNaN(version)) {
if (version >= version31) { if (version >= CoreSite.MOODLE_RELEASES[CoreSite.MINIMUM_MOODLE_VERSION]) {
return this.validateWorkplaceVersion(info); return this.validateWorkplaceVersion(info);
} }
} }
@ -622,7 +619,7 @@ export class CoreSitesProvider {
// We couldn't validate by version number. Let's try to validate by release number. // We couldn't validate by version number. Let's try to validate by release number.
const release = this.getReleaseNumber(info.release || ''); const release = this.getReleaseNumber(info.release || '');
if (release) { if (release) {
if (release >= release31) { if (release >= CoreSite.MINIMUM_MOODLE_VERSION) {
return this.validateWorkplaceVersion(info); return this.validateWorkplaceVersion(info);
} }
} }