diff --git a/src/addon/block/activitymodules/components/activitymodules/activitymodules.ts b/src/addon/block/activitymodules/components/activitymodules/activitymodules.ts
index 512e93b52..adc6e9173 100644
--- a/src/addon/block/activitymodules/components/activitymodules/activitymodules.ts
+++ b/src/addon/block/activitymodules/components/activitymodules/activitymodules.ts
@@ -16,7 +16,7 @@ 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';
 
@@ -29,7 +29,7 @@ import { CoreSitesProvider } from '@providers/sites';
 })
 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[] = [];
@@ -65,11 +65,7 @@ export class AddonBlockActivityModulesComponent extends CoreBlockBaseComponent i
      * @return Promise resolved when done.
      */
     protected fetchContent(): Promise<any> {
-        const courseId = this.contextLevel === 'course'
-            ? this.instanceId
-            : this.sitesProvider.getCurrentSiteHomeId();
-
-        return this.courseProvider.getSections(courseId, false, true).then((sections) => {
+        return this.courseProvider.getSections(this.getCourseId(), false, true).then((sections) => {
             this.entries = [];
 
             const archetypes = {},
@@ -127,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/core/constants.ts b/src/core/constants.ts
index de6898658..ac5a28de1 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',
+    Category = 'category',
+    Course = 'course',
+    ActivityModule = 'module',
+    Block = 'block',
+}
+
 /**
  * Static class to contain all the core constants.
  */