""" Namespace that defines fields common to all blocks used in the LMS """ from xblock.fields import Boolean, Scope, String, XBlockMixin # Make '_' a no-op so we can scrape strings _ = lambda text: text class LmsBlockMixin(XBlockMixin): """ Mixin that defines fields common to all blocks used in the LMS """ hide_from_toc = Boolean( help="Whether to display this module in the table of contents", 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, ) chrome = String( display_name=_("Courseware Chrome"), help=_("Enter the chrome, or navigation tools, to use for the XBlock in the LMS. Valid values are: \n" "\"chromeless\" -- to not use tabs or the accordion; \n" "\"tabs\" -- to use tabs only; \n" "\"accordion\" -- to use the accordion only; or \n" "\"tabs,accordion\" -- to use tabs and the accordion."), scope=Scope.settings, default=None, ) default_tab = String( display_name=_("Default Tab"), help=_("Enter the tab that is selected in the XBlock. If not set, the Courseware tab is selected."), scope=Scope.settings, default=None, ) source_file = String( display_name=_("LaTeX Source File Name"), help=_("Enter the source file name for LaTeX."), scope=Scope.settings, deprecated=True ) ispublic = Boolean( display_name=_("Course Is Public"), help=_("Enter true or false. If true, the course is open to the public. If false, the course is open only to admins."), scope=Scope.settings ) visible_to_staff_only = Boolean( help=_("If true, can be seen only by course staff, regardless of start date."), default=False, scope=Scope.settings, )