From b398b084b5e4a83166ca23b0f1aa233823a27a6a Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Fri, 22 Apr 2022 08:40:17 +0200 Subject: [PATCH] MOBILE-3833 module: Fix summary not loaded if cannot view grades --- .../module-summary/module-summary.ts | 34 ++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/core/features/course/components/module-summary/module-summary.ts b/src/core/features/course/components/module-summary/module-summary.ts index 89c7ef570..0fed98fd1 100644 --- a/src/core/features/course/components/module-summary/module-summary.ts +++ b/src/core/features/course/components/module-summary/module-summary.ts @@ -174,21 +174,35 @@ export class CoreCourseModuleSummaryComponent implements OnInit, OnDestroy { this.componentId = this.module.id; this.externalUrl = this.module.url; this.courseId = this.courseId || this.module.course; - - this.modicon = await CoreCourseModuleDelegate.getModuleIconSrc(this.module.modname, this.module.modicon, this.module); this.moduleNameTranslated = CoreCourse.translateModuleName(this.module.modname || ''); this.blog = await AddonBlog.isPluginEnabled(); - await Promise.all([ - this.getPackageStatus(), - this.fetchGrades(), - this.fetchCourse(), - ]); + try { + await Promise.all([ + this.loadModIcon(), + this.getPackageStatus(), + this.fetchGrades(), + this.fetchCourse(), + ]); + } catch (error) { + CoreDomUtils.showErrorModal(error); + } this.loaded = true; } + /** + * Load the module icon. + */ + protected async loadModIcon(): Promise { + if (!this.module) { + return; + } + + this.modicon = await CoreCourseModuleDelegate.getModuleIconSrc(this.module.modname, this.module.modicon, this.module); + } + /** * Updage package status. * @@ -235,7 +249,11 @@ export class CoreCourseModuleSummaryComponent implements OnInit, OnDestroy { return; } - this.grades = await CoreGradesHelper.getModuleGrades(this.courseId, this.moduleId); + try { + this.grades = await CoreGradesHelper.getModuleGrades(this.courseId, this.moduleId); + } catch { + // Cannot get grades, don't display them. + } } /**