diff options
| author | Brian Rosner <brosner@gmail.com> | 2008-09-01 21:28:32 +0000 |
|---|---|---|
| committer | Brian Rosner <brosner@gmail.com> | 2008-09-01 21:28:32 +0000 |
| commit | 7c7ad041b358a9819b3bd9f93d4834df4a5b5d57 (patch) | |
| tree | 0db25e5aa8a42c9678695d4130bd562f673069eb /django/forms/widgets.py | |
| parent | ca7db155aa32d659c5fc0fc01a50e844af798845 (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.py | 14 |
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 |
