class Meta: model = CourseRun fields = '__all__' widgets = { 'staff': SortedModelSelect2Multiple( url='admin_metadata:person-autocomplete', attrs={ 'data-minimum-input-length': 3, 'class': 'sortable-select', }, ), 'transcript_languages': SortedModelSelect2Multiple( url='language_tags:language-tag-autocomplete', attrs={ 'data-minimum-input-length': 3, 'class': 'sortable-select', }, ), 'video_translation_languages': SortedModelSelect2Multiple( url='language_tags:language-tag-autocomplete', attrs={ 'data-minimum-input-length': 3, 'class': 'sortable-select', }, ), }
class Meta: model = Program fields = '__all__' widgets = { 'courses': SortedModelSelect2Multiple( url='admin_metadata:course-autocomplete', attrs={ 'data-minimum-input-length': 3, 'class': 'sortable-select', }, ), 'authoring_organizations': SortedModelSelect2Multiple( url='admin_metadata:organisation-autocomplete', attrs={ 'data-minimum-input-length': 3, 'class': 'sortable-select', } ), 'credit_backing_organizations': SortedModelSelect2Multiple( url='admin_metadata:organisation-autocomplete', attrs={ 'data-minimum-input-length': 3, 'class': 'sortable-select', } ), 'instructor_ordering': SortedModelSelect2Multiple( url='admin_metadata:person-autocomplete', attrs={ 'data-minimum-input-length': 3, 'class': 'sortable-select', } ), }
class Meta: model = SearchDefaultResultsConfiguration fields = '__all__' widgets = { # TODO: make this sortable as well (debug sortable-select) 'courses': SortedModelSelect2Multiple( url='admin_metadata:course-autocomplete', attrs={ 'data-minimum-input-length': 3, }, ), 'programs': SortedModelSelect2Multiple( url='admin_metadata:program-autocomplete', attrs={ 'data-minimum-input-length': 3, 'class': 'sortable-select', }), }
def test_optgroups_are_sorted(self, value, result_order): choices = ((1, 'one'), (2, 'two'), (3, 'three')) widget = SortedModelSelect2Multiple(url='requiredurl', choices=choices) result = widget.optgroups('test', value) assert result_order == [x[1][0]['value'] for x in result]