Esempio n. 1
0
    def get_milestone_array_schema(cls,
                                   milestone,
                                   desc_fmt,
                                   trigger_cls=None,
                                   scope_css=None,
                                   avail_select=None):
        title = availability_options.option_to_title(milestone)

        if trigger_cls is None:
            trigger_cls = triggers.MilestoneTrigger
        if avail_select is None:
            avail_select = availability_options.COURSE_WITH_NONE_SELECT_DATA
        item_type = cls.get_milestone_trigger_schema(milestone, avail_select,
                                                     trigger_cls)

        if scope_css is None:
            scope_css = cls._COURSE_WIDE_SCOPE_CSS
        extra_css = (scope_css + ' ' +
                     availability_options.option_to_css(milestone))
        classname = trigger_cls.array_css(extra_css=extra_css)
        wrapper_classname = trigger_cls.array_wrapper_css(extra_css=extra_css)
        ms_text = availability_options.option_to_text(milestone)
        desc = desc_fmt.format(milestone=ms_text)
        return schema_fields.FieldArray(milestone,
                                        title,
                                        desc,
                                        item_type=item_type,
                                        optional=True,
                                        extra_schema_dict_values={
                                            'className': classname,
                                            'wrapperClassName':
                                            wrapper_classname
                                        })
Esempio n. 2
0
    def get_milestone_array_schema(cls, milestone, desc_fmt, trigger_cls=None,
                                   scope_css=None, avail_select=None):
        title = availability_options.option_to_title(milestone)

        if trigger_cls is None:
            trigger_cls = triggers.MilestoneTrigger
        if avail_select is None:
            avail_select = availability_options.COURSE_WITH_NONE_SELECT_DATA
        item_type = cls.get_milestone_trigger_schema(
            milestone, avail_select, trigger_cls)

        if scope_css is None:
            scope_css = cls._COURSE_WIDE_SCOPE_CSS
        extra_css = (scope_css + ' ' +
                     availability_options.option_to_css(milestone))
        classname = trigger_cls.array_css(extra_css=extra_css)
        wrapper_classname = trigger_cls.array_wrapper_css(
            extra_css=extra_css)
        ms_text = availability_options.option_to_text(milestone)
        desc = desc_fmt.format(milestone=ms_text)
        return schema_fields.FieldArray(
            milestone, title, desc, item_type=item_type, optional=True,
            extra_schema_dict_values={
                'className': classname,
                'wrapperClassName': wrapper_classname})
    def get_milestone_trigger_schema(cls, milestone,
                                     avail_select, trigger_cls):
        title = '{} Availability'.format(
            availability_options.option_to_title(milestone))
        desc = messages.MILESTONE_TRIGGER_DESCRIPTION_FMT.format(milestone)
        milestone_trigger = schema_fields.FieldRegistry(title,
            description=services.help_urls.make_learn_more_message(
                desc, messages.MILESTONE_TRIGGERS_LEARN_MORE),
            extra_schema_dict_values={
                'className': trigger_cls.registry_css()})
        milestone_trigger.add_property(schema_fields.SchemaField(
            'milestone', '', 'string', i18n=False, hidden=True,
            extra_schema_dict_values={
                'className': trigger_cls.milestone_css()}))

        ms_text = availability_options.option_to_text(milestone)
        title = 'At {}, on this date & UTC hour:'.format(ms_text)
        desc = messages.MILESTONE_TRIGGER_WHEN_DESC_FMT.format(
            ms_text, ms_text)
        milestone_trigger.add_property(schema_fields.SchemaField(
            cls.DATETIME_FIELD, title, 'datetime', description=desc,
            i18n=False, optional=True, extra_schema_dict_values={
                'className': trigger_cls.when_css()}))

        title = 'Change {} availability to:'.format(milestone.split('_')[0])
        desc = messages.MILESTONE_TRIGGER_AVAIL_DESC_FMT.format(
            ms_text, availability_options.NONE_SELECTED_TITLE, ms_text)
        milestone_trigger.add_property(schema_fields.SchemaField(
            cls.AVAILABILITY_FIELD, title, 'string', description=desc,
            i18n=False, optional=True,
            select_data=avail_select, extra_schema_dict_values={
                'className': trigger_cls.availability_css()}))
        return milestone_trigger
