def formfield(self, **defaults): if self.filter_horizontal: widget = FilteredSelectMultiple(self.verbose_name, is_stacked=False) else: widget = forms.SelectMultiple() def _render(name, value, attrs=None, *args, **kwargs): value = parse_tag_input(value) return type(widget).render(widget, name, value, attrs, *args, **kwargs) widget.render = _render defaults['widget'] = widget choices = [ (str(t), str(t)) for t in Tag.objects.all() ] return TagSelectFormField(choices=choices, required=not self.blank, **defaults)
def formfield(self, **defaults): from tagging.models import Tag from tagging.utils import parse_tag_input if self.filter_horizontal: widget = FilteredSelectMultiple(self.verbose_name, is_stacked=False) else: widget = forms.SelectMultiple() def _render(name, value, attrs=None, *args, **kwargs): value = parse_tag_input(value) return type(widget).render(widget, name, value, attrs, *args, **kwargs) widget.render = _render defaults['widget'] = widget choices = [ (str(t), str(t)) for t in Tag.objects.all() ] return TagSelectFormField(choices=choices, required=not self.blank, **defaults)
def formfield(self, **defaults): if self.filter_horizontal: widget = FilteredSelectMultiple(self.verbose_name, is_stacked=False) else: widget = forms.SelectMultiple() if VERSION < (1, 11): def _render(name, value, attrs=None, *args, **kwargs): value = parse_tag_input(value) return type(widget).render(widget, name, value, attrs, *args, **kwargs) widget.render = _render defaults['widget'] = widget choices = [(six.text_type(t), six.text_type(t)) for t in Tag.objects.all()] return TagSelectFormField(choices=choices, required=not self.blank, **defaults)
def formfield(self, **defaults): if not self.choices: # if no choices are specified, get all tags choices = [(str(t)) for t in Tag.objects.all()] else: # otherwise show only the tags passed in via choices choices = [(t[0]) for t in self.choices] if self.filter_horizontal: widget = FilteredSelectMultiple(self.verbose_name, is_stacked=False) else: widget = forms.SelectMultiple() def _render(name, value, attrs=None, *args, **kwargs): value = parse_tag_input(value) return type(widget).render(widget, name, value, attrs, *args, **kwargs) widget.render = _render defaults["widget"] = widget choices = [(str(t), str(t)) for t in choices] return TagSelectFormField(choices=choices, required=not self.blank, **defaults)
def test_stacked_render(self): w = FilteredSelectMultiple('test', True) self.assertEqual( conditional_escape(w.render('test', 'test')), '<select multiple="multiple" name="test" class="selectfilterstacked">\n</select><script type="text/javascript">addEvent(window, "load", function(e) {SelectFilter.init("id_test", "test", 1, "%(ADMIN_MEDIA_PREFIX)s"); });</script>\n' % {"ADMIN_MEDIA_PREFIX": settings.ADMIN_MEDIA_PREFIX})
def test_stacked_render(self): w = FilteredSelectMultiple('test', True) self.assertEqual( conditional_escape(w.render('test', 'test')), '<select multiple="multiple" name="test" class="selectfilterstacked">\n</select><script type="text/javascript">addEvent(window, "load", function(e) {SelectFilter.init("id_test", "test", 1, "%(ADMIN_MEDIA_PREFIX)s"); });</script>\n' % {"ADMIN_MEDIA_PREFIX": settings.ADMIN_MEDIA_PREFIX} )
def test_render(self): w = FilteredSelectMultiple('test', False) self.assertEqual( conditional_escape(w.render('test', 'test')), '<select multiple="multiple" name="test" class="selectfilter">\n</select><script type="text/javascript">addEvent(window, "load", function(e) {SelectFilter.init("id_test", "test", 0, "%(ADMIN_MEDIA_PREFIX)s"); });</script>\n' % admin_media_prefix() )
def test_render(self): w = FilteredSelectMultiple('test', False) self.assertEqual( conditional_escape(w.render('test', 'test')), '<select multiple="multiple" name="test" class="selectfilter">\n</select><script type="text/javascript">addEvent(window, "load", function(e) {SelectFilter.init("id_test", "test", 0, "%(ADMIN_MEDIA_PREFIX)s"); });</script>\n' % admin_media_prefix())