MOBILE-3002 block: Check if blocks are disabled in courses
parent
a549e70d5f
commit
03b305662e
|
@ -16,6 +16,7 @@ import { Injectable, Injector } from '@angular/core';
|
||||||
import { CoreCourseOptionsHandler, CoreCourseOptionsHandlerData } from '@core/course/providers/options-delegate';
|
import { CoreCourseOptionsHandler, CoreCourseOptionsHandlerData } from '@core/course/providers/options-delegate';
|
||||||
import { CoreCourseProvider } from '@core/course/providers/course';
|
import { CoreCourseProvider } from '@core/course/providers/course';
|
||||||
import { CoreBlockCourseBlocksComponent } from '../components/course-blocks/course-blocks';
|
import { CoreBlockCourseBlocksComponent } from '../components/course-blocks/course-blocks';
|
||||||
|
import { CoreBlockDelegate } from './delegate';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Course nav handler.
|
* Course nav handler.
|
||||||
|
@ -25,7 +26,7 @@ export class CoreBlockCourseBlocksCourseOptionHandler implements CoreCourseOptio
|
||||||
name = 'CoreCourseBlocks';
|
name = 'CoreCourseBlocks';
|
||||||
priority = 700;
|
priority = 700;
|
||||||
|
|
||||||
constructor(private courseProvider: CoreCourseProvider) {}
|
constructor(private courseProvider: CoreCourseProvider, private blockDelegate: CoreBlockDelegate) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Should invalidate the data to determine if the handler is enabled for a certain course.
|
* Should invalidate the data to determine if the handler is enabled for a certain course.
|
||||||
|
@ -45,7 +46,7 @@ export class CoreBlockCourseBlocksCourseOptionHandler implements CoreCourseOptio
|
||||||
* @return {boolean} Whether or not the handler is enabled on a site level.
|
* @return {boolean} Whether or not the handler is enabled on a site level.
|
||||||
*/
|
*/
|
||||||
isEnabled(): boolean | Promise<boolean> {
|
isEnabled(): boolean | Promise<boolean> {
|
||||||
return this.courseProvider.canGetCourseBlocks();
|
return this.courseProvider.canGetCourseBlocks() && !this.blockDelegate.areBlocksDisabledInCourses();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -117,6 +117,18 @@ export class CoreBlockDelegate extends CoreDelegate {
|
||||||
return site.isFeatureDisabled('NoDelegate_SiteBlocks');
|
return site.isFeatureDisabled('NoDelegate_SiteBlocks');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if blocks are disabled in a certain site for courses.
|
||||||
|
*
|
||||||
|
* @param {CoreSite} [site] Site. If not defined, use current site.
|
||||||
|
* @return {boolean} Whether it's disabled.
|
||||||
|
*/
|
||||||
|
areBlocksDisabledInCourses(site?: CoreSite): boolean {
|
||||||
|
site = site || this.sitesProvider.getCurrentSite();
|
||||||
|
|
||||||
|
return site.isFeatureDisabled('NoDelegate_CourseBlocks');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if blocks are disabled in a certain site.
|
* Check if blocks are disabled in a certain site.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue