Commit Graph

10503 Commits

Author SHA1 Message Date
Simon Charette 302a4ff1e8 [3.0.x] Fixed CVE-2019-19844 -- Used verified user email for password reset requests.
Backport of 5b1fbcef7a from master.

Co-Authored-By: Florian Apolloner <florian@apolloner.eu>
2019-12-18 09:14:44 +01:00
Peter Andersen 74e1454113 [3.0.x] Fixed #31073 -- Prevented CheckboxInput.get_context() from mutating attrs.
Backport of 02eff7ef60 from master
2019-12-11 09:37:34 +01:00
Alex Aktsipetrov 8af07712df [3.0.x] Fixed #31060 -- Reallowed window expressions to be used in conditions outside of queryset filters.
Regression in 4edad1ddf6.

Thanks utapyngo for the report.

Backport of bf12273db4 from master.
2019-12-06 15:28:23 +01:00
Mariusz Felisiak e986e49e66 [3.0.x] Fixed #31061 -- Ignored positional args in django.urls.resolve() when all optional named parameters are missing.
Regression in 76b993a117.

Thanks Claude Paroz for the report and Carlton Gibson for reviews.
Backport of 82a88d2f48 from master
2019-12-06 09:33:45 +01:00
Andrew Godwin 9243435b5e [3.0.x] Fixed #31056 -- Allowed disabling async-unsafe check with an environment variable.
Backport of c90ab30fa1 from master
2019-12-03 17:50:24 +01:00
Carlton Gibson 092cd66cf3 Fixed CVE-2019-19118 -- Required edit permissions on parent model for editable inlines in admin.
Thank you to Shen Ying for reporting this issue.
2019-12-02 08:57:44 +01:00
Mariusz Felisiak f4ed6800bd [3.0.x] Fixed #30953 -- Made select_for_update() lock queryset's model when using "self" with multi-table inheritance.
Thanks Abhijeet Viswa for the report and initial patch.
Backport of 0107e3d105 from master
2019-12-02 07:58:04 +01:00
Mariusz Felisiak ca9144a4a8 [3.0.x] Fixed #31021 -- Fixed proxy model permissions data migration crash with a multiple databases setup.
Regression in 98296f86b3.

Backport of e8fcdaad5c from master
2019-11-29 11:10:36 +01:00
Baptiste Mispelon 3ed55606c4 [3.0.x] Fixed #31031 -- Fixed data loss in admin changelist view when formset's prefix contains regex special chars.
Regression in b18650a263.

Backport of 52936eface from master
2019-11-26 09:19:19 +01:00
John Bowen b6cbc88f26 [3.0.x] Fixed #27914 -- Fixed serialization of nested classes in migrations.
Backport of 29d8198841 from master
2019-11-25 11:27:15 +01:00
John Bowen ba5760965e [3.0.x] Refs #23950 --- Moved test DeconstructibleInstances class to a module level.
DeconstructibleInstances was not importable from the asserted path.

Backport of 8008795a38 from master
2019-11-25 11:27:09 +01:00
Carlton Gibson 947f8e3485 [3.0.x] Fixed #31012 -- Reverted "Fixed #29056 -- Fixed HTML5 validation of required SelectDateWidget."
This reverts commit f038214d91.

The initial issue was incorrect. Django 2.2, and before, did not
generate invalid HTML as reported. With f03821 in place invalid HTML
was generated.

Thanks to Kevin Brown for follow-up report and investigation.
Backport of ee4a19053a from master
2019-11-21 21:06:07 +01:00
Carlton Gibson 0e58745716 [3.0.x] Pinned asgiref to 3.2 series.
Backport of 36453526d3 from master
2019-11-20 15:13:28 +01:00
Mariusz Felisiak b6be0699b9 [3.0.x] Fixed #30986 -- Fixed queryset crash when filtering against boolean RawSQL expressions on Oracle.
Backport of 8685e764ef from master
2019-11-18 09:16:21 +01:00
George Marshall fa6076daf4 [3.0.x] Fixed #30971 -- Prevented Query.resolve_lookup_value() from coercing list values to tuples.
Regression in 8a281aa7fe.

