| Age | Commit message (Collapse) | Author |
|
|
|
Thanks Denis Martinez for the report and initial patch, and
Sergey Kolosov for bringing the patch up to date.
|
|
Don't try to be smart about building a good-looking help string
because it evaluates translations too early, simply use the same old
strategy as before. Thanks Donald Stufft for the report.
Also, actually fix the case reported by the OP by special-casing
CheckboxSelectMultiple.
Added tests.
Refs #9321.
|
|
In _get_changed_data, check if initial_value is a callable and call it
if it is.
|
|
fields.
This is backward incompatible for custom form field/widgets that rely
on the hard-coded 'Hold down "Control", or "Command" on a Mac, to select
more than one.' sentence.
Application that use standard model form fields and widgets aren't
affected but need to start handling these help texts by themselves
before Django 1.8.
For more details, see the related release notes and deprecation timeline
sections added with this commit.
|
|
|
|
Fixed #11160: Formset non_form_errors returns ErrorList() if is_valid is not called
|
|
|
|
Fixed #18761 -- Added whitespace stripping to URLField and SlugField.
|
|
|
|
|
|
|
|
Updated FormSet.non_form_errors() to ensure full_clean() has
been called before returning the errors.
|
|
Thanks Lennart Regebro for pointing it out.
|
|
This starts the deprecation period for PIL (support to end in 1.8).
|
|
added '__all__' shortcut
This also updates all dependent functionality, including modelform_factory
and modelformset_factory, and the generic views `ModelFormMixin`,
`CreateView` and `UpdateView` which gain a new `fields` attribute.
|
|
Several languages will distinctly translate '%d or fewer forms'
depending on the variable.
|
|
Also fixed plural messages for DecimalField.
|
|
I refactored RadioSelect and CheckboxSelectMultiple to
make them inherit from a base class, allowing them to share
the behavior of being able to iterate over their subwidgets.
Thanks to Matt McClanahan for the initial patch and to
Claude Paroz for the review.
|
|
|
|
|
|
Also cleaned up label escaping and consolidated the test suite regarding
label_tag.
|
|
|
|
|
|
In any case, setting those variables to non-ascii utf-8 bytestrings
is now considered a programming error.
|
|
The commit of 266de5f9ae9e9f2fbfaec3b7e4b5fb9941967801 included only
tests, this time also code changes included...
|
|
This is provided as a new "validate_max" formset_factory option defaulting to
False, since the non-validating behavior of max_num is longstanding, and there
is certainly code relying on it. (In fact, even the Django admin relies on it
for the case where there are more existing inlines than the given max_num). It
may be that at some point we want to deprecate validate_max=False and
eventually remove the option, but this commit takes no steps in that direction.
This also fixes the DoS-prevention absolute_max enforcement so that it causes a
form validation error rather than an IndexError, and ensures that absolute_max
is always 1000 more than max_num, to prevent surprising changes in behavior
with max_num close to absolute_max.
Lastly, this commit fixes the previous inconsistency between a regular formset
and a model formset in the precedence of max_num and initial data. Previously
in a regular formset, if the provided initial data was longer than max_num, it
was truncated; in a model formset, all initial forms would be displayed
regardless of max_num. Now regular formsets are the same as model formsets; all
initial forms are displayed, even if more than max_num. (But if validate_max is
True, submitting these forms will result in a "too many forms" validation
error!) This combination of behaviors was chosen to keep the max_num validation
simple and consistent, and avoid silent data loss due to truncation of initial
data.
Thanks to Preston for discussion of the design choices.
|
|
|
|
Thanks jrothenbuhler for draft patch, Konark Modi for updates.
|
|
When the 'invalid' error message is set at field level, it masks
the error message raised by the validator, if any.
|
|
Thanks Florian Apolloner for the report and the review.
Also fixes #19643.
|
|
Thanks Loic Bistuer for spotting the regression and the initial
patch. Refs #16612.
|
|
return a QuerySet.
|
|
Thanks Loic Bistuer for the report and the patch.
|
|
Thanks rubyruy for the report and the patch.
|
|
|
|
Thanks Simon Charette for the review.
|
|
Thanks loic84 for the report.
|
|
Thanks facundo.olano at gmail.com for the report and thikonom for
the initial patch.
|
|
|
|
Thanks theaspect at gmail.com for the report and volrath for the
patch.
|
|
IPAddressField/GenericIPAddressField
|
|
Fixes #17663
|
|
Thanks Simon Charette for his help on the patch. Refs #16630.
|
|
This is a security fix. Disclosure and advisory coming shortly.
|
|
Thanks c.pollock at bangor.ac.uk for the report.
|
|
|
|
Fixed #19703 -- Typo in get_declared_fields docstring
|
|
validation messages
This was made possible by commit 3f1a0c0040b9. Thanks Evil Clay
for the report and Alexey Boriskin his work on the ticket.
|
|
|