Commit 0179852d authored by Claude Paroz's avatar Claude Paroz
Browse files

Fixed #8898 -- Obsoleted SplitDateTimeWidget usage with DateTimeField

Thanks Tim Graham for the review.
parent 1e9e7351
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -486,6 +486,10 @@ class DateTimeField(BaseTemporalField):
        if isinstance(value, list):
            # Input comes from a SplitDateTimeWidget, for example. So, it's two
            # components: date and time.
            warnings.warn(
                'Using SplitDateTimeWidget with DateTimeField is deprecated. '
                'Use SplitDateTimeField instead.',
                PendingDeprecationWarning, stacklevel=2)
            if len(value) != 2:
                raise ValidationError(self.error_messages['invalid'], code='invalid')
            if value[0] in self.empty_values and value[1] in self.empty_values:
+3 −0
Original line number Diff line number Diff line
@@ -215,6 +215,9 @@ these changes.

* ``django.forms.get_declared_fields`` will be removed.

* The ability to use a ``SplitDateTimeWidget`` with ``DateTimeField`` will be
  removed.

* The ``WSGIRequest.REQUEST`` property will be removed.

* The class ``django.utils.datastructures.MergeDict`` will be removed.
+6 −0
Original line number Diff line number Diff line
@@ -458,6 +458,12 @@ For each field, we describe the default widget used if you don't specify

    See also :ref:`format localization <format-localization>`.

    .. deprecated:: 1.7

        The ability to use :class:`SplitDateTimeWidget` with ``DateTimeField``
        has been deprecated and will be removed in Django 1.9. Use
        :class:`SplitDateTimeField` instead.

``DecimalField``
~~~~~~~~~~~~~~~~

+7 −0
Original line number Diff line number Diff line
@@ -1063,3 +1063,10 @@ the arguments may have been evaluated at query time.

The ``ADMIN_FOR`` feature, part of the admindocs, has been removed. You can
remove the setting from your configuration at your convenience.

``SplitDateTimeWidget`` with ``DateTimeField``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

``SplitDateTimeWidget`` support in :class:`~django.forms.DateTimeField` is
deprecated, use ``SplitDateTimeWidget`` with
:class:`~django.forms.SplitDateTimeField` instead.
+13 −8
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ from __future__ import unicode_literals

import copy
import datetime
import warnings

from django.contrib.admin.tests import AdminSeleniumWebDriverTestCase
from django.core.files.uploadedfile import SimpleUploadedFile
@@ -1092,6 +1093,8 @@ class WidgetTests(TestCase):
        class SplitDateForm(Form):
            field = DateTimeField(widget=SplitDateTimeWidget, required=False)

        with warnings.catch_warnings():
            warnings.filterwarnings("ignore", category=PendingDeprecationWarning)
            form = SplitDateForm({'field': ''})
            self.assertTrue(form.is_valid())
            form = SplitDateForm({'field': ['', '']})
@@ -1100,6 +1103,8 @@ class WidgetTests(TestCase):
        class SplitDateRequiredForm(Form):
            field = DateTimeField(widget=SplitDateTimeWidget, required=True)

        with warnings.catch_warnings():
            warnings.filterwarnings("ignore", category=PendingDeprecationWarning)
            form = SplitDateRequiredForm({'field': ''})
            self.assertFalse(form.is_valid())
            form = SplitDateRequiredForm({'field': ['', '']})