From 5a9a7b1a1109a4590606b4965124a119c91afc32 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Fri, 21 Jun 2019 08:13:22 +0200 Subject: [PATCH] MOBILE-1927 calendar: Display group name in event --- src/addon/calendar/pages/event/event.html | 4 ++++ src/addon/calendar/pages/event/event.ts | 20 +++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/addon/calendar/pages/event/event.html b/src/addon/calendar/pages/event/event.html index 3c40c931a..d823697c6 100644 --- a/src/addon/calendar/pages/event/event.html +++ b/src/addon/calendar/pages/event/event.html @@ -26,6 +26,10 @@

{{ 'core.course' | translate}}

+ +

{{ 'core.group' | translate}}

+

{{ groupName }}

+

{{ 'core.category' | translate}}

diff --git a/src/addon/calendar/pages/event/event.ts b/src/addon/calendar/pages/event/event.ts index ece9ca7bf..77d4bce09 100644 --- a/src/addon/calendar/pages/event/event.ts +++ b/src/addon/calendar/pages/event/event.ts @@ -24,6 +24,7 @@ import { CoreSitesProvider } from '@providers/sites'; import { CoreLocalNotificationsProvider } from '@providers/local-notifications'; import { CoreCourseProvider } from '@core/course/providers/course'; import { CoreTimeUtilsProvider } from '@providers/utils/time'; +import { CoreGroupsProvider } from '@providers/groups'; /** * Page that displays a single calendar event. @@ -46,6 +47,7 @@ export class AddonCalendarEventPage { event: any = {}; title: string; courseName: string; + groupName: string; courseUrl = ''; notificationsEnabled = false; moduleUrl = ''; @@ -58,7 +60,8 @@ export class AddonCalendarEventPage { private domUtils: CoreDomUtilsProvider, private coursesProvider: CoreCoursesProvider, private calendarHelper: AddonCalendarHelperProvider, private sitesProvider: CoreSitesProvider, localNotificationsProvider: CoreLocalNotificationsProvider, private courseProvider: CoreCourseProvider, - private textUtils: CoreTextUtilsProvider, private timeUtils: CoreTimeUtilsProvider) { + private textUtils: CoreTextUtilsProvider, private timeUtils: CoreTimeUtilsProvider, + private groupsProvider: CoreGroupsProvider) { this.eventId = navParams.get('id'); this.notificationsEnabled = localNotificationsProvider.isAvailable(); @@ -165,6 +168,21 @@ export class AddonCalendarEventPage { })); } + // If it's a group event, get the name of the group. + const courseId = canGetById && event.course ? event.course.id : event.courseid; + if (courseId && event.groupid) { + promises.push(this.groupsProvider.getUserGroupsInCourse(event.courseid).then((groups) => { + const group = groups.find((group) => { + return group.id == event.groupid; + }); + + this.groupName = group ? group.name : ''; + }).catch(() => { + // Error getting groups, just don't show the group name. + this.groupName = ''; + })); + } + if (canGetById && event.iscategoryevent) { this.categoryPath = event.category.nestedname; }