Commit graph

7867 commits

Author SHA1 Message Date
Shai Berger
5112e65ef2 Fixed #20869 -- made CSRF tokens change every request by salt-encrypting them
Note that the cookie is not changed every request, just the token retrieved
by the `get_token()` method (used also by the `{% csrf_token %}` tag).

While at it, made token validation strict: Where, before, any length was
accepted and non-ASCII chars were ignored, we now treat anything other than
`[A-Za-z0-9]{64}` as invalid (except for 32-char tokens, which, for
backwards-compatibility, are accepted and replaced by 64-char ones).

Thanks Trac user patrys for reporting, github user adambrenecki
for initial patch, Tim Graham for help, and Curtis Maloney,
Collin Anderson, Florian Apolloner, Markus Holtermann & Jon Dufresne
for reviews.
2016-05-19 05:02:19 +03:00
Simon Charette
7694e196ce
Moved the AUTH_USER_MODEL setting changed receiver.
Test suites besides Django's may need the same behavior.
2016-05-18 09:56:29 -04:00
Marti Raudsepp
b9ae662c97 Fixed #26620 -- Made Model.refresh_from_db() fail when passed unknown kwargs. 2016-05-18 09:27:23 -04:00
Barthelemy Dagenais
a5c8072ab1 Fixed #26627 -- Fixed on_commit callbacks execution order when callbacks make transactions. 2016-05-18 09:09:48 -04:00
Loïc Bistuer
4ff1e6ef58 Fixed running auth_tests in isolation after 3a47d42fa3. 2016-05-18 06:38:42 -04:00
Josh Smeaton
2a4af0ea43 Fixed #25774 -- Refactor datetime expressions into public API 2016-05-18 20:14:58 +10:00
boaz85@gmail.com
5f23f904af Fixed #14415 -- Used the test database name in BaseDatabaseCreation.test_db_signature(). 2016-05-17 21:35:36 -04:00
Simon Charette
f179113e6c
Fixed #24067 -- Renamed content types upon model renaming.
Thanks to Tim for the extensive review.
2016-05-17 12:14:58 -04:00
Tim Graham
354acd04af Refs #26601 -- Added a warning if both MIDDLEWARE AND MIDDLEWARE_CLASSES are set. 2016-05-17 07:24:45 -04:00
Tim Graham
ece4d24f8e Refs #26601 -- Deprecated old-style middleware. 2016-05-17 07:22:26 -04:00
Florian Apolloner
9baf692a58 Fixed #26601 -- Improved middleware per DEP 0005.
Thanks Tim Graham for polishing the patch, updating the tests, and
writing documentation. Thanks Carl Meyer for shepherding the DEP.
2016-05-17 07:22:22 -04:00
Loïc Bistuer
ed0ff913c6 Fixed #10506, #13793, #14891, #25201 -- Introduced new APIs to specify models' default and base managers.
This deprecates use_for_related_fields.

Old API:

class CustomManager(models.Model):
    use_for_related_fields = True

class Model(models.Model):
    custom_manager = CustomManager()

New API:

class Model(models.Model):
    custom_manager = CustomManager()

    class Meta:
        base_manager_name = 'custom_manager'

Refs #20932, #25897.