Backport of 8be79984dc from master
2019-11-13 09:20:50 +01:00
Hannes Ljungberg 8d3f43f7a9 [3.0.x] Fixed #30967 -- Fixed TrigramTest failures on PostgreSQL 12+.
Backport of 6e2f05b2e3 from master
2019-11-11 13:30:14 +01:00
Stephen Rauch 76d293f3e6 [3.0.x] Refs #30183 -- Doc'd dropping support for sqlparse < 0.2.2.
Support for sqlparse < 0.2.2 was broken in
782d85b6df because is_whitespace property
was added in sqlparse 0.2.2.

Backport of 4b6db766ba from master
2019-11-06 09:01:48 +01:00
Carlton Gibson dd2ca8b0ea [3.0.x] Fixed #30931 -- Restored ability to override Model.get_FIELD_display().
Thanks Sergey Fedoseev for the implementation idea.

Regression in a68ea23101.

Backport of 2d38eb0ab9 from master
2019-11-04 08:15:03 +01:00
Carlton Gibson 8740ff334a [3.0.x] Fixed #30902 -- Added __str__() for model choice enums.
Allows expected behavior when cast to str, also matching behaviour of
created instances with those fetched from the DB.

Thanks to Simon Charette, Nick Pope, and Shai Berger for reviews.

Backport of dbcd7b064e from master
2019-10-25 09:38:41 +02:00
Carlton Gibson 06e3c6db86 [3.0.x] Fixed #30900 -- Skipped async-related tests on Windows using Python 3.8.0.
Refs https://bugs.python.org/issue38563.
Backport of e83c300a33 from master
2019-10-24 10:43:37 +02:00
Hannes Ljungberg 318d186d7e [3.0.x] Fixed #30903 -- Fixed migrations crash on PostgreSQL when adding Index with opclasses and ordering.
Backport of fa5f3291e7 from master
2019-10-24 09:51:33 +02:00
Mariusz Felisiak 517d31516a [3.0.x] Refs #29926 -- Bumped minimum tblib version to 1.5.0 in test requirements.
Backport of 25903e41fb from master
2019-10-23 15:26:54 +02:00
Mariusz Felisiak 753a34b42a [3.0.x] Refs #29926 -- Skipped RemoteTestResultTest.test_add_failing_subtests() on Python 3.8+ and tblib <= 1.4.0.
Backport of 2847d2c760 from master
2019-10-22 15:34:44 +02:00
Mariusz Felisiak 74c5ddc657 [3.0.x] Refs #27910 -- Added __init__.py file for model_enums tests.
Backport of 1877ec1875 from master
2019-10-15 21:28:17 +02:00
Mariusz Felisiak 4a756cbc38 [3.0.x] Fixed #30870 -- Fixed showing that RunPython operations are irreversible by migrate --plan.
Thanks Hasan Ramezani for the initial patch and Kyle Dickerson for the
report.

Backport of 06d34aab7c from master
2019-10-14 11:43:15 +02:00
Mariusz Felisiak 4a263af64e [3.0.x] Isolated migrations.test_commands.MigrateTests.test_migrate_plan.
Backport of 05186c03a3 from master
2019-10-14 11:43:06 +02:00
Simon Charette bab3ad54ff [3.0.x] Fixed #30868 -- Prevented unnecessary AlterField when renaming a referenced pk.
Regression introduced by dcdd219ee1, refs #25817.

Thanks Carlos E. C. Leite for the report and Mariusz for the bisect.

Backport of 2839659b42 from master
2019-10-14 08:27:36 +02:00
Etienne Chové 651299e1ef [3.0.x] Fixed #30014 -- Fixed ModelChoiceField validation when initial value is a model instance.
Thanks Carlton Gibson for reviews.

Backport of e7cdb0cd7e from master
2019-10-11 14:33:32 +02:00
Etienne Chové 82ba905db3 [3.0.x] Added ModelChoiceField test for validation with to_field_name.
Backport of a12f9cd95a from master
2019-10-11 14:33:16 +02:00
Louise Grandjonc cf7ef5d258 [3.0.x] Fixed #30826 -- Fixed crash of many JSONField lookups when one hand side is key transform.
Regression in 6c3dfba892.

