Gavin Wahl
ec04fd1344
Fixed spelling errors
2013-03-28 11:16:53 -06:00
Claude Paroz
066bf42675
Removed forced typecasting of help_text/label Field arguments
...
In any case, setting those variables to non-ascii utf-8 bytestrings
is now considered a programming error.
2013-03-25 21:38:21 +01:00
Anssi Kääriäinen
97774429ae
Fixed #19385 again, now with real code changes
...
The commit of 266de5f9ae
included only
tests, this time also code changes included...
2013-03-24 18:40:40 +02: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
Carny Cheng
aaec4f2bd8
Fixed #18839 - Field.__init__() now calls super().
2013-03-20 16:20:57 -07:00
konarkmodi
bc4111ba68
Fixed #18003 -- Preserved tracebacks when re-raising errors.
...
Thanks jrothenbuhler for draft patch, Konark Modi for updates.
2013-03-19 15:42:39 -07:00
Claude Paroz
2f121dfe63
Fixed #17051 -- Removed some 'invalid' field error messages
...
When the 'invalid' error message is set at field level, it masks
the error message raised by the validator, if any.
2013-03-14 17:03:43 +01:00
Claude Paroz
9883551d50
Fixed #20039 -- Fixed has_changed form detection for required TypedChoiceFields
...
Thanks Florian Apolloner for the report and the review.
Also fixes #19643 .
2013-03-14 14:49:07 +01:00
Claude Paroz
cbfb8ed53b
Fixed a regression in forms changed_data
...
Thanks Loic Bistuer for spotting the regression and the initial
patch. Refs #16612 .
2013-03-08 18:19:24 +01:00
Loic Bistuer
6983a1a540
Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet.
2013-03-08 10:11:45 -05:00
Claude Paroz
4cccb85e29
Fixed #19997 -- Added custom EMPTY_VALUES to form fields
...
Thanks Loic Bistuer for the report and the patch.
2013-03-07 15:22:03 +01:00
Claude Paroz
51cc7029b9
Fixed #19464 -- Eased customization of ClearableFileInput's link markup
...
Thanks rubyruy for the report and the patch.
2013-03-04 17:03:48 +01:00
Claude Paroz
3318595c0b
Fixed #18898 -- Added tests with a fix for ModelMultipleChoiceField
2013-03-01 09:35:18 +01:00
Claude Paroz
892bc91cb0
Fixed #16612 -- Improved has_changed detection for localized field values
...
Thanks Simon Charette for the review.
2013-03-01 09:35:04 +01:00
Claude Paroz
5eebb49c69
Fixed #19908 -- Added missing import in forms.py
...
Thanks loic84 for the report.
2013-02-24 22:59:15 +01:00
Klaas van Schelven
1c11ee6345
Fixed #18829 -- Fixed ModelChoiceIterator length
...
Thanks facundo.olano at gmail.com for the report and thikonom for
the initial patch.
2013-02-23 22:27:07 +01:00
Florian Apolloner
5ae0c933a8
Fixed errors introduced in 21f333bcef
. Refs #17751
2013-02-23 18:43:34 +01:00
Claude Paroz
cc53d9b30b
Fixed #15877 -- Improved exception when ModelForm has no model class
...
Thanks theaspect at gmail.com for the report and volrath for the
patch.
2013-02-23 18:32:29 +01:00
Erik Romijn
21f333bcef
Fix #17751 : Added stripping of whitespace for IPAddressField/GenericIPAddressField
2013-02-23 14:44:57 +01:00
Klaas van Schelven
91c9470664
Method "save" in BaseModelFormSet is marked as alters_data
...
Fixes #17663
2013-02-23 13:01:28 +01:00
Claude Paroz
7ec2a21be1
Fixed #19686 -- Added HTML5 number input type
...
Thanks Simon Charette for his help on the patch. Refs #16630 .
2013-02-23 10:18:08 +01: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
a097ee32d8
Fixed #17683 -- Make sure `BaseModelFormSet` respects defined widgets.
2013-02-05 05:39:35 -05:00
Claude Paroz
5b4805ae2b
Merge pull request #686 from skrr/ticket_19703
...
Fixed #19703 -- Typo in get_declared_fields docstring
2013-01-30 13:29:56 -08:00
Claude Paroz
fc8efc2d9e
Fixed #19034 -- Added proper i18n pluralization for max/min length validation messages
...
This was made possible by commit 3f1a0c0040
. Thanks Evil Clay
for the report and Alexey Boriskin his work on the ticket.
2013-01-30 21:44:14 +01:00
Simon Kerr
52533a64d5
fixed minor typo #19703
2013-01-30 19:48:05 +01:00
Claude Paroz
f7394d2c32
Added HTML5 url input type
...
Refs #16630 .
2013-01-28 22:11:00 +01:00
Claude Paroz
4f16376274
Added HTML5 email input type
...
Refs #16630 .
2013-01-28 22:10:50 +01:00
Claude Paroz
4b3f7110ae
Fixed #16123 -- Ensured strptime receive proper string type
...
strptime generates an UnicodeEncodeError when using a non-ascii
unicode string on Python 2.
2013-01-26 20:53:09 +01:00
Claude Paroz
962f133f72
Fixed #18483 -- Marked hidden field error string for translation
...
Thanks Evil Clay for the report and Emil Stenstrom for the initial
patch.
2013-01-26 19:59:44 +01:00
Claude Paroz
d18893d5ce
Moved BooleanField 'required' validation in validate()
2013-01-26 16:45:29 +01:00
Claude Paroz
58062a6302
Used property decorators in django/forms.py
2013-01-25 22:41:45 +01:00
Claude Paroz
ebb504db69
Moved has_changed logic from widget to form field
...
Refs #16612 . Thanks Aymeric Augustin for the suggestion.
2013-01-25 20:50:46 +01:00
Nick Sandford
93e79b45bc
Fixed #17416 -- Added widgets argument to inlineformset_factory and modelformset_factory
2013-01-24 08:58:17 +01:00
Anssi Kääriäinen
3647c0a49a
Avoided unnecessary recreation of RelatedObjects
...
Refs #19399 . Thanks to Track alias KJ for the patch.
2013-01-18 07:09:39 +02:00
Aymeric Augustin
4cf057faab
Removed obsolete comment.
...
These features are implemented, tracked in tickets, or not necessary.
Thanks Bruno Renié.
2013-01-15 18:02:24 +01:00
Tim Graham
71d76ec011
Fixed #10239 - Added docs for modelform_factory
...
Thanks ingenieroariel for the suggestion and slurms for the review.
2013-01-11 06:00:19 -05:00
Loic Raucy
62f842e2e5
Fixed #19581 -- ensure unique html ids with CheckboxSelectMultiple widgets
...
ID check is now done the same way as MultipleHiddenInput.
2013-01-09 16:06:56 -08: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
Claude Paroz
d11038acb2
Fixed #19537 -- Made CheckboxInput._has_changed handle 'False' string
...
Thanks dibrovsd@gmail.com for the report.
2012-12-31 10:18:59 +01:00
Aymeric Augustin
e9c24bef74
Fix #19524 -- Incorrect caching of parents of unsaved model instances.
...
Thanks qcwxezdas for the report. Refs #13839 .
2012-12-28 23:34:54 +01:00
Ian Clelland
6b9f130278
Sort HTML attributes on generated forms
2012-12-24 00:47:17 +00:00
Patryk Zawadzki
3989ce52ef
Fixed #18172 -- Made models with __iter__ usable in ModelMultipleChoiceField
...
Thanks to Patryk Zawadzki for the patch.
2012-12-19 22:51:12 +02: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
Claude Paroz
78f66691ee
Fixed #8627 -- Prevented textareas to swallow first newline content
...
Browsers consider the first newline in textareas as some display
artifact, not real content. Hence they are not sending it back to
the server. If we want to keep initial newlines, we have to add one
when we render the textarea.
Thanks bastih for the report and initial patch.
2012-11-05 20:27:06 +01:00
Anton I. Sipos
e44ab5bb4f
Fixed #18949 -- Improve performance of model_to_dict with many-to-many
...
When calling model_to_dict, improve performance of the generated SQL by
using values_list to determine primary keys of many to many objects. Add
a specific test for this function, test_model_to_dict_many_to_many
Thanks to brian for the original report and suggested fix.
2012-11-04 15:52:05 -08: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
Claude Paroz
be29329ccd
Fixed #16820 -- Treated '0' value as True for checkbox inputs
...
Thanks Dan Fairs for the report and the initial patch.
2012-10-26 20:44:00 +02: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
Stephen Burrows
218abcc9e5
Fixed #14567 -- Made ModelMultipleChoiceField return EmptyQuerySet as empty value
2012-10-03 20:47:35 +03:00
Adrien Lemaire
2c8267bf3d
Fixed #17899 -- Rewrote [Ee]-mail to [Ee]mail
2012-09-26 14:14:51 +02:00
Aymeric Augustin
3174b5f2f5
Fixed #18982 - Caught TypeError in DateField.clean
...
Thanks gwahl at fusionbox com.
2012-09-23 13:27:01 +02:00
Claude Paroz
f1bdfbd24b
Document and test 'type' usage in Widget attrs
...
Refs #16630 .
2012-09-10 19:31:11 +02:00
Alex Gaynor
6a5a12ea3e
Fixed #17888 -- no longer silence exceptions inside of check_test. Thanks to brutasse for the patch.
2012-09-07 14:37:21 -04: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
Aymeric Augustin
5301a9d7b1
[py3] Removed duplicate imports.
...
Fixed #18837 . Refs #18791 .
2012-08-23 10:16:16 +02:00
Alexey Boriskin
abc4038b0b
Fixed #18791 : [py3] Double import of six in django.forms.widgets
2012-08-18 19:17:42 +04:00
Aymeric Augustin
e091c18f50
[py3] Removed a remaining use of __metaclass__.
2012-08-14 23:45:12 +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
db729266d6
[py3] Fixed 'iterable but non string' detection
...
In Python 3, the str type has an __iter__ attribute. Therefore, the
presence of an __iter__ attribute is not sufficient to distinguish
'standard' iterables (list, tuple) from strings.
2012-08-08 18:02:25 +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
Aymeric Augustin
c5ef65bcf3
[py3] Ported django.utils.encoding.
...
* Renamed smart_unicode to smart_text (but kept the old name under
Python 2 for backwards compatibility).
* Renamed smart_str to smart_bytes.
* Re-introduced smart_str as an alias for smart_text under Python 3
and smart_bytes under Python 2 (which is backwards compatible).
Thus smart_str always returns a str objects.
* Used the new smart_str in a few places where both Python 2 and 3
want a str.
2012-08-07 12:00:22 +02:00
Aymeric Augustin
ee191715ea
[py3] Fixed access to dict keys/values/items.
2012-08-07 12:00:22 +02:00
Alex Gaynor
ede49c7ee0
Fixed #15754 -- avoid recursively computing the tree of media widgets more times than is necessary for a wiget
2012-08-06 07:59:59 -07:00
Claude Paroz
121fd109de
Fixed #5524 -- Do not remove cleaned_data when a form fails validation
...
cleaned_data is no longer deleted when form validation fails but only
contains the data that did validate.
Thanks to the various contributors to this patch (see ticket).
2012-08-04 14:22:23 +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
Florian Apolloner
b1d4634686
Fixed second security issue in image uploading. Disclosure and release forthcoming.
2012-07-30 21:57:22 +02:00
Piet Delport
487b92a13c
it's -> its
2012-07-25 01:21:15 +02:00
Aymeric Augustin
a84d79f572
[py3] Added Python 3 compatibility for xrange.
2012-07-22 09:29:56 +02:00
Aymeric Augustin
0d914d08a0
[py3] Updated urllib/urllib2/urlparse imports.
...
Lots of functions were moved. Use explicit imports in all cases
to keey it easy to identify where the functions come from.
2012-07-22 09:29:55 +02:00
Aymeric Augustin
bdca5ea345
[py3] Replaced unicode/str by six.text_type/bytes.
2012-07-22 09:29:54 +02:00
Aymeric Augustin
3cb2457f46
[py3] Replaced basestring by six.string_types.
2012-07-22 09:29:54 +02:00
Aymeric Augustin
d11d45aad9
[py3] Used six.with_metaclass wherever necessary.
2012-07-22 09:29:52 +02:00
Luke Plant
8fdc56d2a6
Fixed #18572 - Python26 string format incompatibility
...
Thanks to anonymous/AeroNotix for the report
2012-07-06 00:23:02 +01:00
Luke Plant
a92e7f37c4
Changed a lot of internal code to use 'format_html' where appropriate/possible
2012-07-03 22:20:12 +01:00
Claude Paroz
4a103086d5
Fixed #18269 -- Applied unicode_literals for Python 3 compatibility.
...
Thanks Vinay Sajip for the support of his django3 branch and
Jannis Leidel for the review.
2012-06-07 18:08:47 +02:00
Julien Phalip
f6fc83c975
Fixed #18409 -- Made RegexField work with unicode characters.
2012-05-31 11:45:35 -07:00
Claude Paroz
38408f8007
Marked bytestrings with b prefix. Refs #18269
...
This is a preparation for unicode literals general usage in
Django (Python 3 compatibility).
2012-05-19 17:43:34 +02:00
Claude Paroz
eb0140bddc
Hidden __pycache__ dirs for FilePathField. Refs #17393 .
...
This will be tested as soon as tests will run under Python 3. Patch
taken from Vinay Sajip's Python 3 branch.
2012-05-16 23:15:49 +02:00
Claude Paroz
d7dfab59ea
Replaced cStringIO.StringIO by io.BytesIO.
...
Also replaced StringIO.StringIO by BytesIO in some other appropriate
places. StringIO is not available in Python 3.
2012-05-05 21:41:44 +02:00
Claude Paroz
3904b74a3f
Fixed #18013 -- Use the new 'as' syntax for exceptions.
...
Thanks Clueless for the initial patch.
Note that unittest has been purposely left out (external package only used by Python 2.6).
2012-04-29 20:57:15 +02:00
Aymeric Augustin
9350d1d59c
Fixed #17976 -- Made forms.BooleanField pickleable.
...
This was a regression in Django 1.4.
Thanks bronger for the report and claudep for the patch.
2012-04-29 14:25:06 +02:00
Alex Gaynor
3c5ff9d703
Fixed #5893 -- Added a flag to FilePathField to allow listing folders, in addition to regular files. Thank you to Brian Rosner, for encouraging me to first contribute to Django 4 years ago.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17925 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-04-22 14:44:08 +00:00
Claude Paroz
5e047ed859
Removed pre-2.6 compatibility code in date-based form fields. Refs #9459 .
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17870 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-04-05 14:49:02 +00:00
Aymeric Augustin
9ed6e08ff9
Removed deprecated URLField.verify_exists.
...
The deprecation schedule was slightly accelerated because of possible security ramifications.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17847 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-03-31 13:55:03 +00:00
Claude Paroz
159d1be656
Fixed #11150 -- Removed dependency on cStringIO in ImageField validation. Thanks vvd for the report.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17825 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-03-29 16:49:59 +00:00
Julien Phalip
3732c82f59
Made a minor tweak to a doctoring in `django/forms.forms.py` that was missed in r17452. Thanks to Claude Paroz for the tip.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17453 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-02-05 08:12:07 +00:00
Julien Phalip
1cd18f4cfd
Fixed #17493 -- Made `Widget.id_for_label()` consistently be an instance method.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17452 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-02-05 08:09:26 +00:00
Jannis Leidel
56d787df99
Fixed #17542 -- Gracefully handle errors when checking if the values of a SelectDateWidget has changed if it's not required. Thanks, pigletto.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17436 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-02-04 16:05:58 +00:00
Jannis Leidel
4d8a0f8902
Fixed #17594 -- Stopped ModelFormset.save from running a SELECT query by relying on the fact that the initial form is already set. Thanks, tswicegood.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17434 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-02-04 16:05:39 +00:00
Jannis Leidel
9c045d00dc
Fixed #14184 -- Enabled running the validators in MultiValueFields. Thanks, paulcollins.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17430 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-02-04 12:48:12 +00:00
Alex Gaynor
477f4d8061
Clean up the form's code a little bit, to make it more consistantly go through one code path. Patch from Travis Swicegood.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17381 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-01-19 22:05:47 +00:00
Ramiro Morales
e308cfc0e1
Added support for specifying initial values to model formsets and inline formsets.
...
This make them consistent with the similar capability of regular
formsets. Thanks to simon29 form the report and to Claude Paroz for the
patch.
Fixes #14574 .
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17373 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-01-15 01:36:14 +00:00
Adrian Holovaty
08bec4fbc1
Changed BoundField.subwidgets() to return SubWidget objects instead of rendered strings. This means we can access individual radio buttons' properties in the template (see new docs)
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17175 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-12-07 23:08:27 +00:00
Adrian Holovaty
fc90c09efd
Made BoundFields iterable, so that you can iterate over individual radio buttons of a RadioSelect in a template
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17173 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-12-07 22:31:39 +00:00
Aymeric Augustin
19e54084dc
Fixed #17114 -- Handled integer values 0 and 1 for checkboxes like other integer values, not like False and True.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17132 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-11-21 10:11:06 +00:00