Skip to content

Commit ba490f4

Browse files
authored
Merge pull request #2451 from dpalou/MOBILE-3475
MOBILE-3475 core: Prevent errors when calling isVersionGreaterEqualThan
2 parents b43b6d8 + cc1b4ac commit ba490f4

File tree

17 files changed

+35
-22
lines changed

17 files changed

+35
-22
lines changed

src/addon/block/myoverview/providers/block-handler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export class AddonBlockMyOverviewHandler extends CoreBlockBaseHandler {
3737
* @return Whether or not the handler is enabled on a site level.
3838
*/
3939
isEnabled(): boolean | Promise<boolean> {
40-
return this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.6') ||
40+
return (this.sitesProvider.getCurrentSite() && this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.6')) ||
4141
!this.coursesProvider.isMyCoursesDisabledInSite();
4242
}
4343

src/addon/block/timeline/providers/block-handler.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ export class AddonBlockTimelineHandler extends CoreBlockBaseHandler {
4141
*/
4242
isEnabled(): boolean | Promise<boolean> {
4343
return this.timelineProvider.isAvailable().then((enabled) => {
44-
return enabled && (this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.6') ||
44+
const currentSite = this.sitesProvider.getCurrentSite();
45+
46+
return enabled && ((currentSite && currentSite.isVersionGreaterEqualThan('3.6')) ||
4547
!this.coursesProvider.isMyCoursesDisabledInSite());
4648
});
4749
}

src/addon/calendar/providers/calendar.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ export class AddonCalendarProvider {
393393
site = site || this.sitesProvider.getCurrentSite();
394394

395395
// The WS to create/edit events requires a fix that was integrated in 3.7.1.
396-
return site.isVersionGreaterEqualThan('3.7.1');
396+
return site && site.isVersionGreaterEqualThan('3.7.1');
397397
}
398398

399399
/**

src/addon/filter/multilang/providers/handler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,6 @@ export class AddonFilterMultilangHandler extends CoreFilterDefaultHandler {
8383
*/
8484
shouldBeApplied(options: CoreFilterFormatTextOptions, site?: CoreSite): boolean {
8585
// The filter should be applied if site is older than 3.7 or the WS didn't filter the text.
86-
return options.wsNotFiltered || !site.isVersionGreaterEqualThan('3.7');
86+
return options.wsNotFiltered || (site && !site.isVersionGreaterEqualThan('3.7'));
8787
}
8888
}

src/addon/mod/assign/components/index/index.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,10 @@ export class AddonModAssignIndexComponent extends CoreCourseModuleMainActivityCo
207207

208208
// Check if groupmode is enabled to avoid showing wrong numbers.
209209
return this.groupsProvider.getActivityGroupInfo(this.assign.cmid, false).then((groupInfo) => {
210+
const currentSite = this.sitesProvider.getCurrentSite();
210211
this.groupInfo = groupInfo;
211212
this.showNumbers = groupInfo.groups.length == 0 ||
212-
this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.5');
213+
(currentSite && currentSite.isVersionGreaterEqualThan('3.5'));
213214

214215
return this.setGroup(this.groupsProvider.validateGroupId(this.group, groupInfo));
215216
});
@@ -258,8 +259,10 @@ export class AddonModAssignIndexComponent extends CoreCourseModuleMainActivityCo
258259
}
259260
}
260261

262+
const currentSite = this.sitesProvider.getCurrentSite();
263+
261264
this.needsGradingAvalaible = response.gradingsummary && response.gradingsummary.submissionsneedgradingcount > 0 &&
262-
this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.2');
265+
currentSite && currentSite.isVersionGreaterEqualThan('3.2');
263266
});
264267
}
265268

src/addon/mod/assign/submission/onlinetext/providers/handler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ export class AddonModAssignSubmissionOnlineTextHandler implements AddonModAssign
225225
// Bug was fixed in 3.1.1 minor release and in 3.2.
226226
const currentSite = this.sitesProvider.getCurrentSite();
227227

228-
return currentSite.isVersionGreaterEqualThan('3.1.1') || currentSite.checkIfAppUsesLocalMobile();
228+
return currentSite && (currentSite.isVersionGreaterEqualThan('3.1.1') || currentSite.checkIfAppUsesLocalMobile());
229229
}
230230

231231
/**

src/addon/mod/forum/providers/forum.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,8 @@ export class AddonModForumProvider {
291291
* @return True if fixed, false otherwise.
292292
*/
293293
isAllParticipantsFixed(): boolean {
294-
return this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan(['3.1.5', '3.2.2']);
294+
return this.sitesProvider.getCurrentSite() &&
295+
this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan(['3.1.5', '3.2.2']);
295296
}
296297

297298
/**
@@ -543,7 +544,7 @@ export class AddonModForumProvider {
543544
isDiscussionListSortingAvailable(site?: CoreSite): boolean {
544545
site = site || this.sitesProvider.getCurrentSite();
545546

546-
return site.isVersionGreaterEqualThan('3.7');
547+
return site && site.isVersionGreaterEqualThan('3.7');
547548
}
548549

549550
/**

src/addon/mod/forum/providers/prefetch-handler.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ export class AddonModForumPrefetchHandler extends CoreCourseActivityPrefetchHand
8787
*/
8888
protected getPostsFiles(posts: any[]): any[] {
8989
let files = [];
90-
const getInlineFiles = this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.2');
90+
const getInlineFiles = this.sitesProvider.getCurrentSite() &&
91+
this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.2');
9192

9293
posts.forEach((post) => {
9394
if (post.attachments && post.attachments.length) {

src/addon/mod/glossary/providers/prefetch-handler.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@ export class AddonModGlossaryPrefetchHandler extends CoreCourseActivityPrefetchH
8686
*/
8787
protected getFilesFromGlossaryAndEntries(module: any, glossary: any, entries: any[]): any[] {
8888
let files = this.getIntroFilesFromInstance(module, glossary);
89-
const getInlineFiles = this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.2');
89+
const getInlineFiles = this.sitesProvider.getCurrentSite() &&
90+
this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.2');
9091

9192
// Get entries files.
9293
entries.forEach((entry) => {

src/addon/mod/quiz/providers/prefetch-handler.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,9 @@ export class AddonModQuizPrefetchHandler extends CoreCourseActivityPrefetchHandl
110110
*/
111111
protected getAttemptsFeedbackFiles(quiz: any, attempts: any[]): Promise<any[]> {
112112
// We have quiz data, now we'll get specific data for each attempt.
113-
const promises = [],
114-
getInlineFiles = this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.2');
113+
const promises = [];
114+
const getInlineFiles = this.sitesProvider.getCurrentSite() &&
115+
this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.2');
115116
let files = [];
116117

117118
attempts.forEach((attempt) => {

0 commit comments

Comments
 (0)