Thanks Carl Meyer for the guidance throughout this work.
Thanks Tim Graham for writing the docs.
2016-05-17 12:07:22 +07:00
Loïc Bistuer
3a47d42fa3 Fixed #20932, #25897 -- Streamlined manager inheritance. 2016-05-17 02:29:22 +07:00
Claude Paroz
9935f97cd2 Refs #21379 -- Normalized unicode username inputs 2016-05-16 19:38:02 +02:00
Claude Paroz
526575c641 Fixed #21379 -- Created auth-specific username validators
Thanks Tim Graham for the review.
2016-05-16 19:37:57 +02:00
Aron Podrigal
85ef98dc6e Fixed #24305 -- Allowed overriding fields on abstract models.
Fields inherited from abstract base classes may be overridden like
any other Python attribute. Inheriting from multiple models/classes
with the same attribute name will follow the MRO.
2016-05-16 07:32:21 -04:00
Simon Charette
61a16e0270 Fixed #24075 -- Used post-migration models in contrib apps receivers.
Thanks Markus and Tim for the review.
2016-05-15 19:51:16 -04:00
Simon Charette
f937c9ec97 Fixed #24100 -- Made the migration signals dispatch its plan and apps.
Thanks Markus for your contribution and Tim for your review.
2016-05-15 19:51:15 -04:00
Tim Graham
55c3133df8 Simplified a ClearableFileInput test. 2016-05-14 10:31:32 -04:00
Bouke Haarsma
31501fb53e Refs #18599 -- Added a test for assigning a GenericForeignKey in Model.__init__().
The issue was fixed by 8a47ba679d
(refs #16508).
2016-05-13 21:26:48 -04:00
Simon Charette
104727030c Adjusted a variable name in migration signal tests. 2016-05-13 16:47:02 -04:00
Simon Charette
c0118ff80b Refs #24201 -- Ignored order_with_respect_to private fields in migrations.
Thanks Tim for the review.
2016-05-13 15:43:23 -04:00
Simon Charette
18900e55c5 Added tests for the post_migrate signal. 2016-05-13 15:32:54 -04:00
Tim Graham
99d9d4e695 Cosmetic edits to tests/managers_regress/tests.py 2016-05-13 15:23:24 -04:00
Matthew Somerville
1962a96a30 Fixed #24938 -- Added PostgreSQL trigram support. 2016-05-13 12:38:21 -04:00
Tim Graham
d7334b405f Refs #26333 -- Reverted inadvertent edits to fix tests. 2016-05-13 12:21:44 -04:00
Nicolas Noé
e158ec0ba0 Fixed #26333 -- Made GIS Geometry classes deconstructible. 2016-05-13 11:30:19 -04:00
David Sanders
14c952d581 Fixed #26612 -- Fixed SelectFilter2 buttons changing URL. 2016-05-13 09:06:20 -04:00
Vincenzo Pandolfo
069319396f Fixed #26277 -- Added support for null values in ChoicesFieldListFilter. 2016-05-12 12:40:14 -04:00
Andre Cruz
929684d6ee Fixed #21231 -- Enforced a max size for GET/POST values read into memory.
Thanks Tom Christie for review.
2016-05-12 10:17:52 -04:00
Tim Graham
60b095cc4c Refs #24046 -- Fixed a template test when run in reverse. 2016-05-11 11:41:10 -04:00
Raphael Gaschignard
8f6a1a1551 Fixed #26429 -- Added a timestamp to merge migration names.
This reduces the possibility of a naming conflict, especially after
squashing migrations.
2016-05-11 08:19:19 -04:00
Simon Charette
535660b852
Refs #18100 -- Added tests for deferred model deletion signals.
Thanks Tim for the review and pointing out this was fixed by #26207.
2016-05-10 13:21:52 -04:00
Tim Graham
2f0e0eee45 Fixed #24046 -- Deprecated the "escape" half of utils.safestring. 2016-05-10 12:46:47 -04:00
Claude Paroz
c3e1086949 Stopped truncating AdminEmailHandler message subjects
Refs #26572, #17281. The RFC doesn't limit total length, just the line length
which is already taken care of by Python itself.
Thanks Tim Graham for the review.
2016-05-10 18:17:43 +02:00
Simon Charette
207c5b4acd
Fixed #26603 -- Forced lazy template names to text when computing cache key.
Refs #26536.

Thanks Sylvain Fankhauser for the very detailed report.
2016-05-10 10:03:01 -04:00
Iacopo Spalletti
49c57f8565 Fixed #25005 -- Made date and time fields with auto_now/auto_now_add use effective default.
Thanks to Andriy Sokolovskiy for initial patch.
2016-05-09 07:48:40 -04:00
Jarek Glowacki
80bf3135d0 Sorted migration list order in test; added trailing comma. 2016-05-08 13:53:36 +02:00
Jarek Glowacki
c8df17b612 Included reverse deps in showmigrations 2016-05-08 13:53:36 +02:00
Jarek Glowacki
509379a161 Fixed #25945, #26292 -- Refactored MigrationLoader.build_graph() 2016-05-08 13:53:26 +02:00
marysia
b9290b1d49 Fixed #26449 -- Merged admin's FORMFIELD_FOR_DBFIELD_DEFAULTS with formfield_overrides.
Useful for overriding the DateTimeField widget.
2016-05-07 19:52:45 -04:00
Vitaly Bogomolov
aec4f97555 Fixed #26402 -- Added relative path support in include/extends template tags. 2016-05-07 16:21:57 -04:00
Dan Watson
ad403ffa45 Fixed #26582 -- Added prettier admin display for list values. 2016-05-07 15:49:41 -04:00
Claude Paroz
72ff70fba5 Made GDAL proj test less fragile
The WGS84 proj string can differ depending on installed libs.
Refs #26592.
2016-05-07 19:45:50 +02:00
Claude Paroz
b26fedacef Fixed #26544 -- Delayed translations of SetPasswordForm help_texts
Thanks Michael Bitzi for the reporti and Tim Graham for the review.
2016-05-07 10:17:49 +02:00
Markus Holtermann
deeffde84a Fixed #26593 -- Leveraged deferrable_sql() in SchemaEditor 2016-05-07 01:21:00 +02:00
Sergei Maertens
ec009ef1d8 Fixed #25986 -- Fixed crash sending email with non-ASCII in local part of the address.
On Python 3, sending emails failed for addresses containing non-ASCII
characters due to the usage of the legacy Python email.utils.formataddr()
function. This is fixed by using the proper Address object on Python 3.
2016-05-06 14:34:11 -04:00
Daniel Wiesmann
bbfad84dd9 Fixed #25588 -- Added spatial lookups to RasterField.
Thanks Tim Graham for the review.
2016-05-06 09:17:18 -04:00
Tim Graham
03efa304bc Refs #25847 -- Added system check for UserModel.is_anonymous/is_authenticated methods. 2016-05-06 08:56:06 -04:00
Markus Holtermann
3b383085fb Fixed #26555 -- Gave deconstructible objects a higher priority during serialization 2016-05-04 22:39:19 +02:00
Claude Paroz
388bb5bd9a Fixed #22936 -- Obsoleted Field.get_prep_lookup()/get_db_prep_lookup()
Thanks Tim Graham for completing the initial patch.
2016-05-04 20:02:01 +02:00
Dan Stephenson
1206eea11e Fixed #26558 -- Removed need for request context processor on admin login page. 2016-05-04 09:43:24 -04:00
Ville Skyttä
575a9a791e Normalized "an SQL" spelling. 2016-05-03 19:30:48 -04:00
David Sanders
e00d77c483 Fixed #26575 -- Disabled SelectFilter buttons when inactive. 2016-05-03 13:09:07 -04:00
Michal Petrucha
b9f8635f58 Refs #16508 -- Added invalidation of stale cached instances of GenericForeignKey targets. 2016-05-03 09:29:05 -04:00
Simon Charette
7ec330eeb9 Refs #26565 -- Errored nicely when using Prefetch with a values() queryset.
Thanks Maxime Lorant for the report and Anssi for the suggestion.
2016-05-03 09:28:31 -04:00
Claude Paroz
4731e9d82e Fixed #26341 (again) -- Addressed multiple occurrences per line use case 2016-05-02 19:39:56 +02:00
Offby-One Kenobi
f2b2a35699 Fixed docstring typos. 2016-05-02 11:43:03 -04:00
Alasdair Nicol
eb5d7bc2f4 Fixed #26440 -- Added a warning for non-url()s in urlpatterns.
Thanks Burhan Khalid for the initial patch and knbk/timgraham
for review.
2016-04-30 20:09:31 -04:00
Cristiano
914c72be2a Fixed #26058 -- Delegated os.path bits of FileField's filename generation to the Storage. 2016-04-30 17:22:40 -04:00
Claude Paroz
b16b124996 Fixed #26341 -- Fixed makemessages breaking location comments for HTML files
Thanks Sylvain Garancher for the report and Veranika Sabiashchanskaya for the
initial patch.
2016-04-30 12:08:20 +02:00
Claude Paroz
185f90c45f Adapted _assertPoLocComment for multi-file source lines in po files
Refs #17375.
2016-04-30 12:07:40 +02:00
Anssi Kääriäinen
7f51876f99 Fixed #26207 -- Replaced dynamic classes with non-data descriptors for deferred instance loading. 2016-04-29 13:06:32 -04:00
Alasdair Nicol
dac075e910 Refs #26479 -- Documented is/is not if tag operator behavior for nonexistent variables. 2016-04-29 12:38:46 -04:00
Alasdair Nicol
246020efc5 Added tests for if tag's != operator. 2016-04-29 12:30:32 -04:00
David Evans
2fcafd169b Fixed #26546 -- Allowed HTTPStatus enum values for HttpResponse.status. 2016-04-29 10:55:01 -04:00
Joshua Phillips
4681d65048 Fixed #26557 -- Converted empty strings to None when saving GenericIPAddressField. 2016-04-29 10:11:49 -04:00
Tim Graham
2f698cd991 Refs #26428 -- Added support for relative path redirects to the test client.
Thanks iktyrrell for the patch.
2016-04-29 09:15:28 -04:00
Alasdair Nicol
ffb1c532ec Added an explicit test that URL checks are recursive. 2016-04-29 07:38:57 -04:00
Tim Graham
86573861a9 Refs #15667 -- Removed choices argument from some RendererMixin methods.
RendererMixin will soon be removed but this removal and the corresponding
test changes stand on their own.
2016-04-28 18:48:52 -04:00
Simon Charette
f951bb78cb Refs #26521 -- Adjusted CreateModel bases validation to account for mixins.
Thanks Collin for the report.
2016-04-28 18:20:48 -04:00
Tim Graham
f945fb24a3 Fixed #26554 -- Updated docs URLs to readthedocs.io 2016-04-28 10:09:57 -04:00
Simon Charette
a877a2f83d Refs #26521 -- Added the duplicated value to CreateModel validation messages.
Thanks Tim for the suggestion.
2016-04-27 16:17:22 -04:00
James Robert
417e083e55 Fixed #26521 -- Validated CreateModel bases, fields and managers for duplicates. 2016-04-27 12:43:56 -04:00
Tim Graham
6729b96d8a Removed try/fail antipattern from migrations commands tests. 2016-04-27 10:21:18 -04:00
Conrad Kramer
c112198332 Fixed #26542 -- Fixed quoting in CreateExtension operation. 2016-04-27 09:30:55 -04:00
David Sanders
a5c8a6ce19 Fixed #21332, #26538 -- Fixed inconsistent and duplicate form fields on inline formsets. 2016-04-26 10:26:25 -04:00
Bas Westerbaan
a5033dbc58 Refs #26033 -- Added password hasher support for Argon2 v1.3.
The previous version of Argon2 uses encoded hashes of the form:
   $argon2d$m=8,t=1,p=1$<salt>$<data>

The new version of Argon2 adds its version into the hash:
   $argon2d$v=19$m=8,t=1,p=1$<salt>$<data>

This lets Django handle both version properly.
2016-04-25 21:17:53 -04:00
Tim Graham
bb0b4b705b Fixed #26052 -- Moved conditional_content_removal() processing to the test client. 2016-04-25 07:56:07 -04:00
Simon Charette
bd145e7209 Fixed #26536 -- Preserved leading dashes of the cached template loader keys.
Thanks Anders Roos for the report.
2016-04-24 22:15:45 -04:00
David Sanders
218175b09d Fixed #26534 -- Fixed boolean form fields has_changed() with hidden input. 2016-04-24 15:06:30 -04:00
Claude Paroz
188883048e Fixed wrong field data type in queries test 2016-04-23 20:26:52 +02:00
Tim Graham
859eeaa0f0 Fixed #26533 -- Renamed Widget._format_value() to format_value(). 2016-04-23 13:15:45 -04:00
Claude Paroz
669c29c8f4 Fixed #26427 -- Ensured deleted setting doesn't appear in dir(settings) 2016-04-23 16:01:16 +02:00
Tim Graham
57f76be35e Removed a flaky contrib.postgres search test.
The test sometimes fails on CI and isn't worth debugging at this time.
2016-04-22 20:32:20 -04:00
Tim Graham
87338198e9 Fixed #26320 -- Deprecated implicit OneToOnField parent_link. 2016-04-22 12:59:41 -04:00
Marc Tamlyn
2d877da855 Refs #3254 -- Added full text search to contrib.postgres.
Adds a reasonably feature complete implementation of full text search
using the built in PostgreSQL engine. It uses public APIs from
Expression and Lookup.

With thanks to Tim Graham, Simon Charettes, Josh Smeaton, Mikey Ariel
and many others for their advice and review. Particular thanks also go
to the supporters of the contrib.postgres kickstarter.
2016-04-22 10:44:37 +01:00
Claude Paroz
f4c2b8e04a Fixed #20189 -- Allowed customizing staticfiles ignored_patterns list
Thanks Tim Graham for the review.
2016-04-22 09:56:06 +02:00
Loïc Bistuer
6f5fcfc6d2 Moved declaration of test form inside the relevant test for clarity. 2016-04-22 09:38:47 +07:00
Loïc Bistuer
a885bca1df Fixed #26528 -- Allowed any iterable (e.g. tuple) as validators kwarg for form/model fields. 2016-04-22 09:38:47 +07:00
Jon Dufresne
ec6121693f Fixed #22383 -- Added support for HTML5 required attribute on required form fields. 2016-04-21 19:16:38 -04:00
Maxim Novikov
4d1c229ee5 Fixed #26495 -- Added name arg to Storage.save()'s File wrapping. 2016-04-21 10:40:48 -04:00
Carl Worth
40b69607c7 Fixed #26504 -- Avoided logging "Not Found" warnings if a middleware handles the 404.
For example, this avoids a warning in the case of a request that's
redirected to a language-prefixed URL by LocaleMiddleware.
2016-04-20 21:02:05 -04:00
Carl Worth
5e00b14403 Added tests for logging of Http404 warnings. 2016-04-20 20:56:40 -04:00
Carl Worth
86880ab89b Used @override_settings decorator rather than "with" to reduce indentation. 2016-04-20 20:34:16 -04:00
Marko Benko
45c7acdc50 Fixed #26281 -- Added a helpful error message for an invalid format specifier to dateformat.format(). 2016-04-20 20:13:52 -04:00
Tobias Kroenke
b040ac06eb Fixed #26520 -- Fixed a regression where SessionBase.pop() didn't return a KeyError. 2016-04-20 13:06:47 -04:00
Nicolas Noé
973f393761 Refs #24621 -- Added a test for SessionBase.pop()'s 'default' argument. 2016-04-20 12:57:07 -04:00
Markus Amalthea Magnuson
08cd6a0e56 Fixed #16327 -- Redirected "Save as new" to change view instead of the changelist. 2016-04-20 11:31:44 -04:00
Tim Graham
e47b52255c Refs #26033 -- Temporarily pinned argon2-cffi test requirement.
The latest version (16.1) is backwards-incompatible for Django.
2016-04-19 11:58:50 -04:00