Commit Graph

778 Commits

Author SHA1 Message Date
Tim Graham 44f9241c48 Refs #27563 -- Fixed ModelChoiceField.__deepcopy__() so forms don't share a queryset cache.
Thanks Luke Benstead for the report Simon Charettes for the fix.
2017-03-15 12:54:26 -04:00
Claude Paroz 540ae68a5c Fixed #27920 -- Restored empty RadioSelect choice producing value=""
Regression in b52c73008a.
Thanks Tim Graham for the review.
2017-03-14 18:23:06 +01:00
Claude Paroz 8346680e1c Refs #27795 -- Removed unneeded force_text calls
Thanks Tim Graham for the review.
2017-03-04 18:18:21 +01:00
Vytis Banaitis 3dcc351691 Refs #23919 -- Used yield from. 2017-02-23 20:06:01 -05:00
Anton Samarchyan 3eb679a869 Refs #27656 -- Updated django.forms/http docstring verbs according to PEP 257. 2017-02-20 19:57:33 -05:00
Tim Graham afcf44c101 Refs #23151 -- Removed RegexField's unused error_message parameter.
Should have been removed in b6ea1961eb.
2017-02-20 19:09:09 -05:00
Collin Anderson fb7e0e01af Fixed #27850 -- Made RelatedFieldWidgetWrapper call render() of the wrapped widget. 2017-02-20 08:48:03 -05:00
Mariusz Felisiak 0034e9af18 Fixed #5851 -- Allowed specifying different HTML attrs for SplitDateTimeWidget subwidgets.
Thanks Tim Graham and Nick Pope for review.
2017-02-07 11:33:37 -05:00
Claude Paroz c651331b34 Converted usage of ugettext* functions to their gettext* aliases
Thanks Tim Graham for the review.
2017-02-07 09:04:04 +01:00
Tim Graham 4353640ea9 Fixed #27805 -- Fixed ClearableFileInput's "Clear" checkbox on model fields with a default. 2017-02-06 20:31:04 -05:00
Vytis Banaitis 8838d4dd49 Refs #23919 -- Replaced kwargs.pop() with keyword-only arguments. 2017-02-01 11:41:56 -05:00
Jon Dufresne 6d8979f4c2 Fixed #27758 -- Reallowed AdvancedModelIterator pattern after template widget rendering. 2017-01-31 09:41:51 -05:00
Tim Graham e07e743e0c Refs #23919 -- Used DeclarativeFieldsMetaclass.__prepare__() for tracking form field order. 2017-01-27 12:46:21 -05:00
Tim Graham af598187ec Removed unnecessary force_text() in BaseTemporalField.to_python().
This seems unneeded since its introduction in
da3aa22d04.
2017-01-26 13:35:39 -05:00
Vytis Banaitis d1bab24e01 Refs #23919, #27778 -- Removed obsolete mentions of unicode. 2017-01-26 08:19:27 -05:00
chillaranand d6eaf7c018 Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
Jon Dufresne 0d74c41981 Replaced dict() usage with dict literals.
Literals are faster and more idiomatic.
2017-01-23 19:13:49 -05:00
Jon Dufresne f0573aad4b Replaced "not var is ..." with "is not" in attrs.html. 2017-01-23 13:14:00 -05:00
Jon Dufresne 5fa390ee81 Fixed #27759 -- Prevented forms attrs.html template from rendering False attrs.
Regression in b52c73008a.
2017-01-23 08:49:00 -05:00
Jon Dufresne 88183117c2 Fixed #27761 -- Fixed quote location in multiple_input.html forms templates. 2017-01-23 07:44:57 -05:00
Jon Dufresne ecd5944666 Removed ChoiceWidget.render() as it duplicates parent implementation. 2017-01-23 07:33:27 -05:00
Claude Paroz 6e55e1d88a Refs #23919 -- Replaced six.reraise by raise 2017-01-22 20:08:04 +01:00
Tim Graham d170c63351 Refs #23919 -- Removed misc references to Python 2. 2017-01-21 20:02:00 -05:00
Mariusz Felisiak c22212220a Refs #23919 -- Removed re.U and re.UNICODE (default on Python 3). 2017-01-21 14:28:16 -05:00
Tim Graham 4e729feaa6 Refs #23919 -- Removed django.utils._os.upath()/npath()/abspathu() usage.
These functions do nothing on Python 3.
2017-01-20 08:01:02 -05:00
Claude Paroz dc8834cad4 Refs #23919 -- Removed unneeded force_str calls 2017-01-20 08:44:31 +01:00
Simon Charette 9695b14982 Refs #23919 -- Removed str() conversion of type and method __name__. 2017-01-19 11:31:07 -05:00
Simon Charette 4c5ed3e683 Refs #23919 -- Removed __nonzero__() methods (for Python 2).
Thanks Tim for the review.
2017-01-19 11:26:26 -05:00
Simon Charette cecc079168 Refs #23919 -- Stopped inheriting from object to define new style classes. 2017-01-19 08:39:46 +01:00
Aymeric Augustin eb422e476f Refs #23919 -- Removed obsolete __ne__() methods.
__ne__() defaults to the opposite of __eq__() on Python 3
when it doesn't return NotImplemented.
2017-01-18 21:44:00 -05:00
Aymeric Augustin 3cc5f01d9b Refs #23919 -- Stopped using django.utils.lru_cache(). 2017-01-18 21:42:40 -05:00
Claude Paroz 2b281cc35e Refs #23919 -- Removed most of remaining six usage
Thanks Tim Graham for the review.
2017-01-18 21:33:28 +01:00
Claude Paroz 7b2f2e74ad Refs #23919 -- Removed six.<various>_types usage
Thanks Tim Graham and Simon Charette for the reviews.
2017-01-18 20:18:46 +01:00
Claude Paroz f3c43ad1fd Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
Claude Paroz d7b9aaa366 Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
Tim Graham 58d3d14aea Refs #26533 -- Removed support for Widget._format_value() per deprecation timeline. 2017-01-17 20:52:04 -05:00
Tim Graham 742d666da5 Refs #24219 -- Removed django.forms.extras per deprecation timeline. 2017-01-17 14:09:28 -05:00
Mariusz Felisiak 974d14534c Fixed #27723 -- Set MultiWidget's subwidgets input type from attrs argument.
Regression in b52c73008a.
2017-01-13 06:34:33 -05:00
Mariusz Felisiak 6872ce2266 Fixed #27712 -- Reallowed Input widget's attrs argument to set the input type.
Regression in b52c73008a.
2017-01-10 11:38:27 -05:00
Dmitry 12cefee5d8 Refs #15667 -- Prevented newlines in attrs.html widget rendering.
Removed the trailing newline from widget attrs.html template.
The solution may be revisited by fixing refs #9198 but not
for Django 1.11.