Esempio n. 4
0
    def get_milestone_trigger_schema(cls, milestone, avail_select,
                                     trigger_cls):
        title = '{} Availability'.format(
            availability_options.option_to_title(milestone))
        desc = messages.MILESTONE_TRIGGER_DESCRIPTION_FMT.format(milestone)
        milestone_trigger = schema_fields.FieldRegistry(
            title,
            description=services.help_urls.make_learn_more_message(
                desc, messages.MILESTONE_TRIGGERS_LEARN_MORE),
            extra_schema_dict_values={'className': trigger_cls.registry_css()})
        milestone_trigger.add_property(
            schema_fields.SchemaField('milestone',
                                      '',
                                      'string',
                                      i18n=False,
                                      hidden=True,
                                      extra_schema_dict_values={
                                          'className':
                                          trigger_cls.milestone_css()
                                      }))

        ms_text = availability_options.option_to_text(milestone)
        title = 'At {}, on this date & UTC hour:'.format(ms_text)
        desc = messages.MILESTONE_TRIGGER_WHEN_DESC_FMT.format(
            ms_text, ms_text)
        milestone_trigger.add_property(
            schema_fields.SchemaField(
                cls.DATETIME_FIELD,
                title,
                'datetime',
                description=desc,
                i18n=False,
                optional=True,
                extra_schema_dict_values={'className':
                                          trigger_cls.when_css()}))

        title = 'Change {} availability to:'.format(milestone.split('_')[0])
        desc = messages.MILESTONE_TRIGGER_AVAIL_DESC_FMT.format(
            ms_text, availability_options.NONE_SELECTED_TITLE, ms_text)
        milestone_trigger.add_property(
            schema_fields.SchemaField(cls.AVAILABILITY_FIELD,
                                      title,
                                      'string',
                                      description=desc,
                                      i18n=False,
                                      optional=True,
                                      select_data=avail_select,
                                      extra_schema_dict_values={
                                          'className':
                                          trigger_cls.availability_css()
                                      }))
        return milestone_trigger
Esempio n. 5
0
 def get_milestone_trigger_schema(cls, milestone, avail_select,
                                  trigger_cls):
     title = '{} Availability'.format(
         availability_options.option_to_title(milestone))
     desc = messages.MILESTONE_TRIGGER_DESCRIPTION_FMT.format(milestone)
     milestone_trigger = schema_fields.FieldRegistry(
         title,
         description=services.help_urls.make_learn_more_message(
             desc, messages.MILESTONE_TRIGGERS_LEARN_MORE),
         extra_schema_dict_values={'className': trigger_cls.registry_css()})
     milestone_trigger.add_property(
         schema_fields.SchemaField('milestone',
                                   None,
                                   'string',
                                   i18n=False,
                                   hidden=True,
                                   extra_schema_dict_values={
                                       'className':
                                       trigger_cls.milestone_css()
                                   }))
     milestone_trigger.add_property(
         schema_fields.SchemaField(
             cls.DATETIME_FIELD,
             None,
             'datetime',
             i18n=False,
             optional=True,
             extra_schema_dict_values={'className':
                                       trigger_cls.when_css()}))
     milestone_trigger.add_property(
         schema_fields.SchemaField(cls.AVAILABILITY_FIELD,
                                   None,
                                   'string',
                                   i18n=False,
                                   optional=True,
                                   select_data=avail_select,
                                   extra_schema_dict_values={
                                       'className':
                                       trigger_cls.availability_css()
                                   }))
     return milestone_trigger
Esempio n. 6
0
 def get_milestone_trigger_schema(cls, milestone,
                                  avail_select, trigger_cls):
     title = '{} Availability'.format(
         availability_options.option_to_title(milestone))
     desc = messages.MILESTONE_TRIGGER_DESCRIPTION_FMT.format(milestone)
     milestone_trigger = schema_fields.FieldRegistry(title,
         description=services.help_urls.make_learn_more_message(
             desc, messages.MILESTONE_TRIGGERS_LEARN_MORE),
         extra_schema_dict_values={
             'className': trigger_cls.registry_css()})
     milestone_trigger.add_property(schema_fields.SchemaField(
         'milestone', None, 'string', i18n=False, hidden=True,
         extra_schema_dict_values={
             'className': trigger_cls.milestone_css()}))
     milestone_trigger.add_property(schema_fields.SchemaField(
         cls.DATETIME_FIELD, None, 'datetime',
         i18n=False, optional=True, extra_schema_dict_values={
             'className': trigger_cls.when_css()}))
     milestone_trigger.add_property(schema_fields.SchemaField(
         cls.AVAILABILITY_FIELD, None, 'string',
         i18n=False, optional=True,
         select_data=avail_select, extra_schema_dict_values={
             'className': trigger_cls.availability_css()}))
     return milestone_trigger