Files
edx-platform/lms/xmodule_namespace.py
2013-01-02 15:08:27 -05:00

44 lines
1.8 KiB
Python

from xmodule.model import Namespace, Boolean, Scope, String, List
from xmodule.fields import Date, Timedelta
class StringyBoolean(Boolean):
def from_json(self, value):
if isinstance(value, basestring):
return value.lower() == 'true'
return value
class LmsNamespace(Namespace):
hide_from_toc = StringyBoolean(
help="Whether to display this module in the table of contents",
default=False,
scope=Scope.settings
)
graded = Boolean(
help="Whether this module contributes to the final course grade",
default=False,
scope=Scope.settings
)
format = String(
help="What format this module is in (used for deciding which "
"grader to apply, and what to show in the TOC)",
scope=Scope.settings,
default='',
)
display_name = String(
help="Display name for this module",
scope=Scope.settings,
computed_default=lambda module: module.url_name.replace('_', ' ')
)
start = Date(help="Start time when this module is visible", scope=Scope.settings)
due = String(help="Date that this problem is due by", scope=Scope.settings, default='')
source_file = String(help="DO NOT USE", scope=Scope.settings)
xqa_key = String(help="DO NOT USE", scope=Scope.settings)
ispublic = Boolean(help="Whether this course is open to the public, or only to admins", scope=Scope.settings)
graceperiod = Timedelta(help="Amount of time after the due date that submissions will be accepted", scope=Scope.settings)
showanswer = String(help="When to show the problem answer to the student", scope=Scope.settings, default="closed")
rerandomize = String(help="When to rerandomize the problem", default="always", scope=Scope.settings)