mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Removed support for SplitDateTimeWidget with DateTimeField per deprecation timeline.
refs #8898
This commit is contained in:
		| @@ -501,18 +501,6 @@ class DateTimeField(BaseTemporalField): | |||||||
|         if isinstance(value, datetime.date): |         if isinstance(value, datetime.date): | ||||||
|             result = datetime.datetime(value.year, value.month, value.day) |             result = datetime.datetime(value.year, value.month, value.day) | ||||||
|             return from_current_timezone(result) |             return from_current_timezone(result) | ||||||
|         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.', |  | ||||||
|                 RemovedInDjango19Warning, 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: |  | ||||||
|                 return None |  | ||||||
|             value = '%s %s' % tuple(value) |  | ||||||
|         result = super(DateTimeField, self).to_python(value) |         result = super(DateTimeField, self).to_python(value) | ||||||
|         return from_current_timezone(result) |         return from_current_timezone(result) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -502,12 +502,6 @@ For each field, we describe the default widget used if you don't specify | |||||||
|  |  | ||||||
|     See also :ref:`format localization <format-localization>`. |     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`` | ``DecimalField`` | ||||||
| ~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~ | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,17 +9,16 @@ from django.core.files.uploadedfile import SimpleUploadedFile | |||||||
| from django.core.urlresolvers import reverse | from django.core.urlresolvers import reverse | ||||||
| from django.forms import ( | from django.forms import ( | ||||||
|     BooleanField, CheckboxInput, CheckboxSelectMultiple, ChoiceField, |     BooleanField, CheckboxInput, CheckboxSelectMultiple, ChoiceField, | ||||||
|     ClearableFileInput, DateInput, DateTimeField, DateTimeInput, FileInput, |     ClearableFileInput, DateInput, DateTimeInput, FileInput, | ||||||
|     Form, HiddenInput, MultipleHiddenInput, MultiWidget, NullBooleanSelect, |     Form, HiddenInput, MultipleHiddenInput, MultiWidget, NullBooleanSelect, | ||||||
|     PasswordInput, RadioSelect, Select, SelectMultiple, SplitDateTimeWidget, |     PasswordInput, RadioSelect, Select, SelectMultiple, SplitDateTimeWidget, | ||||||
|     Textarea, TextInput, TimeInput, |     Textarea, TextInput, TimeInput, | ||||||
| ) | ) | ||||||
| from django.forms.widgets import RadioFieldRenderer | from django.forms.widgets import RadioFieldRenderer | ||||||
| from django.utils.deprecation import RemovedInDjango19Warning |  | ||||||
| from django.utils.safestring import mark_safe, SafeData | from django.utils.safestring import mark_safe, SafeData | ||||||
| from django.utils import six | from django.utils import six | ||||||
| from django.utils.translation import activate, deactivate, override | from django.utils.translation import activate, deactivate, override | ||||||
| from django.test import TestCase, ignore_warnings, override_settings | from django.test import TestCase, override_settings | ||||||
| from django.utils.encoding import python_2_unicode_compatible, force_text | from django.utils.encoding import python_2_unicode_compatible, force_text | ||||||
|  |  | ||||||
| from ..models import Article | from ..models import Article | ||||||
| @@ -1111,25 +1110,6 @@ class WidgetTests(TestCase): | |||||||
|         # to make a copy of its sub-widgets when it is copied. |         # to make a copy of its sub-widgets when it is copied. | ||||||
|         self.assertEqual(w1.choices, [1, 2, 3]) |         self.assertEqual(w1.choices, [1, 2, 3]) | ||||||
|  |  | ||||||
|     @ignore_warnings(category=RemovedInDjango19Warning) |  | ||||||
|     def test_13390(self): |  | ||||||
|         # See ticket #13390 |  | ||||||
|         class SplitDateForm(Form): |  | ||||||
|             field = DateTimeField(widget=SplitDateTimeWidget, required=False) |  | ||||||
|  |  | ||||||
|         form = SplitDateForm({'field': ''}) |  | ||||||
|         self.assertTrue(form.is_valid()) |  | ||||||
|         form = SplitDateForm({'field': ['', '']}) |  | ||||||
|         self.assertTrue(form.is_valid()) |  | ||||||
|  |  | ||||||
|         class SplitDateRequiredForm(Form): |  | ||||||
|             field = DateTimeField(widget=SplitDateTimeWidget, required=True) |  | ||||||
|  |  | ||||||
|         form = SplitDateRequiredForm({'field': ''}) |  | ||||||
|         self.assertFalse(form.is_valid()) |  | ||||||
|         form = SplitDateRequiredForm({'field': ['', '']}) |  | ||||||
|         self.assertFalse(form.is_valid()) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @override_settings(ROOT_URLCONF='forms_tests.urls') | @override_settings(ROOT_URLCONF='forms_tests.urls') | ||||||
| class LiveWidgetTests(AdminSeleniumWebDriverTestCase): | class LiveWidgetTests(AdminSeleniumWebDriverTestCase): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user