Skip to content

Commit 38ae12f

Browse files
committed
MOBILE-4639 badges: Use ccourse full name returned by WS
1 parent 24fddd8 commit 38ae12f

File tree

3 files changed

+12
-10
lines changed

3 files changed

+12
-10
lines changed

src/addons/badges/pages/issued-badge/issued-badge.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,11 @@ <h2>{{ 'addon.badges.badgedetails' | translate}}</h2>
111111
<p>{{ badge.imagecaption }}</p>
112112
</ion-label>
113113
</ion-item>
114-
<ion-item class="ion-text-wrap" *ngIf="course">
114+
<ion-item class="ion-text-wrap" *ngIf="badge.coursefullname">
115115
<ion-label>
116116
<p class="item-heading">{{ 'core.course' | translate}}</p>
117117
<p>
118-
<core-format-text [text]="course.fullname" contextLevel="course" [contextInstanceId]="courseId" />
118+
<core-format-text [text]="badge.coursefullname" contextLevel="course" [contextInstanceId]="badge.courseid" />
119119
</p>
120120
</ion-label>
121121
</ion-item>

src/addons/badges/pages/issued-badge/issued-badge.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { CoreSites } from '@services/sites';
1919
import { CoreUser } from '@features/user/services/user';
2020
import { AddonBadges, AddonBadgesUserBadge } from '../../services/badges';
2121
import { CoreUtils } from '@services/utils/utils';
22-
import { CoreCourses, CoreEnrolledCourseData } from '@features/courses/services/courses';
22+
import { CoreCourses } from '@features/courses/services/courses';
2323
import { CoreNavigator } from '@services/navigator';
2424
import { ActivatedRoute } from '@angular/router';
2525
import { CoreSwipeNavigationItemsManager } from '@classes/items-management/swipe-navigation-items-manager';
@@ -30,7 +30,7 @@ import { CoreTime } from '@singletons/time';
3030
import { CoreSharedModule } from '@/core/shared.module';
3131

3232
/**
33-
* Page that displays the list of calendar events.
33+
* Page that displays an issued badge.
3434
*/
3535
@Component({
3636
selector: 'page-addon-badges-issued-badge',
@@ -47,7 +47,6 @@ export class AddonBadgesIssuedBadgePage implements OnInit, OnDestroy {
4747
protected logView: (badge: AddonBadgesUserBadge) => void;
4848

4949
courseId = 0;
50-
course?: CoreEnrolledCourseData;
5150
badge?: AddonBadgesUserBadge;
5251
badges?: CoreSwipeNavigationItemsManager;
5352
badgeLoaded = false;
@@ -128,16 +127,18 @@ export class AddonBadgesIssuedBadgePage implements OnInit, OnDestroy {
128127
}
129128
}
130129

131-
this.badge = badge;
132-
if (badge.courseid) {
130+
// Try to get course full name if not returned by the WS.
131+
if (badge.courseid && !badge.coursefullname) {
133132
try {
134-
this.course = await CoreCourses.getUserCourse(badge.courseid, true);
133+
const course = await CoreCourses.getUserCourse(badge.courseid, true);
134+
badge.coursefullname = course.fullname;
135135
} catch {
136-
// Maybe an old deleted course.
137-
this.course = undefined;
136+
// User is not enrolled in the course.
138137
}
139138
}
140139

140+
this.badge = badge;
141+
141142
this.logView(badge);
142143
} catch (message) {
143144
CoreDomUtils.showErrorModalDefault(message, 'Error getting badge data.');

src/addons/badges/services/badges.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ export type AddonBadgesUserBadge = {
215215
expireperiod?: number; // Expire period.
216216
type?: number; // Type.
217217
courseid?: number; // Course id.
218+
coursefullname?: string; // Full name of the course.
218219
message?: string; // Message.
219220
messagesubject?: string; // Message subject.
220221
attachment?: number; // Attachment.

0 commit comments

Comments
 (0)