Claude Paroz
d49551bc26
Fixed #27119 -- Cached BaseFormSet.management_form property
...
Thanks Tim Graham for the review.
2016-12-01 20:17:25 +01:00
Andrew Nester
f5c6295797
Fixed #26844 -- Made formset's validate_min validation ignore empty forms.
2016-08-10 13:03:04 -04:00
Jon Dufresne
ec6121693f
Fixed #22383 -- Added support for HTML5 required attribute on required form fields.
2016-04-21 19:16:38 -04:00
Russell Keith-Magee
5c35b4a8c9
Added release notes for feature added in fe21fb81
2015-06-05 11:42:58 +01:00
Sergei Maertens
238e2ac369
Fixed #18166 -- Added form_kwargs support to formsets.
...
By specifying form_kwargs when instantiating the formset, or overriding
the `get_form_kwargs` method on a formset class, you can pass extra
keyword arguments to the underlying `Form` instances.
Includes tests and documentation update.
2015-06-04 15:13:55 +02:00
Moritz Sichert
1f2abf784a
Fixed #24469 -- Refined escaping of Django's form elements in non-Django templates.
2015-03-27 19:46:20 -04:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Michael Hall
895dc880eb
Fixed #23812 -- Changed django.utils.six.moves.xrange imports to range
2014-12-13 12:45:58 -05:00
Stephen Burrows
d64f192df1
Fixed #22628 -- Took initial forms into account when combining FormSet.min_num and FormSet.extra.
...
Forwardport of 79f15ab1ef
from stable/1.7.x
2014-05-16 06:38:24 -04:00
Tomasz Wysocki
78623d253b
Removed casting to bool just before negation.
2014-04-07 08:30:05 -04:00
Alex Gaynor
778ce245dd
Corrected many style guide violations that the newest version of flake8 catches
2014-03-30 12:11:05 -07:00
Rodolfo Carvalho
0d91225892
Fixed many typos in comments and docstrings.
...
Thanks Piotr Kasprzyk for help with the patch.
2014-03-03 07:38:09 -05:00
Loic Bistuer
3ce9829b61
Fixed #17413 -- Serialization of form errors along with all metadata.
2013-12-16 16:33:28 -05:00
Christopher Medrela
7477a4ffde
Fixed E125 pep8 warnings
2013-11-28 08:50:11 -05:00
Loic Bistuer
1c7a83ee8e
Fixed #21489 -- Make formsets directly importable from django.forms.
2013-11-25 19:16:19 -05:00
Alex Gaynor
c347f78cc1
Fixed all E226 violations
2013-11-03 10:08:55 -08:00
Alex Gaynor
7548aa8ffd
More attacking E302 violators
2013-11-02 13:12:09 -07:00
Ray Ashman Jr
dcfc8fa972
Correct flake8 violation E261
2013-11-02 15:27:47 -04:00
Alex Gaynor
b35ff0d920
Fixed all the E203 violations
2013-10-26 18:27:42 -07:00
Alasdair Nicol
c3aa2948c6
Fixed #21298 -- Fixed E301 pep8 warnings
2013-10-23 13:45:03 +01:00
Alasdair Nicol
a800036981
Fixed #21287 -- Fixed E123 pep8 warnings
2013-10-18 10:07:39 +01:00
yokomizor
df27803a55
Fixed #9532 -- Added min_num and validate_min on formsets.
...
Thanks gsf for the suggestion.
2013-09-19 13:11:49 -04:00
Tim Graham
18ffdb1772
Fixed #17627 -- Renamed util.py files to utils.py
...
Thanks PaulM for the suggestion and Luke Granger-Brown and
Wiktor Kołodziej for the initial patch.
2013-09-16 12:52:05 -04:00
Alex Gaynor
2530735d2d
Fixed a number of flake8 errors -- particularly around unused imports and local variables
2013-09-06 21:56:40 -07:00
Simon Charette
11cd7388f7
Fixed #20989 -- Removed useless explicit list comprehensions.
2013-08-30 10:57:51 -04:00
Claude Paroz
5c1143910e
Removed most of absolute_import imports
...
Should be unneeded with Python 2.7 and up.
Added some unicode_literals along the way.
2013-07-29 20:28:13 +02:00
Claude Paroz
ef79582e86
Fixed 17478 -- Allowed queryset overriding in BaseModelFormSet init
...
BaseModelFormSet.forms is now a cached property instead of being
populated in the __init__ method. This behaviour also matches an
example in the documentation.
Thanks Thomasz Swiderski for the report and Simon Charette for the
review.
2013-06-22 09:29:37 +02:00
Aymeric Augustin
ffcf24c9ce
Removed several unused imports.
2013-06-19 17:18:40 +02:00
Loic Bistuer
ee77d4b253
Fixed #20199 -- Allow ModelForm fields to override error_messages from model fields
2013-06-18 08:01:17 -04:00
Baptiste Mispelon
1b7634a0d0
Fixed #20464 -- Added a `total_error_count` method on formsets.
...
Thanks to frog32 for the report and to Tim Graham for the review.
2013-06-16 15:49:30 -04:00
Ryan Kaskel
4280217f31
Fixed #20403 -- Ignore forms marked for deletion when validating max_num.
2013-05-20 12:13:21 -04:00
Senko Rasic
493aca453a
Fixed #11160 - Ensure full_clean is called from non_form_errors
...
Updated FormSet.non_form_errors() to ensure full_clean() has
been called before returning the errors.
2013-05-18 13:44:27 +02:00
Aymeric Augustin
9c487b5974
Replaced an antiquated pattern.
...
Thanks Lennart Regebro for pointing it out.
2013-05-17 18:08:58 +02:00
Claude Paroz
f9f0e8da4d
Used ngettext in a formsets error message
...
Several languages will distinctly translate '%d or fewer forms'
depending on the variable.
2013-05-04 10:18:04 +02:00
Gavin Wahl
ec04fd1344
Fixed spelling errors
2013-03-28 11:16:53 -06:00
Andrew Gorcester
f9ab543720
Fixed #20084 -- Provided option to validate formset max_num on server.
...
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.
2013-03-21 01:27:24 -07:00
Aymeric Augustin
35c991aa06
Added a default limit to the maximum number of forms in a formset.
...
This is a security fix. Disclosure and advisory coming shortly.
2013-02-19 11:23:30 -07:00
Claude Paroz
f44922c795
Fixed #18906 -- Ignored to-be-deleted forms in formset validate_unique
...
Thanks c.pollock at bangor.ac.uk for the report.
2013-02-08 21:35:19 +01:00
Simon Charette
3fc43c964e
Fixed #19545 -- Make sure media/is_multipart work with empty formsets
2013-01-03 15:16:23 +01:00
Claude Paroz
884f77bd15
Removed unusable parameters to empty_form property
2013-01-01 21:00:52 +01:00
Andreas Hug
66dfcc10b3
Fixed #18574 -- Make BaseFormSet.is_valid call its underlying forms' is_valid
...
Thanks Simon Charette for the report and the initial patch.
2012-12-06 20:00:56 +01:00
Aymeric Augustin
fc10418fba
Fixed #18963 -- Used a subclass-friendly pattern
...
for Python 2 object model compatibility methods.
2012-11-03 22:07:35 +01:00
Ludovic Delaveau
7a44dc555a
Fixed #16479 - Forms generated from formsets use ErrorList instead of supplied error_class
...
Patch with tests from charettes, updated.
2012-10-13 15:28:20 +01:00
Claude Paroz
39aa8901e1
Made use of property decorator in formsets.py
2012-09-06 23:08:15 +02:00
Claude Paroz
fb3d916c20
Fixed #18751 -- Cleaned up BaseFormSet._should_delete_form
...
We can do that now that cleaned_data is guaranteed to be
present. Related to [121fd109
].
Thanks Simon Charette for his work on the ticket.
2012-08-30 15:51:13 +02:00
Claude Paroz
5e958b958b
[py3] Avoided comparison with None value in formsets
2012-08-13 11:54:13 +02:00
Aymeric Augustin
d4a0b27838
[py3] Refactored __unicode__ to __str__.
...
* Renamed the __unicode__ methods
* Applied the python_2_unicode_compatible decorator
* Removed the StrAndUnicode mix-in that is superseded by
python_2_unicode_compatible
* Kept the __unicode__ methods in classes that specifically
test it under Python 2
2012-08-12 14:44:40 +02:00
Claude Paroz
576ec12f8e
[py3] Replaced __nonzero__ by __bool__
...
Of course, __nonzero__ alias has been kept for Python 2 compatibility.
2012-08-08 15:02:31 +02:00
Claude Paroz
9908201d7f
Replaced some byte strings by str() calls
...
This is a useful trick when Python 2 awaits byte strings and
Python 3 Unicode (regular) strings.
2012-08-03 15:18:13 +02:00
Aymeric Augustin
a84d79f572
[py3] Added Python 3 compatibility for xrange.
2012-07-22 09:29:56 +02:00