Commit Graph

825 Commits

Author SHA1 Message Date
Tim Graham 6e4c6281db Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()."
This reverts commit 550cb3a365
because try/except performs better.
2017-09-07 08:16:21 -04:00
Josh Schneier 48c394a6fc Fixed #28555 -- Made CharField convert whitespace-only values to the empty_value when strip is enabled. 2017-09-05 12:41:38 -04:00
Sergey Fedoseev f0d9ede9e6 Removed useless itertools.chain() call in ChoiceWidget.optgroups(). 2017-08-31 08:04:36 -04:00
caleb logan 9e2bf65d6a Fixed #28530 -- Prevented SelectDateWidget from localizing years in output. 2017-08-29 14:56:08 -04:00
Collin Anderson 751f7a6d9b Added Media.__repr__().
It makes it easier to debug MediaOrderConflictWarnings
(refs #28377).
2017-08-26 20:57:45 -04:00
Alejandro Zamora 90d7b912b9 Fixed #28201 -- Added ProhibitNullCharactersValidator and used it on CharField form field. 2017-08-12 20:14:14 -04:00
Srinivas Reddy Thatiparthy 5cb7619995 Simplified Float/DecimalField.validate() with math.isfinite(). 2017-08-09 20:41:39 -04:00
Srinivas Reddy Thatiparthy b5d47b18f1 Removed unnecessary else in SelectDateWidget.id_for_lable(). 2017-08-07 22:01:45 -04:00
Sergey Fedoseev aadd3aeb2b Avoided creating temporary lists for obtaining the first item. 2017-07-31 11:02:23 -04:00
Sergey Fedoseev 38988f289f Avoided creation of temporary sets. 2017-07-29 10:16:43 -04:00
Srinivas Reddy Thatiparthy b306c0c1a3 Fixed #28264 -- Made FilePathField sort files and directories when recursive=True. 2017-07-29 09:15:46 -04:00
Windson yang f32d24652b Fixed #28321 -- Prevented FormSet.full_clean() from adding errors from deleted forms. 2017-07-24 18:55:41 -04:00
Johannes Hoppe c19b56f633 Fixed #28377 -- Made combining form Media retain relative asset order.
Thanks Florian Apolloner, Mariusz Felisiak, and Tim Graham for reviews.
2017-07-20 11:06:30 -04:00
Roman Selivanov d4da39685b Fixed #28414 -- Fixed ClearableFileInput rendering as a subwidget of MultiWidget. 2017-07-19 14:28:06 -04:00
Srinivas Reddy Thatiparthy 5debbdfcc8 Fixed #28387 -- Fixed has_changed() for disabled form fields that subclass it. 2017-07-14 13:06:51 -04:00
Windsooon e19b9d6015 Merged nested if statements in BaseFormSet.is_valid(). 2017-07-12 14:13:03 -04:00
Jon Dufresne d7881d2020 Fixed #22229 -- Added primary key validation to BaseModelFormSet._construct_form(). 2017-07-11 14:33:21 -04:00
Jon Dufresne a1be12fe19 Fixed #28345 -- Applied limit_choices_to during ModelForm.__init__().
field_for_model() now has an additional keyword argument,
apply_limit_choices_to, allowing it to continue to be used to create
form fields dynamically after ModelForm.__init__() is called.

Thanks Tim Graham for the review.
2017-06-30 15:57:48 -07:00
Mads Jensen 550cb3a365 Fixed #27818 -- Replaced try/except/pass with contextlib.suppress(). 2017-06-28 14:07:55 -04:00
Tim Graham 221e6e1817 Fixed #28176 -- Restored the uncasted option value in ChoiceWidget template context. 2017-06-17 18:17:23 -04:00
Tim Graham 3b050fd0d0 Fixed #28303 -- Prevented localization of attribute values in the DTL attrs.html widget template. 2017-06-17 08:12:05 -04:00
Tom 3eb3907bb1 Refs #23919 -- Replaced stray super(ClassName, self) with super(). 2017-06-10 20:46:43 -04:00
Claude Paroz 43b574007e Fixed #28192 -- Required passing optional form field args as keyword args. 2017-06-03 10:49:01 -04:00
Tim Graham 8e752d8437 Refs #28192 -- Made MultiValueField/ComboField fields argument required as documented. 2017-06-03 10:15:46 -04:00
Jon Dufresne 29a518006f Fixed #28265 -- Prevented renderer warning on Widget.render() with **kwargs. 2017-06-02 09:46:43 -04:00
Jon Dufresne 2c69824e5a Refs #23968 -- Removed unnecessary lists, generators, and tuple calls. 2017-06-01 19:08:59 -04:00
Manatsawin Hanmongkolchai a0c07d77fc Fixed #28242 -- Moved ImageField file extension validation to the form field. 2017-06-01 10:13:23 -04:00
Jon Dufresne 21046e7773 Fixed #28249 -- Removed unnecessary dict.keys() calls.
iter(dict) is equivalent to iter(dict.keys()).
2017-05-27 19:08:46 -04:00
Tom 7afb476469 Fixed #28226 -- Replaced use of str.join() with concatenation. 2017-05-27 13:59:05 -04:00
Tim Heap 5b6181f4d5 Fixed #27922 -- Added ErrorDict.get_json_data(). 2017-05-27 09:19:42 -04:00
Alexander Kavanaugh 362fba87c9 Fixed #28159 -- Fixed BaseInlineFormSet._construct_form() crash when using save_as_new.
Regression in 4a246a02bd.
2017-05-03 07:45:51 -04:00
Tim Graham d302e2c09c Fixed #28157 -- Fixed choice ordering in form fields with grouped and non-grouped options.
Regression in b52c73008a.
2017-05-03 07:21:44 -04:00
Tim Graham f04a404917 Fixed #28130 -- Fixed formset min_num validation with initial, unchanged forms.
Regression in f5c6295797.
2017-04-28 09:32:40 -04:00
Claude Paroz 301de774c2 Refs #27795 -- Replaced many force_text() with str()
Thanks Tim Graham for the review.
2017-04-27 09:10:02 +02:00
Jon Dufresne 92bc727271 Replaced temporary lists used for passing arguments with iterables. 2017-04-26 10:54:20 -04:00
Jon Dufresne 3e91850dcc Removed unneeded is True|False from bool expressions in widgets.py. 2017-04-21 12:34:18 -04:00
Jon Dufresne 581879a510 Fixed #28075 -- Prevented ChoiceWidget from localizing option values. 2017-04-21 12:14:40 -04:00
Tim Graham af1f986360 Fixed #28059 -- Restored class attribute in <ul> of widgets that use multiple_input.html.
Regression in b52c73008a
2017-04-20 10:06:34 -04:00
Tim Graham c09bf8d767 Fixed #28058 -- Restored empty BoundFields evaluating to True.
Regression in b52c73008a
2017-04-17 08:32:29 -04:00
Stefan Wehrmeyer 1aa8e8605c Fixed #27989 -- Preserved empty QueryDicts for form's data/files args. 2017-04-01 18:43:39 -04:00
Claude Paroz e487ffd3f0 Fixed #27866 -- Made ChoiceWidget.format_value() return a list
Thanks Tim Graham for the review.
2017-04-01 12:24:05 +02:00
heathervm 7d1e237753 Fixed #27993 -- Fixed model form default fallback for SelectMultiple. 2017-03-31 10:10:08 -04:00
James Beith 216bb2e8fb Fixed #27975 -- Fixed crash if ModelChoiceField's queryset=None.
Regression in 9153d8fbd6385db9f48793662de789fc3d686841.
2017-03-22 08:51:12 -04:00
Tim Graham 075e93c16a Refs #27919 -- Changed Widget.get_context() attrs kwarg to an arg. 2017-03-21 09:14:45 -04:00
Tim Graham 6ff356e891 Refs #27919 -- Passed ChoiceWidget.create_option() kwargs as expected. 2017-03-21 09:14:45 -04:00
Jon Dufresne 7edeeb74fe Fixed #27957 -- Removed technical terms from InlineForeignKeyField/ModelMultipleChoiceField error messages. 2017-03-20 13:12:55 -04:00
Adonys Alea Boffill cd2ad26cc9 Fixed #27724 -- Fixed SelectDateWidget redisplay if a year isn't chosen. 2017-03-18 15:14:52 -04:00
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