Files
edx-platform/lms/djangoapps/courseware/self_paced_overrides.py
Renzo Lucioni cd9986b662 Override field data within the XBlock runtime
Resolves an issue preventing students in self-paced courses from seeing all available discussion modules. ECOM-3733.
2016-03-18 17:15:00 -04:00

30 lines
979 B
Python

"""
Field overrides for self-paced courses. This allows overriding due
dates for each block in the course.
"""
from .field_overrides import FieldOverrideProvider
from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
class SelfPacedDateOverrideProvider(FieldOverrideProvider):
"""
A concrete implementation of
:class:`~courseware.field_overrides.FieldOverrideProvider` which allows for
due dates to be overridden for self-paced courses.
"""
def get(self, block, name, default):
# Remove due dates
if name == 'due':
return None
# Remove release dates for course content
if name == 'start' and block.category != 'course':
return None
return default
@classmethod
def enabled_for(cls, block):
"""This provider is enabled for self-paced courses only."""
return block is not None and block.self_paced and SelfPacedConfiguration.current().enabled