Backport of 7d1bf29977 from master
2019-10-11 11:51:14 +02:00
Hasan Ramezani c1cfec6b50 [3.0.x] Fixed #30854 -- Fixed QuerySet.select_related() with multiple FilteredRelations.
Backport of 6a75cea76a from master.
2019-10-11 09:18:23 +02:00
Hasan Ramezani 7c70aa8f63 [3.0.x] Fixed #30839 -- Fixed Field.__deepcopy__() so forms don't share error messages.
Backport of a28d1b38e5 from master
2019-10-08 10:28:30 +02:00
Hasan Ramezani 30271a47da [3.0.x] Refs #27914 -- Fixed serialization of nested enum.Enum classes in migrations.
Backport of 6452112640 from master
2019-10-03 11:17:10 +02:00
Hasan Ramezani 1a4db2cc28 [3.0.x] Refs #27914 -- Moved test enum.Enum subclasses outside of WriterTests.test_serialize_enums().
Backport of d3030deaaa from master
2019-10-03 11:17:04 +02:00
Ahmet Kucuk 9dc13f41b5 [3.0.x] Fixed #30510 -- Fixed crash of QuerySet.bulk_create() with mixed-length texts on Oracle.
Text with more than 4000 characters must be set to as a CLOB on Oracle
what caused a mixed datatype error (ORA-01790) when shorter text
appeared in the same operation.

Backport of dc890bef5a from master
2019-10-01 13:11:19 +02:00
Ad Timmering 556d0c08bd [3.0.x] Fixed #28690 -- Fixed handling of two-digit years in parse_http_date().
Due to RFC7231 ayear that appears to be more than 50 years in the
future are interpreted as representing the past.

Backport of 7b5f8acb9e from master
2019-09-30 15:39:36 +02:00
Ad Timmering f38655ed1c [3.0.x] Refs #28690 -- Added more tests for parse_http_date().
Backport of 7cbd25a06e from master
2019-09-30 15:39:28 +02:00
Hasan Ramezani df0c2ac358 [3.0.x] Fixed #30774 -- Made serialization in migrations use members names for Enums.
Backport of f0adf3b9b7 from master
2019-09-30 10:52:30 +02:00
pablo 5d63bf0bc3 [3.0.x] Fixed #30802 -- Prevented manifest creation when running collectstatic in dry run mode.
Backport of fa8fe09e4e from master
2019-09-27 23:06:55 +02:00
Hasan Ramezani 0dc39ca867 [3.0.x] Fixed #30798 -- Fixed Meta.ordering validation for pk of related fields.
Regression in 440505cb2c.

Backport of 95a11578ce from master
2019-09-27 14:52:08 +02:00
Hasan Ramezani da8f85aa82 [3.0.x] Refs #30798 -- Prevented chaining fields from the same related model multiple times in model Meta.ordering.
Backport of c7944628a1 from master
2019-09-27 14:52:02 +02:00
Pablo García 49dcb5d3ba [3.0.x] Fixed #30810 -- Fixed WatchmanReloaderTests.test_setting_timeout_from_environment_variable test.
client_timeout is an instance attribute.

Backport of 2fd610eb30 from master
2019-09-27 08:35:55 +02:00
Mariusz Felisiak 1adf85d168 [3.0.x] Fixed #30800 -- Fixed migrations crash when altering a field with custom db_type().
Regression in 1378d665a1.
Backport of 580e644f24 from master
2019-09-25 12:32:57 +02:00
Simon Charette 6b7bd079a6 [3.0.x] Fixed #30796 -- Prevented select_related() from mutating a queryset on chaining.
Thanks Darren Maki for the report.

Backport of 37f8f29377 from master
2019-09-24 09:47:21 +02:00
Hasan Ramezani 2362f27265 [3.0.x] Fixed #13296 -- Fixed ordering by Options.order_with_respect_to after deleting objects.
Thanks Simon Meers for the original patch.

Backport of f97bbad908 from master
2019-09-23 11:45:33 +02:00
Mariusz Felisiak 1611906094
[3.0.x] Refs #30771 -- Fixed RemovedInDjango31Warning in test_exact_query_rhs_with_selected_columns. 2019-09-20 22:01:28 +02:00
James Timmins 3697ddbf75 [3.0.x] Fixed #30771 -- Fixed exact lookup against queries with selected columns.
Use pre-existing select fields (and thereby GROUP BY fields) from
subquery if they were specified, instead of always defaulting to pk.

