MOBILE-3269 quiz: Fix cannot read 'activerulenames' of undefined

main
Dani Palou 2020-03-18 15:57:25 +01:00
parent 02173db1b1
commit c6393b4a97
2 changed files with 5 additions and 4 deletions

View File

@ -111,9 +111,10 @@ export class AddonModQuizHelperProvider {
*/
getPreflightData(quiz: any, accessInfo: any, attempt: any, prefetch?: boolean, title?: string, siteId?: string): Promise<any> {
const notSupported: string[] = [];
const rules = accessInfo && accessInfo.activerulenames;
// Check if there is any unsupported rule.
accessInfo.activerulenames.forEach((rule) => {
rules.forEach((rule) => {
if (!this.accessRuleDelegate.isAccessRuleSupported(rule)) {
notSupported.push(rule);
}
@ -131,7 +132,7 @@ export class AddonModQuizHelperProvider {
attempt: attempt,
prefetch: !!prefetch,
siteId: siteId,
rules: accessInfo.activerulenames
rules: rules
});
modal.present();
@ -296,7 +297,7 @@ export class AddonModQuizHelperProvider {
validatePreflightData(quiz: any, accessInfo: any, preflightData: any, attempt: any, offline?: boolean, prefetch?: boolean,
siteId?: string): Promise<any> {
const rules = accessInfo.activerulenames;
const rules = accessInfo && accessInfo.activerulenames;
let promise;
if (attempt) {

View File

@ -160,7 +160,7 @@ export class AddonModQuizPrefetchHandler extends CoreCourseActivityPrefetchHandl
quiz, accessInfo, preflightData, attempt, false, true, title, siteId);
} else {
// Get some fixed preflight data from access rules (data that doesn't require user interaction).
const rules = accessInfo.activerulenames;
const rules = accessInfo && accessInfo.activerulenames;
promise = this.accessRuleDelegate.getFixedPreflightData(rules, quiz, preflightData, attempt, true, siteId).then(() => {
if (!attempt) {