summaryrefslogtreecommitdiff
path: root/django/forms/widgets.py
diff options
context:
space:
mode:
authorBrian Rosner <brosner@gmail.com>2008-09-01 21:28:32 +0000
committerBrian Rosner <brosner@gmail.com>2008-09-01 21:28:32 +0000
commit7c7ad041b358a9819b3bd9f93d4834df4a5b5d57 (patch)
tree0db25e5aa8a42c9678695d4130bd562f673069eb /django/forms/widgets.py
parentca7db155aa32d659c5fc0fc01a50e844af798845 (diff)
Fixed #7975 -- Callable defaults in inline model formsets now work correctly. Based on patch from msaelices. Thanks for your hard work msaelices.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8816 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/forms/widgets.py')
-rw-r--r--django/forms/widgets.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/django/forms/widgets.py b/django/forms/widgets.py
index 4f4d912c04..748c94f7e3 100644
--- a/django/forms/widgets.py
+++ b/django/forms/widgets.py
@@ -25,7 +25,8 @@ __all__ = (
'HiddenInput', 'MultipleHiddenInput',
'FileInput', 'DateTimeInput', 'TimeInput', 'Textarea', 'CheckboxInput',
'Select', 'NullBooleanSelect', 'SelectMultiple', 'RadioSelect',
- 'CheckboxSelectMultiple', 'MultiWidget', 'SplitDateTimeWidget',
+ 'CheckboxSelectMultiple', 'MultiWidget',
+ 'SplitDateTimeWidget',
)
MEDIA_TYPES = ('css','js')
@@ -617,7 +618,8 @@ class MultiWidget(Widget):
if initial is None:
initial = [u'' for x in range(0, len(data))]
else:
- initial = self.decompress(initial)
+ if not isinstance(initial, list):
+ initial = self.decompress(initial)
for widget, initial, data in zip(self.widgets, initial, data):
if widget._has_changed(initial, data):
return True
@@ -662,3 +664,11 @@ class SplitDateTimeWidget(MultiWidget):
return [value.date(), value.time().replace(microsecond=0)]
return [None, None]
+class SplitHiddenDateTimeWidget(SplitDateTimeWidget):
+ """
+ A Widget that splits datetime input into two <input type="hidden"> inputs.
+ """
+ def __init__(self, attrs=None):
+ widgets = (HiddenInput(attrs=attrs), HiddenInput(attrs=attrs))
+ super(SplitDateTimeWidget, self).__init__(widgets, attrs)
+ \ No newline at end of file