Author: adrian
Date: 2007-02-14 23:05:43 -0600 (Wed, 14 Feb 2007)
New Revision: 4523
Modified:
django/trunk/AUTHORS
django/trunk/django/newforms/widgets.py
django/trunk/tests/regressiontests/forms/tests.py
Log:
Fixed #3409 -- Added render_value argument to newforms PasswordInput. Thanks
for the patch, [EMAIL PROTECTED]
Modified: django/trunk/AUTHORS
===================================================================
--- django/trunk/AUTHORS 2007-02-15 04:13:02 UTC (rev 4522)
+++ django/trunk/AUTHORS 2007-02-15 05:05:43 UTC (rev 4523)
@@ -157,6 +157,7 @@
Oliver Rutherfurd <http://rutherfurd.net/>
Ivan Sagalaev (Maniac) <http://www.softwaremaniacs.org/>
David Schein
+ [EMAIL PROTECTED]
[EMAIL PROTECTED]
Pete Shinners <[EMAIL PROTECTED]>
SmileyChris <[EMAIL PROTECTED]>
Modified: django/trunk/django/newforms/widgets.py
===================================================================
--- django/trunk/django/newforms/widgets.py 2007-02-15 04:13:02 UTC (rev
4522)
+++ django/trunk/django/newforms/widgets.py 2007-02-15 05:05:43 UTC (rev
4523)
@@ -81,6 +81,14 @@
class PasswordInput(Input):
input_type = 'password'
+ def __init__(self, attrs=None, render_value=True):
+ self.attrs = attrs or {}
+ self.render_value = render_value
+
+ def render(self, name, value, attrs=None):
+ if not self.render_value: value=None
+ return super(PasswordInput, self).render(name, value, attrs)
+
class HiddenInput(Input):
input_type = 'hidden'
is_hidden = True
Modified: django/trunk/tests/regressiontests/forms/tests.py
===================================================================
--- django/trunk/tests/regressiontests/forms/tests.py 2007-02-15 04:13:02 UTC
(rev 4522)
+++ django/trunk/tests/regressiontests/forms/tests.py 2007-02-15 05:05:43 UTC
(rev 4523)
@@ -72,6 +72,22 @@
>>> w.render('email', 'ŠĐĆŽćžšđ', attrs={'class': 'fun'})
u'<input type="password" class="fun"
value="\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111" name="email" />'
+The render_value argument lets you specify whether the widget should render
+its value. You may want to do this for security reasons.
+>>> w = PasswordInput(render_value=True)
+>>> w.render('email', 'secret')
+u'<input type="password" name="email" value="secret" />'
+>>> w = PasswordInput(render_value=False)
+>>> w.render('email', '')
+u'<input type="password" name="email" />'
+>>> w.render('email', None)
+u'<input type="password" name="email" />'
+>>> w.render('email', 'secret')
+u'<input type="password" name="email" />'
+>>> w = PasswordInput(attrs={'class': 'fun'}, render_value=False)
+>>> w.render('email', 'secret')
+u'<input type="password" class="fun" name="email" />'
+
# HiddenInput Widget
############################################################
>>> w = HiddenInput()
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---