diff --git a/scripts/langindex.json b/scripts/langindex.json index 70cc0b1cc..fd706d2f8 100644 --- a/scripts/langindex.json +++ b/scripts/langindex.json @@ -461,6 +461,7 @@ "addon.mod_bigbluebuttonbn.view_message_session_started_at": "bigbluebuttonbn", "addon.mod_bigbluebuttonbn.view_message_viewer": "bigbluebuttonbn", "addon.mod_bigbluebuttonbn.view_message_viewers": "bigbluebuttonbn", + "addon.mod_bigbluebuttonbn.view_nojoin": "bigbluebuttonbn", "addon.mod_book.errorchapter": "book", "addon.mod_book.modulenameplural": "book", "addon.mod_book.navnexttitle": "book", diff --git a/src/addons/mod/bigbluebuttonbn/components/index/index.ts b/src/addons/mod/bigbluebuttonbn/components/index/index.ts index 33a5fe693..444de98c2 100644 --- a/src/addons/mod/bigbluebuttonbn/components/index/index.ts +++ b/src/addons/mod/bigbluebuttonbn/components/index/index.ts @@ -81,15 +81,23 @@ export class AddonModBBBIndexComponent extends CoreCourseModuleMainActivityCompo return; } - this.meetingInfo = await AddonModBBB.getMeetingInfo(this.bbb.id, this.groupId, { - cmId: this.module.id, - }); + try { + this.meetingInfo = await AddonModBBB.getMeetingInfo(this.bbb.id, this.groupId, { + cmId: this.module.id, + }); - if (this.meetingInfo.statusrunning && this.meetingInfo.userlimit > 0) { - const count = (this.meetingInfo.participantcount || 0) + (this.meetingInfo.moderatorcount || 0); - if (count === this.meetingInfo.userlimit) { - this.meetingInfo.statusmessage = Translate.instant('addon.mod_bigbluebuttonbn.userlimitreached'); + if (this.meetingInfo.statusrunning && this.meetingInfo.userlimit > 0) { + const count = (this.meetingInfo.participantcount || 0) + (this.meetingInfo.moderatorcount || 0); + if (count === this.meetingInfo.userlimit) { + this.meetingInfo.statusmessage = Translate.instant('addon.mod_bigbluebuttonbn.userlimitreached'); + } } + } catch (error) { + if (error && error.errorcode === 'restrictedcontextexception') { + error.message = Translate.instant('addon.mod_bigbluebuttonbn.view_nojoin'); + } + + throw error; } } diff --git a/src/addons/mod/bigbluebuttonbn/lang.json b/src/addons/mod/bigbluebuttonbn/lang.json index 959a678e0..380c2a357 100644 --- a/src/addons/mod/bigbluebuttonbn/lang.json +++ b/src/addons/mod/bigbluebuttonbn/lang.json @@ -14,5 +14,6 @@ "view_message_moderators": "moderators", "view_message_session_started_at": "This session started at", "view_message_viewer": "viewer", - "view_message_viewers": "viewers" + "view_message_viewers": "viewers", + "view_nojoin": "You do not have a role that is allowed to join this session." }