Thanks Aur Saraf for the report and Simon Charette for guidance.

Backport of 0719edcd5f from master
2019-09-20 11:14:39 +02:00
Sam Reynolds e74ca0226a [3.0.x] Fixed #30776 -- Restored max length validation on AuthenticationForm.UsernameField.
Regression in 5ceaf14686.

Thanks gopackgo90 for the report and Mariusz Felisiak for tests.

Backport of 6c9778a58e from master
2019-09-18 12:04:47 +02:00
Nasir Hussain 685d956764 [3.0.x] Fixed #30758 -- Made RangeFields use multiple hidden inputs for initial data.
Backport of faf4b988fe from master.
2019-09-17 12:21:02 +02:00
Simon Charette 574154ef56 [3.0.x] Fixed #30769 -- Fixed a crash when filtering against a subquery JSON/HStoreField annotation.
This was a regression introduced by 7deeabc7c7
to address CVE-2019-14234.

Thanks Tim Kleinschmidt for the report and Mariusz for the tests.

Backport of 6c3dfba892 from master
2019-09-16 08:53:02 +02:00
Mariusz Felisiak 8ce932a20a [3.0.x] Refs #30591 -- Fixed too long identifier crash in migrations.test_operations on MySQL 8.0.16+.
Backport of 937ddaff55 from master
2019-09-11 12:20:51 +02:00
Adnan Umer acb11725f8 [3.0.x] Fixed #30591 -- Fixed recreation of foreign key constraints on MySQL when altering type of referenced unique field.
Thanks Mariusz Felisiak for tests and Matthijs Kooijman for
investigation and initial patch.

Backport of 241deed259 from master
2019-09-11 11:43:55 +02:00
Simon Charette 34decdebf1 Fixed #30754 -- Prevented inclusion of aliases in partial index conditions.
SQLite doesn't repoint table aliases in partial index conditions on table
rename which breaks the documented table alteration procedure.

Thanks Pēteris Caune for the report.
2019-09-10 10:03:16 +02:00
Vojtech Bocek b1d37fea8f Fixed #28107 -- Added DatabaseFeatures.allows_group_by_selected_pks_on_model() to allow enabling optimization for unmanaged models. 2019-09-09 14:04:46 +02:00
Nick Pope 406dba04e1 Fixed #29406 -- Added support for Referrer-Policy header.
Thanks to James Bennett for the initial implementation.
2019-09-09 13:35:41 +02:00
Johannes Hoppe 7254f1138d Refs #29444 -- Allowed returning multiple fields from INSERT statements on PostgreSQL.
Thanks Florian Apolloner, Tim Graham, Simon Charette, Nick Pope, and
Mariusz Felisiak for reviews.
2019-09-09 10:51:14 +02:00
Nick Pope b6251956b6 Fixed #30757 -- Added a system check to ensure max_length fits the longest choice. 2019-09-09 10:28:18 +02:00
Claude Paroz 05d0eca635 Fixed #30426 -- Changed X_FRAME_OPTIONS setting default to DENY. 2019-09-09 08:15:26 +02:00
Hasan Ramezani 6c379f1a18 Fixed #30763 -- Fixed management commands when using required mutually exclusive groups. 2019-09-06 10:55:24 +02:00
Hasan Ramezani b93d786251 Made SchemaTests.test_alter_db_table_case run only on backends where table names are case-insensitive. 2019-09-05 08:59:48 +02:00
Shai Berger 72ebe85a26 Fixed #27910 -- Added enumeration helpers for use in Field.choices.
These classes can serve as a base class for user enums, supporting
translatable human-readable names, or names automatically inferred
from the enum member name.

Additional properties make it easy to access the list of names, values
and display labels.

Thanks to the following for ideas and reviews:

Carlton Gibson, Fran Hrženjak, Ian Foote, Mariusz Felisiak, Shai Berger.

