diff --git a/src/core/courses/providers/courses.ts b/src/core/courses/providers/courses.ts index 548069d07..d4e492aa8 100644 --- a/src/core/courses/providers/courses.ts +++ b/src/core/courses/providers/courses.ts @@ -555,6 +555,10 @@ export class CoreCoursesProvider { * @return {Promise} Promise resolved with administration options for each course. */ getUserAdministrationOptions(courseIds: number[], siteId?: string): Promise { + if (!courseIds || courseIds.length == 0) { + return Promise.resolve({}); + } + return this.sitesProvider.getSite(siteId).then((site) => { const params = { courseids: courseIds @@ -597,6 +601,10 @@ export class CoreCoursesProvider { * @return {Promise} Promise resolved with navigation options for each course. */ getUserNavigationOptions(courseIds: number[], siteId?: string): Promise { + if (!courseIds || courseIds.length == 0) { + return Promise.resolve({}); + } + return this.sitesProvider.getSite(siteId).then((site) => { const params = { courseids: courseIds diff --git a/src/core/grades/providers/helper.ts b/src/core/grades/providers/helper.ts index 764d6ee7f..958c187e6 100644 --- a/src/core/grades/providers/helper.ts +++ b/src/core/grades/providers/helper.ts @@ -85,6 +85,10 @@ export class CoreGradesHelperProvider { let content = String(tableRow[name].content); if (name == 'itemname') { + row['id'] = parseInt(tableRow[name].id.split('_')[1], 10); + row['colspan'] = tableRow[name].colspan; + row['rowspan'] = (tableRow['leader'] && tableRow['leader'].rowspan) || 1; + this.setRowIcon(row, content); row['rowclass'] = tableRow[name].class.indexOf('leveleven') < 0 ? 'odd' : 'even'; row['rowclass'] += tableRow[name].class.indexOf('hidden') >= 0 ? ' hidden' : ''; @@ -92,10 +96,6 @@ export class CoreGradesHelperProvider { content = content.replace(/<\/span>/gi, '\n'); content = this.textUtils.cleanTags(content); - - row['id'] = parseInt(tableRow[name].id.split('_')[1], 10); - row['colspan'] = tableRow[name].colspan; - row['rowspan'] = (tableRow['leader'] && tableRow['leader'].rowspan) || 1; name = 'gradeitem'; } else { content = this.textUtils.replaceNewLines(content, '
'); @@ -439,9 +439,17 @@ export class CoreGradesHelperProvider { row['image'] = this.courseProvider.getModuleIconSrc(module[1], this.domUtils.convertToElement(text).querySelector('img').getAttribute('src')); } - } else if (text.indexOf('src=') > -1) { - const src = text.match(/src="([^"]*)"/); - row['image'] = src[1]; + } else { + if (row['rowspan']) { + row['itemtype'] = 'category'; + row['icon'] = 'fa-folder'; + } else if (text.indexOf('src=') > -1) { + const src = text.match(/src="([^"]*)"/); + row['image'] = src[1]; + } else if (text.indexOf(' -1) { + const src = text.match(/class="fa-([^ ]*)"/); + row['icon'] = src[1]; + } } return row;