summaryrefslogtreecommitdiff
path: root/django/forms/forms.py
AgeCommit message (Collapse)Author
2014-07-05[1.7.x] Ensured bound field renders as unicode safe dataClaude Paroz
Refs #22950. Backport of 920904921 from master.
2014-05-24[1.7.x] Fixed #22510 -- Harden field removal to only None.Marc Tamlyn
Refs #8620. If we allow any value to remove form fields then we get name clashes with method names, media classes etc. There was a backwards incompatibility introduced meaning ModelForm subclasses with declared fields called media or clean would lose those fields. Field removal is now only permitted by using the sentinel value None. The docs have been slightly reworded to refer to removal of fields rather than shadowing. Thanks to gcbirzan for the report and initial patch, and several of the core team for opinions. Backport of 9fb0f5dddc4cf7f2d294af1bcde2c359cffd90a5 from master
2014-05-10[1.7.x] Fixed #22502 -- Fixed microseconds/default/form interactionStephen Burrows
Made explicit lack of microsecond handling by built-in datetime form fields. Used that explicitness to appropriately nix microsecond values in bound fields. Thanks Claude Paroz for the review. Backport of a5de0df58 from master.
2014-05-05[1.7.x] Fixed #22570 -- Made Form.__getitem__ KeyError more descriptive.Ben Davis
Backport of df60db0e78 from master
2014-03-08Fixed #21188 -- Introduced subclasses for to-be-removed-in-django-XX warningsClaude Paroz
Thanks Anssi Kääriäinen for the idea and Simon Charette for the review.
2014-03-03Fixed many typos in comments and docstrings.Rodolfo Carvalho
Thanks Piotr Kasprzyk for help with the patch.
2014-02-08Fixed #16192 -- Made unique error messages in ModelForm customizable.Loic Bistuer
Overriding the error messages now works for both unique fields, unique_together and unique_for_date. This patch changed the overriding logic to allow customizing NON_FIELD_ERRORS since previously only fields' errors were customizable. Refs #20199. Thanks leahculver for the suggestion.
2014-01-10Fixed docstring typo in django/forms/forms.py.Marc Sibson
2013-12-16Fixed #17413 -- Serialization of form errors along with all metadata.Loic Bistuer
2013-11-30Fixed #20867 -- Added the Form.add_error() method.Loic Bistuer
Refs #20199 #16986. Thanks @akaariai, @bmispelon, @mjtamlyn, @timgraham for the reviews.
2013-11-03Fixed flake8 E251 violationsMilton Mazzarri
2013-11-02More attacking E302 violatorsAlex Gaynor
2013-11-02Correct flake8 violation E261Ray Ashman Jr
2013-10-26Fixed up some more flake8 violations (this particular violation still has ↵Alex Gaynor
many occurrences in the tests/ dir so it can't be removed from setup.cfg yet)
2013-10-14Fixed #8620 -- Updated the Form metaclass to support excluding fields by ↵Loic Bistuer
shadowing them.
2013-10-14Fixed #19617 -- Refactored Form metaclasses to support more inheritance ↵Loic Bistuer
scenarios. Thanks apollo13, funkybob and mjtamlyn for the reviews.
2013-09-21Ensured that BoundField.as_widget always returns properly localized fields.Florian Apolloner
This is a follow-up to #18777 which improperly converted to strings in prepare_value and as such caused regressions like #21074. Refs #18777, #21074
2013-09-16Fixed #17627 -- Renamed util.py files to utils.pyTim Graham
Thanks PaulM for the suggestion and Luke Granger-Brown and Wiktor Kołodziej for the initial patch.
2013-09-10Fixed #5749 -- Added field_name as a key in the _html_output dicte0ne
Thanks SmileyChris for the suggestion.
2013-08-22Moved translator comment just above the target stringClaude Paroz
2013-08-13Fixed #20555 -- Make subwidget id attribute availableMatt Johnson
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-08Revert change to the default Form.clean()Marc Tamlyn
This means it doesn't break for people who are doing `cleaned_data = super(FooForm, self).clean()`.
2013-08-08Form.clean() does not need to return cleaned_data.Marc Tamlyn
If it does, that will be used as the cleaned_data. The default implementation has been changed to match this change.
2013-08-04Deprecated SortedDict (replaced with collections.OrderedDict)Curtis Maloney
Thanks Loic Bistuer for the review.
2013-07-29Removed most of absolute_import importsClaude Paroz
Should be unneeded with Python 2.7 and up. Added some unicode_literals along the way.
2013-07-26Fixed #20805 -- Removed an extra colon beside checkboxes in the admin.Tim Graham
Thanks CollinAnderson for the report.
2013-07-13Fixed #20582 -- Allowed default Form.label_suffix to be translatedClaude Paroz
Thanks Tim Graham for the review.
2013-06-29Advanced deprecation warnings for Django 1.7.Aymeric Augustin
2013-06-18Fixed #20618 -- Fixed regression in `BoundField.label_tag`.Baptiste Mispelon
2013-06-10Fixed #18134 -- BoundField.label_tag now includes the form's label_suffixGabe Jackson
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-05-26Replaced `and...or...` constructs with PEP 308 conditional expressions.Ramiro Morales
2013-05-25Fixed #11725 -- Made possible to create widget label tag without "for"Claude Paroz
Thanks Denis Martinez for the report and initial patch, and Sergey Kolosov for bringing the patch up to date.
2013-05-22Fixed #18709 -- Check if initial_value is a callableJeroen Dekkers
In _get_changed_data, check if initial_value is a callable and call it if it is.
2013-05-17Replaced an antiquated pattern.Aymeric Augustin
Thanks Lennart Regebro for pointing it out.
2013-04-12Fixed #20211: Document backwards-incompatible change in BoundField.label_tagBaptiste Mispelon
Also cleaned up label escaping and consolidated the test suite regarding label_tag.
2013-03-08Fixed a regression in forms changed_dataClaude Paroz
Thanks Loic Bistuer for spotting the regression and the initial patch. Refs #16612.
2013-03-01Fixed #16612 -- Improved has_changed detection for localized field valuesClaude Paroz
Thanks Simon Charette for the review.
2013-02-24Fixed #19908 -- Added missing import in forms.pyClaude Paroz
Thanks loic84 for the report.
2013-01-30fixed minor typo #19703Simon Kerr
2013-01-26Fixed #18483 -- Marked hidden field error string for translationClaude Paroz
Thanks Evil Clay for the report and Emil Stenstrom for the initial patch.
2013-01-25Used property decorators in django/forms.pyClaude Paroz
2013-01-25Moved has_changed logic from widget to form fieldClaude Paroz
Refs #16612. Thanks Aymeric Augustin for the suggestion.
2012-08-12[py3] Refactored __unicode__ to __str__.Aymeric Augustin
* 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-07[py3] Ported django.utils.encoding.Aymeric Augustin
* 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[py3] Fixed access to dict keys/values/items.Aymeric Augustin
2012-08-04Fixed #5524 -- Do not remove cleaned_data when a form fails validationClaude Paroz
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-07-22[py3] Replaced unicode/str by six.text_type/bytes.Aymeric Augustin
2012-07-22[py3] Used six.with_metaclass wherever necessary.Aymeric Augustin
2012-07-06Fixed #18572 - Python26 string format incompatibilityLuke Plant
Thanks to anonymous/AeroNotix for the report
2012-07-03Changed a lot of internal code to use 'format_html' where appropriate/possibleLuke Plant