Co-authored-by: Shai Berger <shai@platonix.com>
Co-authored-by: Nick Pope <nick.pope@flightdataservices.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-09-04 14:42:49 +02:00
Nasir Hussain 25706d7285 Fixed #29714 -- Allowed using ExceptionReporter subclass with AdminEmailHandler. 2019-09-04 08:40:46 +02:00
Viktor Lomakin 5931d2e96a Fixed #30691 -- Made migrations autodetector find dependencies for foreign keys altering. 2019-09-03 14:45:49 +02:00
Carlton Gibson 4f61810751 Fixed #30747 -- Renamed is_safe_url() to url_has_allowed_host_and_scheme(). 2019-09-02 15:32:23 +02:00
Simon Charette 13a8884a08 Fixed #30739 -- Fixed exclusion of multi-valued lookup against outer rhs.
OuterRef right hand sides have to be nested, just like F rhs have to,
during the subquery pushdown split_exclude performs to ensure they are
resolved against the outer query aliases.
2019-09-02 10:52:36 +02:00
Alan Crosswell 03fa846c6a Fixed #30731 -- Fixed handling trailing groups in simplify_regex().
Previously simplify_regex() didn't handle trailing groups for regexp
without the end of string character ("$").
2019-08-30 12:43:39 +02:00
Berker Peksag 400ec5125e Fixed #18763 -- Added ModelBackend/UserManager.with_perm() methods.
Co-authored-by: Nick Pope <nick.pope@flightdataservices.com>
2019-08-29 19:32:12 +02:00
daniel a rios b5a5c92c72 Fixed #30066 -- Enabled super user creation without email and password 2019-08-29 12:49:16 +02:00
Carlton Gibson 57b9604451 Converted auth test to use subTest(). 2019-08-29 12:49:16 +02:00
Matthew Schinckel 4137fc2efc Fixed #25367 -- Allowed boolean expressions in QuerySet.filter() and exclude().
This allows using expressions that have an output_field that is a
BooleanField to be used directly in a queryset filters, or in the
When() clauses of a Case() expression.

Thanks Josh Smeaton, Tim Graham, Simon Charette, Mariusz Felisiak, and
Adam Johnson for reviews.

Co-Authored-By: NyanKiyoshi <hello@vanille.bid>
2019-08-29 09:45:29 +02:00
Mariusz Felisiak 069bee7c12
Used skipUnlessDBFeature instead of checking vendor in test_filtering_on_annotate_that_uses_q. 2019-08-29 09:40:34 +02:00
Mariusz Felisiak c7f656435c
Added tests for raising an error when passing non-boolean expression to When(). 2019-08-29 09:29:46 +02:00
Federico Jaramillo Martínez 8f6860863e Fixed #30722 -- Added default rate-limiting requests to admin's Select2 widget. 2019-08-27 13:47:36 +02:00
Andrew Brown 691def10a0 Fixed #30727 -- Made Subquery pickle without evaluating their QuerySet.
Subquery expression objects, when pickled, were evaluating the QuerySet
objects saved in its _constructor_args attribute.
2019-08-27 13:05:20 +02:00
Hasan Ramezani 03dbdfd9bb Fixed #29019 -- Added ManyToManyField support to REQUIRED_FIELDS. 2019-08-26 14:48:40 +02:00
Jon Dufresne 5dac63bb84 Refs #27804 -- Used subTest() in utils_tests/test_encoding.py. 2019-08-26 11:58:06 +02:00
Mariusz Felisiak 579909a13f
Refs #30591 -- Fixed introspection of check and unique column constraints on MariaDB.
Unnamed unique and check columns constraints have the same name as
a column. Ensure uniqueness by using custom names.

Thanks Adnan Umer for the report.
2019-08-26 09:15:37 +02:00
Tim Gates 6b402b28b3 Fixed typo in tests/prefetch_related/tests.py comment. 2019-08-26 08:14:29 +02:00
Simon Charette bb9e82f274 Fixed #29955 -- Added support for distance expression to the dwithin lookup.
This was missed when adding support to other distance lookups in
refs #25499.

