From 48b5233a84e834d697c33a413741c2ea9162816c Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Wed, 30 Jan 2019 09:39:28 +0100 Subject: [PATCH] MOBILE-2114 scorm: Fix convert attempt to offline JS error --- src/addon/mod/scorm/providers/scorm-offline.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/addon/mod/scorm/providers/scorm-offline.ts b/src/addon/mod/scorm/providers/scorm-offline.ts index 910628d46..b8cdc1d43 100644 --- a/src/addon/mod/scorm/providers/scorm-offline.ts +++ b/src/addon/mod/scorm/providers/scorm-offline.ts @@ -430,6 +430,8 @@ export class AddonModScormOfflineProvider { * @return {{[scoId: number]: string}} Launch URLs indexed by SCO ID. */ protected getLaunchUrlsFromScos(scos: any[]): {[scoId: number]: string} { + scos = scos || []; + const response = {}; scos.forEach((sco) => { @@ -487,12 +489,15 @@ export class AddonModScormOfflineProvider { * * @param {number} scormId SCORM ID. * @param {number} attempt Attempt number. - * @param {any[]} scos SCOs returned by AddonModScormProvider.getScos. + * @param {any[]} scos SCOs returned by AddonModScormProvider.getScos. If not supplied, this function will only return the + * SCOs that have something stored and cmi.launch_data will be undefined. * @param {string} [siteId] Site ID. If not defined, current site. * @param {number} [userId] User ID. If not defined use site's current user. * @return {Promise} Promise resolved when the user data is retrieved. */ getScormUserData(scormId: number, attempt: number, scos: any[], siteId?: string, userId?: number): Promise { + scos = scos || []; + let fullName = '', userName = '';