Loic Bistuer
ac5ec7b8bc
Fixed #19617 -- Refactored Form metaclasses to support more inheritance scenarios.
...
Thanks apollo13, funkybob and mjtamlyn for the reviews.
2013-10-14 21:59:30 +07:00
Claude Paroz
00a73c1c69
Fixed #21173 -- Stopped fixing format for date-based widgets at init time
...
Thanks Marc Tamlyn for the review.
2013-10-12 18:31:19 +02:00
Tim Graham
b67ab75e82
Fixed assorted flake8 errors.
2013-10-11 07:25:14 -04:00
Tim Graham
adedc31072
Fixed "redefinition of unused 'foo' from line X" pyflakes warnings.
2013-10-10 11:09:42 -04:00
Tim Graham
ff9e8eccf8
Removed unnecessary semicolons.
2013-10-10 08:50:32 -04:00
Christopher Babiak
a834bc84d8
Fixed #20931 -- Fixed select widgets nested choice rendering
...
ChoiceFieldRenderer was not rendering nested choices. Added recursion
to ChoiceFieldRenderer to take nested choices and render them as
<ul>'s.
2013-09-28 17:25:32 -07:00
Erik Romijn
1a63092981
Fixed #20439 -- Started deprecation of IPAddressField
2013-09-28 10:55:32 +02: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
1234225068
Fixed test failures introduced in previous commit.
2013-09-16 13:12:50 -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
Tim Graham
4e96dac450
Fixed #19298 -- Added MultiValueField.__deepcopy__
...
Thanks nick.phillips at otago.ac.nz for the report.
2013-09-10 13:56:49 -04:00
Florian Apolloner
d5d0e03ec8
Fixed test errors from 053de6131a
on py3.2.
2013-09-10 19:17:01 +02:00
e0ne
053de6131a
Fixed #5749 -- Added field_name as a key in the _html_output dict
...
Thanks SmileyChris for the suggestion.
2013-09-10 13:00:10 -04:00
Florian Apolloner
df2fd4e09b
Removed unneeded imports in tests's __init__.py and unified them.
2013-09-09 23:01:07 +02:00
Daniel Langer
cc957cb16c
Fixed #4287 -- Fixed NaN and +/- Infinity handling in FloatField
...
NaN, +Inf, and -Inf are no longer valid values for FloatFields.
2013-09-06 14:56:37 -04:00
Tim Graham
5649c0af9d
Fixed "indentation is not a multiple of four" pep8 issues.
2013-09-03 14:22:21 -04:00
Simon Charette
11cd7388f7
Fixed #20989 -- Removed useless explicit list comprehensions.
2013-08-30 10:57:51 -04:00
Loic Bistuer
da800be6dd
Fixed #20986 -- Enabled SelectDateWidget to use custom months
...
Reviewed by Trac alias MarkusH.
2013-08-28 16:39:26 +03:00
Claude Paroz
165f44aaaa
Combine consecutive with statements
...
Python 2.7 allows to combine several 'with' instructions.
2013-08-16 20:12:10 +02:00
Matt Johnson
907ef9d0d1
Fixed #20555 -- Make subwidget id attribute available
...
In `BoundField.__iter__`, the widget's id attribute is now passed to
each subwidget. A new id_for_label property was added to ChoiceInput.
2013-08-13 13:23:05 -04:00
Marc Tamlyn
1c4a9bd9ad
Revert change to the default Form.clean()
...
This means it doesn't break for people who are doing
`cleaned_data = super(FooForm, self).clean()`.
2013-08-08 14:27:48 +01:00
Marc Tamlyn
fb1dd6b13a
Form.clean() does not need to return cleaned_data.
...
If it does, that will be used as the cleaned_data. The default
implementation has been changed to match this change.
2013-08-08 14:05:55 +01:00
Tai Lee
1280675834
Fixed #15511 -- Allow optional fields on ``MultiValueField` subclasses.
...
The `MultiValueField` class gets a new ``require_all_fields`` argument that
defaults to ``True``. If set to ``False``, individual fields can be made
optional, and a new ``incomplete`` validation error will be raised if any
required fields have empty values.
The ``incomplete`` error message can be defined on a `MultiValueField`
subclass or on each individual field. Skip duplicate errors.
2013-08-06 08:50:47 -04:00
Tim Heap
75c87e2d38
Fixed #20850 -- Added MultiWidget.needs_multipart_form
2013-08-05 10:02:28 -04:00
Alex Couper
1123f45511
Fixed #20649 -- Allowed blank field display to be defined in the initial list of choices.
2013-07-31 14:12:03 -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
Julien Phalip
47c755327b
Fixed a number of minor misspellings.
2013-07-27 18:46:03 -07:00
Tim Graham
8676318d2d
Fixed #20805 -- Removed an extra colon beside checkboxes in the admin.
...
Thanks CollinAnderson for the report.
2013-07-26 14:45:38 -04:00
Claude Paroz
02b0106d43
Fixed #20781 -- Fixed _has_changed regression with MultiValueField
...
Thanks Tim Graham for the report.
2013-07-22 09:06:07 +02:00
Simon Charette
415a36947c
Fixed #20765 -- Set small values of `step` using exponential notation.
...
Browsers parse small factors of 10 as 0 under decimal notation.
Thanks to Trac alias matklad for the report and Claude Paroz for the review.
2013-07-19 23:31:15 -04:00
Tim Graham
9b471a8fe3
Fixed a deprecation warning in a selenium test.
2013-07-13 13:15:28 -04:00
Aymeric Augustin
cfcf4b3605
Stopped using django.utils.unittest in the test suite.
...
Refs #20680 .
2013-07-01 14:29:33 +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
Simon Charette
04628e2016
Fixed #20630 -- Removed `maxlength` attribute from `NumberInput`.
...
This attribute is only allowed on inputs of type "text", "search", "url",
"tel", "email", or "password".
Thanks to yoyoma for the report and @bmispelon for the review.
2013-06-20 10:59:41 -04:00
Baptiste Mispelon
3128f3d38d
Fixed #20618 -- Fixed regression in `BoundField.label_tag`.
2013-06-18 17:49:53 +02: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
Marc Tamlyn
46789e76c6
Fixed #20548 -- Removed all PendingDeprecationWarnings from django test suite
2013-06-14 15:37:39 +01:00
Gabe Jackson
584bd14dcf
Fixed #18134 -- BoundField.label_tag now includes the form's label_suffix
...
There was an inconsistency between how the label_tag for forms were
generated depending on which method was used: as_p, as_ul and as_table
contained code to append the label_suffix where as label_tag called on a
form field directly did NOT append the label_suffix. The code for
appending the label_suffix has been moved in to the label_tag code of
the field and the HTML generation code for as_p, as_ul and as_table now
calls this code as well.
This is a backwards incompatible change because users who have added the
label_suffix manually in their templates may now get double label_suffix
characters in their forms.
2013-06-10 14:23:15 -04:00
Aymeric Augustin
dfcce4288a
Fixed available_apps for selenium tests.
...
Refs #20483 .
2013-06-10 12:11:46 +02:00
Stephen Burrows
e2518fdf46
Fixed #12337 - Honor ModelForm.Meta.exclude when saving ManyToManyFields.
...
Thanks margieroginski for the report.
2013-06-06 10:01:48 -04:00
Claude Paroz
b67f2ac8e6
Fixed #20502 (again) -- More i18n cache flush in tests
...
Thanks Timo Graham for noticing the failures.
2013-06-06 14:28:58 +02:00
Ramiro Morales
0fa8d43e74
Replaced `and...or...` constructs with PEP 308 conditional expressions.
2013-05-26 23:47:50 -03:00
Claude Paroz
be0bab1bb8
Fixed #11725 -- Made possible to create widget label tag without "for"
...
Thanks Denis Martinez for the report and initial patch, and
Sergey Kolosov for bringing the patch up to date.
2013-05-25 15:31:07 +02:00
Jeroen Dekkers
d0788c2770
Fixed #18709 -- Check if initial_value is a callable
...
In _get_changed_data, check if initial_value is a callable and call it
if it is.
2013-05-22 01:05:22 +02:00
Marc Tamlyn
09f8652765
Use assertIsInstance in tests.
...
Gives much nicer errors when it fails.
2013-05-21 10:42:15 +01:00
Ryan Kaskel
4280217f31
Fixed #20403 -- Ignore forms marked for deletion when validating max_num.
2013-05-20 12:13:21 -04:00
Andrew Godwin
04e0fc029f
Merge pull request #1094 from senko/ticket_11160
...
Fixed #11160 : Formset non_form_errors returns ErrorList() if is_valid is not called
2013-05-19 03:56:14 -07:00
Tome Cvitan
caf56ad174
Fixed #20440 -- Ensured CharField's max_length/min_length are integers
2013-05-18 22:30:24 +02:00
Deni Bertovic
186ec21a3d
Added stripping of whitespace for SlugField and URLField
2013-05-18 16:06:08 +02: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
Luke Plant
f026a519ae
Fixed #19733 - deprecated ModelForms without 'fields' or 'exclude', and 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.
2013-05-09 16:44:36 +01:00
Carl Meyer
a98465c040
Refs #14567 -- Fixed failing test that wasn't being run.
2013-04-16 13:34:06 -06:00
Claude Paroz
be9ae693c4
Fixed #17840 -- Generalized named placeholders in form error messages
...
Also fixed plural messages for DecimalField.
2013-04-13 18:55:50 +02:00
Baptiste Mispelon
9ac4dbd7b5
Fixed #4592 : Made CheckboxSelectMultiple more like RadioSelect
...
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.
2013-04-13 16:37:27 +02:00
Baptiste Mispelon
c4186c2fec
Fixed #4117 : Apply id attribute to the outer <ul> of RadioSelect
2013-04-13 12:23:25 +02:00
Baptiste Mispelon
844fbc85c1
Fixed #19874 : Apply id attribute to the outer <ul> of CheckboxSelectMultiple
2013-04-13 11:09:47 +02:00
Preston Timmons
cdf520ee86
Modified forms_tests to work with unittest2 discovery.
2013-04-12 15:00:17 -06:00
Baptiste Mispelon
ab686022f8
Fixed #20211 : Document backwards-incompatible change in BoundField.label_tag
...
Also cleaned up label escaping and consolidated the test suite regarding
label_tag.
2013-04-12 10:17:17 +02:00
Preston Timmons
8ce46375ae
Move last remaining tests out of models.py files; prep for test discovery.
2013-04-02 19:00:55 -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
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
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
9b74a8391d
Removed forced settings in runtests
...
Tests that require USE_I18N, LOGIN_URL or certain MIDDLEWARE_CLASSES
should be decorated appropriately.
2013-03-11 17:46:56 +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
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
Loic Bistuer
9ba0e4e4ee
Fixed minor warnings in tests.
2013-03-06 01:13:36 +07:00
Claude Paroz
384c180e41
Fixed #19917 -- Added microseconds in default TIME_INPUT_FORMATS
...
Thanks minddust for the report.
2013-03-02 18:11:10 +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
Florian Apolloner
4d9f39f307
Renamed a template to be found by the loaders.
2013-02-26 14:36:58 +01:00
Florian Apolloner
33836cf88d
Renamed some tests and removed references to modeltests/regressiontests.
2013-02-26 14:36:57 +01:00