Thanks Peter Bex for the report and Mariusz for testcases.
2019-08-23 21:28:28 +02:00
Mariusz Felisiak 92c72b68b7
Fixed broken OracleDbshellTests tests after 9386586f31. 2019-08-23 21:25:21 +02:00
Claude Paroz 9386586f31 Replaced subprocess commands by run() wherever possible. 2019-08-23 10:53:36 +02:00
Min ho Kim 7bd9633320 Fixed typos in test names and a comment. 2019-08-23 10:46:43 +02:00
Mariusz Felisiak 521308e575 Fixed #30715 -- Fixed crash of ArrayField lookups on ArrayAgg annotations over AutoField. 2019-08-23 10:43:08 +02:00
Carlton Gibson 5b4c6b58a0
Fixed #30064 -- Added form to validate admin search fields query input. 2019-08-22 14:09:49 +02:00
Mads Jensen 85ac838d9e Fixed #21039 -- Added AddIndexConcurrently/RemoveIndexConcurrently operations for PostgreSQL.
Thanks to Simon Charettes for review.

Co-Authored-By: Daniel Tao <daniel.tao@gmail.com>
2019-08-21 13:10:06 +02:00
Hasan Ramezani 22394bd3a1 Fixed #29667 -- Prohibited whitespaces in path() URLs. 2019-08-20 11:53:10 +02:00
Nick Pope 21e559495b Fixed #29979, Refs #17337 -- Extracted AutoField field logic into a mixin and refactored AutoFields.
This reduces duplication by allowing AutoField, BigAutoField and
SmallAutoField to inherit from IntegerField, BigIntegerField and
SmallIntegerField respectively. Doing so also allows for enabling the
max_length warning check and minimum/maximum value validation for auto
fields, as well as providing a mixin that can be used for other possible
future auto field types such as a theoretical UUIDAutoField.
2019-08-20 09:22:25 +02:00
Mads Jensen b10d322c41 Moved migrations.test_operations.OperationTestBase to migrations.test_base.
Co-Authored-By: Daniel Tao <daniel.tao@gmail.com>
2019-08-19 16:06:14 +02:00
Hasan Ramezani 85458e94e3 Fixed #29260 -- Skipped an UPDATE when adding a model instance with primary key that has a default. 2019-08-19 13:28:35 +02:00
Claude Paroz d1c2e6dd04 Refs #28428 -- Made FileField.upload_to support pathlib.Path. 2019-08-18 20:34:58 +02:00
Claude Paroz af69842dbd Refs #28428 -- Added test for a callable FileField.upload_to that returns pathlib.Path. 2019-08-18 20:34:54 +02:00
Claude Paroz 0468159763 Refs #30426 -- Changed default SECURE_CONTENT_TYPE_NOSNIFF to True. 2019-08-18 13:17:49 +02:00
Simon Charette 8b4a43dda7 Fixed #29545 -- Fixed using filter lookups againts nested subquery expressions.
Made sql.Where resolve lhs of its child nodes. This is necessary to
allow filter lookups against nested subquery expressions to properly
resolve their OuterRefs to Cols.

Thanks Oskar Persson for the simplified test case.
2019-08-17 11:24:35 +02:00
Adnan Umer 6805c0f99f Fixed #30701 -- Updated patch_vary_headers() to handle an asterisk according to RFC 7231. 2019-08-16 15:25:42 +02:00
Andrew Brown 8a281aa7fe Fixed #30687 -- Fixed using of OuterRef() expressions in distance lookups. 2019-08-16 06:50:33 +02:00
zeyneloz 8289fc55ff Refs #30449 -- Made RelatedOnlyFieldListFilter respect ModelAdmin.ordering. 2019-08-15 10:29:10 +02:00
zeyneloz 00035672a4 Fixed #30449 -- Fixed RelatedFieldListFilter/RelatedOnlyFieldListFilter to respect model's Meta.ordering.
Regression in 6d4e5feb79.

Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-08-15 10:29:05 +02:00
Mariusz Felisiak 1f8382d34d
Fixed #30672 -- Fixed crash of JSONField/HStoreField key transforms on expressions with params.
Regression in 4f5b58f5cd.

Thanks Florian Apolloner for the report and helping with tests.
2019-08-14 15:25:35 +02:00
Claude Paroz eed2e740f7 Fixed #30461 -- Made GeoIP2 and GEOIP_PATH setting accept pathlib.Path as library path.
Thanks Nikita Krokosh for the initial patch.
2019-08-13 19:44:10 +02:00
Claude Paroz 88c0b907e7 Refs #30461 -- Added django.utils._os.to_path(). 2019-08-13 17:17:39 +02:00