Fixed #3266 -- newforms: Made RadioSelect accept funky characters. Thanks for reporting, Honza Kral
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4304 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
f6a7002ef1
commit
fa38ce7207
|
@ -172,14 +172,15 @@ class RadioInput(StrAndUnicode):
|
||||||
def __init__(self, name, value, attrs, choice, index):
|
def __init__(self, name, value, attrs, choice, index):
|
||||||
self.name, self.value = name, value
|
self.name, self.value = name, value
|
||||||
self.attrs = attrs
|
self.attrs = attrs
|
||||||
self.choice_value, self.choice_label = choice
|
self.choice_value = smart_unicode(choice[0])
|
||||||
|
self.choice_label = smart_unicode(choice[1])
|
||||||
self.index = index
|
self.index = index
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return u'<label>%s %s</label>' % (self.tag(), self.choice_label)
|
return u'<label>%s %s</label>' % (self.tag(), self.choice_label)
|
||||||
|
|
||||||
def is_checked(self):
|
def is_checked(self):
|
||||||
return self.value == smart_unicode(self.choice_value)
|
return self.value == self.choice_value
|
||||||
|
|
||||||
def tag(self):
|
def tag(self):
|
||||||
if self.attrs.has_key('id'):
|
if self.attrs.has_key('id'):
|
||||||
|
|
|
@ -527,12 +527,16 @@ True
|
||||||
>>> r[1].is_checked()
|
>>> r[1].is_checked()
|
||||||
False
|
False
|
||||||
>>> r[1].name, r[1].value, r[1].choice_value, r[1].choice_label
|
>>> r[1].name, r[1].value, r[1].choice_value, r[1].choice_label
|
||||||
('beatle', u'J', 'P', 'Paul')
|
('beatle', u'J', u'P', u'Paul')
|
||||||
>>> r[10]
|
>>> r[10]
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
...
|
...
|
||||||
IndexError: list index out of range
|
IndexError: list index out of range
|
||||||
|
|
||||||
|
>>> w = RadioSelect()
|
||||||
|
>>> unicode(w.render('email', 'ŠĐĆŽćžšđ', choices=[('ŠĐĆŽćžšđ', 'ŠĐabcĆŽćžšđ'), ('ćžšđ', 'abcćžšđ')]))
|
||||||
|
u'<ul>\n<li><label><input checked="checked" type="radio" name="email" value="\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111" /> \u0160\u0110abc\u0106\u017d\u0107\u017e\u0161\u0111</label></li>\n<li><label><input type="radio" name="email" value="\u0107\u017e\u0161\u0111" /> abc\u0107\u017e\u0161\u0111</label></li>\n</ul>'
|
||||||
|
|
||||||
# CheckboxSelectMultiple Widget ###############################################
|
# CheckboxSelectMultiple Widget ###############################################
|
||||||
|
|
||||||
>>> w = CheckboxSelectMultiple()
|
>>> w = CheckboxSelectMultiple()
|
||||||
|
|
Loading…
Reference in New Issue