Thanks Dmitry Ivanchenko for the report and Preston Timmons for advice.
2017-01-06 19:11:32 -05:00
Josef Rousek aaecf038ca Fixed #27370 -- Prevented Select widget from using 'required' with a non-empty first value. 2016-12-28 10:45:22 -05:00
Preston Timmons b52c73008a Fixed #15667 -- Added template-based widget rendering.
Thanks Carl Meyer and Tim Graham for contributing to the patch.
2016-12-27 17:50:10 -05:00
Illia Volochii 4a51ba228b Fixed #27642 -- Made forms.utils.flatatt() omit 'None' values from attrs. 2016-12-27 09:42:17 -05:00
Hiroki Kiyohara 181f492ad0 Fixed #27416 -- Prevented ModelFormSet from creating objects for invalid PKs in data. 2016-12-06 13:06:58 -05:00
Jon Dufresne 6abd6c598e Fixed #27563 -- Moved "apply limit_choices_to" code from BaseModelForm to fields_for_model(). 2016-12-02 08:40:24 -08:00
Claude Paroz d49551bc26 Fixed #27119 -- Cached BaseFormSet.management_form property
Thanks Tim Graham for the review.
2016-12-01 20:17:25 +01:00
Diego Martín abd434059e Fixed #27250 -- Removed 'for ="..."' from CheckboxSelectMultiple's <label>. 2016-11-22 11:48:37 -05:00
Kenneth Veldman 8618a7eaa1 Fixed #27431 -- Prevented disabled form fields from appearing as changed. 2016-11-11 06:57:57 -05:00
Leila20 656654fb5b Fixed typo in django/forms/widgets.py comment. 2016-11-06 11:55:33 +01:00
Michal Petrucha 09da1e79de Fixed #27369 -- Prevented widgets from being shared between form field instances. 2016-11-06 07:16:56 +01:00
Tim Graham 87c5e7efeb Refs #27186 -- Fixed model form default fallback for CheckboxSelectMultiple. 2016-09-30 14:49:50 -04:00
Tim Graham 3507d4e773 Fixed #27186 -- Fixed model form default fallback for MultiWidget, FileInput, SplitDateTimeWidget, SelectDateWidget, and SplitArrayWidget.
Thanks Matt Westcott for the review.
2016-09-22 12:20:58 -04:00
Jon Dufresne 2c716c1dc7 Fixed #27256 -- Changed Select widget's selected attribute to use HTML5 boolean syntax. 2016-09-21 15:12:13 -07:00
Chris Lamb 9027e6c8a3 Fixed #27235 -- Removed some usage of mutable default arguments. 2016-09-16 15:48:08 -04:00
Claude Paroz 2ced2f785d Replaced smart_* by force_* calls whenever possible
The smart_* version should only be used when a lazy string should keep
its lazy status.
2016-09-03 13:46:41 +02:00
Alex Hill d9c083cfee Refs #27039 -- Fixed regression with field defaults in prefixed forms. 2016-09-01 09:13:21 -04:00
Tim Graham 4bc6b93994 Fixed #27039 -- Fixed empty data fallback to model field default in model forms. 2016-08-24 17:50:10 -04:00
Jon Dufresne f5c6d3c8d9 Fixed #27068 -- Unified form field initial data retrieval. 2016-08-18 17:55:47 -07:00
Jon Dufresne 6b842c5998 Made BoundField.initial use cached_property.
Follow up to fab46ce6f5.
2016-08-12 12:43:24 -07:00
Jon Dufresne fab46ce6f5 Fixed #27037 -- Prevented required attribute on ClearableFileInput when initial data exists. 2016-08-12 13:59:01 -04:00
Andrew Nester f5c6295797 Fixed #26844 -- Made formset's validate_min validation ignore empty forms. 2016-08-10 13:03:04 -04:00
Marcin Nowak 74bb013cc1 Fixed #26905 -- Allowed using MultiValueDict-like objects as form data. 2016-08-09 19:46:24 -04:00
Alex Hill 74105b2636 Fixed #27002 -- Prevented double query when rendering ModelChoiceField. 2016-08-08 13:41:05 -04:00
Claude Paroz 3569ba0333 Fixed #27015 -- Prevented HTML-invalid minlength/maxlength on hidden inputs 2016-08-06 10:22:17 +02:00
Jon Dufresne 50e299dbfb Fixed #26928 -- Changed forms' checked attribute to HTML5 boolean style. 2016-08-04 19:16:54 -04:00
Alex Hill c5ebfda002 Fixed #27001 -- Fixed a query count regression in ModelChoiceField with RadioSelect. 2016-08-03 10:45:55 -04:00
Jon Dufresne ac3aaaa740 Fixed #26927 -- Made subwidget iteration pass disabled and required attributes. 2016-08-01 10:36:17 -04:00
Tim Graham 4e86168290 Fixed #26970 -- Fixed crash with disabled ModelMultipleChoiceField. 2016-07-30 13:31:48 -04:00
Tim Graham a5f85d891b Fixed #26917 -- Fixed crash in disabled ModelChoiceFields.
Partially reverted refs #25532 to fix a regression in Django 1.10.
This reintroduces a crash for disabled forms.JSONField (refs #26949),
however, that issue is also present on Django 1.9.

Thanks Ryan Schave for the test.
2016-07-27 08:14:14 -04:00
Priy a7b5dfd170 Fixed #26821 -- Fixed forms.Email/URLField crash on None value. 2016-07-14 12:59:14 -04:00
Jon Dufresne 76e19da5b0 Fixed #26890 -- Fixed IntegerField crash on Unicode numbers. 2016-07-14 09:38:57 -04:00
Tim Graham 26d0023ccc Refs #15667 -- Fixed crash when indexing RadioFieldRenderer with ModelChoiceIterator.
Regression in 86573861a9
2016-06-18 10:33:37 -04:00
Jon Dufresne 267dc4addd Fixed #4136 -- Made ModelForm save empty values for nullable CharFields as NULL.
Previously, empty values were saved as strings.
2016-06-13 09:14:36 -04:00
David Sanders 5ec64f96b2 Fixed #26734 -- Made iterator class configurable on ModelChoiceField. 2016-06-09 11:10:26 -04:00
Tim Graham 67d984413c Refs #24227 -- Removed ManyToManyField special casing in model_to_dict(). 2016-05-11 10:12:59 -04:00
Tim Graham 86573861a9 Refs #15667 -- Removed choices argument from some RendererMixin methods.
RendererMixin will soon be removed but this removal and the corresponding
test changes stand on their own.
2016-04-28 18:48:52 -04:00
David Sanders a5c8a6ce19 Fixed #21332, #26538 -- Fixed inconsistent and duplicate form fields on inline formsets. 2016-04-26 10:26:25 -04:00
David Sanders 218175b09d Fixed #26534 -- Fixed boolean form fields has_changed() with hidden input. 2016-04-24 15:06:30 -04:00
Tim Graham 859eeaa0f0 Fixed #26533 -- Renamed Widget._format_value() to format_value(). 2016-04-23 13:15:45 -04:00
Loïc Bistuer a885bca1df Fixed #26528 -- Allowed any iterable (e.g. tuple) as validators kwarg for form/model fields. 2016-04-22 09:38:47 +07:00
Jon Dufresne ec6121693f Fixed #22383 -- Added support for HTML5 required attribute on required form fields. 2016-04-21 19:16:38 -04:00
Jon Dufresne 500e5a6886 Fixed #26516 -- Added minlength attribute when forms.CharField.min_length is set. 2016-04-19 08:54:27 -04:00
Tim Graham 3cb63b0e47 Refs #26502 -- Added choices to Form.__getitem__() KeyError message. 2016-04-14 09:15:09 -04:00
Michal Petrucha c339a5a6f7 Refs #16508 -- Renamed the current "virtual" fields to "private".
The only reason why GenericForeignKey and GenericRelation are stored
separately inside _meta is that they need to be cloned for every model
subclass, but that's not true for any other virtual field. Actually,
it's only true for GenericRelation.
2016-04-13 10:10:53 -04:00
Tim Graham df8d8d4292 Fixed E128 flake8 warnings in django/. 2016-04-08 09:51:06 -04:00
Tim Graham 2cd2d18851 Fixed W503 flake8 warnings. 2016-04-04 17:14:26 -04:00
Claude Paroz db19619545 Fixed #25532 -- Properly redisplayed JSONField form input values
Thanks David Szotten for the report and Tommy Beadle for code inspiration.
Thanks Tim Graham for the review.
2016-04-01 09:04:20 +02:00
Simon Charette 1a403aa705 Fixed #25987 -- Made inline formset validation respect unique_together with an unsaved parent object.
Thanks Anton Kuzmichev for the report and Tim for the review.
2016-03-26 21:49:41 -04:00
Simon Charette 5974cbe32e Removed unnecessary type creation in modelforset_factory. 2016-03-25 12:50:35 -04:00
Claude Paroz 983c158da7 Refs #24227 -- Replaced M2M isinstance checks by field.many_to_many
Thanks Markus Holtermann, Collin Anderson and Tim Graham for the reviews.
2016-03-19 09:24:27 +01:00
Yoong Kang Lim d5f89ff6e8 Fixed #24974 -- Fixed inheritance of formfield_callback for modelform_factory forms. 2016-02-26 12:27:27 -05:00
Jon Dufresne b412681359 Fixed #26267 -- Fixed BoundField to reallow slices of subwidgets. 2016-02-24 07:02:51 -05:00
Claude Paroz d43156e1e9 Fixed #26238 -- Raised explicit error for non-editable field in ModelForm
Thanks Luke Crouch for the report and Simon Charette for the review.
2016-02-21 00:24:20 +01:00
haxoza 375e1cfe2b Fixed #25349 -- Allowed a ModelForm to unset a fields with blank=True, required=False. 2016-02-19 14:18:53 -05:00
Berker Peksag 043383e3f3 Fixed #24727 -- Prevented ClearableFileInput from masking exceptions on Python 2 2016-02-15 22:51:46 +02:00
jpic 926e90132d Fixed #25731 -- Removed unused choices kwarg for Select.render() 2016-02-02 18:03:19 -05:00
Tim Graham 04564eb74d Fixed #26129 -- Made invalid forms display initial values of disabled fields. 2016-01-28 18:43:48 -05:00
jpic 65c13f9675 Refs #25731 -- Removed unused MultipleHiddenInput choices 2016-01-25 10:20:58 -05:00
Tim Graham 6b258befc2 Refs #26104 -- Replaced unnecessary force_str() with force_text(). 2016-01-23 13:40:18 -05:00
Alexander Gaevsky 956cde8004 Fixed #26104 -- Fixed TypeError when passing number to forms.DurationField. 2016-01-22 16:24:49 -05:00