diff --git a/src/addon/block/activitymodules/components/activitymodules/activitymodules.ts b/src/addon/block/activitymodules/components/activitymodules/activitymodules.ts index 566ddc0b8..b46a9b366 100644 --- a/src/addon/block/activitymodules/components/activitymodules/activitymodules.ts +++ b/src/addon/block/activitymodules/components/activitymodules/activitymodules.ts @@ -16,8 +16,9 @@ import { Component, OnInit, Injector, Input } from '@angular/core'; import { CoreCourseProvider } from '@core/course/providers/course'; import { CoreCourseModuleDelegate } from '@core/course/providers/module-delegate'; import { CoreBlockBaseComponent } from '@core/block/classes/base-block-component'; -import { CoreConstants } from '@core/constants'; +import { CoreConstants, ContextLevel } from '@core/constants'; import { TranslateService } from '@ngx-translate/core'; +import { CoreSitesProvider } from '@providers/sites'; /** * Component to render an "activity modules" block. @@ -28,7 +29,7 @@ import { TranslateService } from '@ngx-translate/core'; }) export class AddonBlockActivityModulesComponent extends CoreBlockBaseComponent implements OnInit { @Input() block: any; // The block to render. - @Input() contextLevel: string; // The context where the block will be used. + @Input() contextLevel: ContextLevel; // The context where the block will be used. @Input() instanceId: number; // The instance ID associated with the context level. entries: any[] = []; @@ -36,7 +37,8 @@ export class AddonBlockActivityModulesComponent extends CoreBlockBaseComponent i protected fetchContentDefaultError = 'Error getting activity modules data.'; constructor(injector: Injector, protected courseProvider: CoreCourseProvider, - protected translate: TranslateService, protected moduleDelegate: CoreCourseModuleDelegate) { + protected translate: TranslateService, protected moduleDelegate: CoreCourseModuleDelegate, + protected sitesProvider: CoreSitesProvider) { super(injector, 'AddonBlockActivityModulesComponent'); } @@ -63,8 +65,7 @@ export class AddonBlockActivityModulesComponent extends CoreBlockBaseComponent i * @return Promise resolved when done. */ protected fetchContent(): Promise { - return this.courseProvider.getSections(this.instanceId, false, true).then((sections) => { - + return this.courseProvider.getSections(this.getCourseId(), false, true).then((sections) => { this.entries = []; const archetypes = {}, @@ -122,4 +123,18 @@ export class AddonBlockActivityModulesComponent extends CoreBlockBaseComponent i } }); } + + /** + * Obtain the appropiate course id for the block. + * + * @return Course id. + */ + protected getCourseId(): number { + switch (this.contextLevel) { + case ContextLevel.COURSE: + return this.instanceId; + default: + return this.sitesProvider.getCurrentSiteHomeId(); + } + } } diff --git a/src/addon/calendar/pages/event/event.html b/src/addon/calendar/pages/event/event.html index 704a23bec..63f53e1e6 100644 --- a/src/addon/calendar/pages/event/event.html +++ b/src/addon/calendar/pages/event/event.html @@ -60,7 +60,7 @@

{{ 'core.category' | translate}}

-

+

{{ 'core.description' | translate}}

diff --git a/src/addon/calendar/providers/helper.ts b/src/addon/calendar/providers/helper.ts index 976c21431..a6bed59b5 100644 --- a/src/addon/calendar/providers/helper.ts +++ b/src/addon/calendar/providers/helper.ts @@ -144,7 +144,7 @@ export class AddonCalendarHelperProvider { courseId = e.course ? e.course.id : e.courseid; if (categoryId > 0) { - e.contextLevel = 'category'; + e.contextLevel = 'coursecat'; e.contextInstanceId = categoryId; } else if (courseId > 0) { e.contextLevel = 'course'; diff --git a/src/core/constants.ts b/src/core/constants.ts index de6898658..c9784ccc3 100644 --- a/src/core/constants.ts +++ b/src/core/constants.ts @@ -12,6 +12,18 @@ // See the License for the specific language governing permissions and // limitations under the License. +/** + * Context levels enumeration. + */ +export const enum ContextLevel { + SYSTEM = 'system', + USER = 'user', + COURSECAT = 'coursecat', + COURSE = 'course', + MODULE = 'module', + BLOCK = 'block', +} + /** * Static class to contain all the core constants. */