Commit Graph

5644 Commits

Author SHA1 Message Date
Mariusz Felisiak e4ab44a4b2 Fixed #32038 -- Fixed EmptyFieldListFilter crash with GenericRelation.
Thanks Javier Matos Odut for the report.
2020-09-25 10:09:28 +02:00
Matthias Kestenholz 01974d7f75
Fixed #32029 -- Removed unnecessary margin in admin CSS for horizontal radio inputs. 2020-09-23 13:58:26 +02:00
Matthias Kestenholz 01c6caa3e6
Fixed #32027 -- Fixed wrapping of long words in admin error messages. 2020-09-23 13:51:02 +02:00
Raffaele Salmaso 7b9596b974 Fixed #32034 -- Removed redundant get_app_config() call in AdminSite.app_index.
app_config.verbose_name is already in app_dict.
2020-09-23 10:01:05 +02:00
manav014 580a4341cb Fixed #31636 -- Made BooleanFieldListFilter respect Field.choices. 2020-09-15 09:12:14 +02:00
Tom Carrick bcc2befd0e Fixed #31789 -- Added a new headers interface to HttpResponse. 2020-09-14 08:41:59 +02:00
Barton Ip 12d6cae7c0 Fixed #31766 -- Made GDALRaster.transform() return a clone for the same SRID and driver.
Thanks Daniel Wiesmann for the review.
2020-09-11 10:31:38 +02:00
Jon Dufresne 84609b3205 Fixed #31993 -- Added subtitles to admin change/view pages. 2020-09-11 06:28:45 +02:00
Jon Dufresne 53c0d16ac1
Fixed #31992 -- Made admin password reset templates use title/content_title blocks from the base template. 2020-09-10 11:53:09 +02:00
Hasan Ramezani 2808cdc8fb Fixed #31962 -- Made SessionMiddleware raise SessionInterrupted when session destroyed while request is processing. 2020-09-09 09:04:28 +02:00
Collin Anderson daa26acc4e Fixed #31978 -- Added username hint to admin's password reset confirmation form. 2020-09-03 09:25:21 +02:00
007gzs 2bc38bc7ca Fixed #31901 -- Prevented content overflowing in the admin changelist with navigation sidebar. 2020-09-01 07:51:22 +02:00
Mariusz Felisiak 0be51d2226 Fixed #31956 -- Fixed crash of ordering by JSONField with a custom decoder on PostgreSQL.
Thanks Marc Debureaux for the report.
Thanks Simon Charette, Nick Pope, and Adam Johnson for reviews.
2020-08-28 19:09:46 +02:00
Kevin Michel ea57a2834f Refs #31928 -- Made SessionMiddleware call super().__init__(). 2020-08-28 12:33:15 +02:00
Mariusz Felisiak e39e727ded
Fixed #31912 -- Removed strict=True in Path.resolve() in project template and CommonPasswordValidator.
This caused permission errors when user didn't have permissions to
all intermediate directories in a Django installation path.

Thanks tytusd and leonyxz for reports.

Regression in edeec1247e and
26554cf5d1.
2020-08-28 05:57:36 +02:00
Phil Gyford e02738bf55 Refs #31913 -- Corrected comment in PasswordResetTokenGenerator.
Follow up to da4923ea87.
2020-08-27 12:57:16 +02:00
Mariusz Felisiak 4376c2c7f8
Fixed #31895 -- Fixed crash when decoding invalid session data.
Thanks Matt Hegarty for the report.
Regression in d4fff711d4.
2020-08-19 12:06:00 +02:00
Maxim Petrov bf6d07730c Fixed #31902 -- Fixed crash of ExclusionConstraint on expressions with params. 2020-08-19 06:43:54 +02:00
Mariusz Felisiak 35b03788b0 Refs #9061 -- Allowed GenericInlineFormSet to disable deleting extra forms.
Follow up to 162765d6c3.
2020-08-18 09:37:15 +02:00
Mariusz Felisiak 3254991762 Refs #20347 -- Allowed customizing the maximum number of instantiated forms in generic_inlineformset_factory().
Follow up to 433dd737f9.
2020-08-18 09:37:15 +02:00
Yan Mitrofanov b88f98738f Fixed #31878 -- Made createsuperuser respect --database option in default usernames. 2020-08-14 11:08:20 +02:00
Carlton Gibson 0aeb802cf0 Fixed #31865 -- Adjusted admin nav sidebar template to reduce debug logging.
Thanks to Mariusz Felisiak for review.
2020-08-11 11:42:15 +02:00
Mariusz Felisiak 99abfe8f4d
Fixed #31864 -- Fixed encoding session data during transition to Django 3.1.
Thanks אורי for the report.
2020-08-07 21:42:39 +02:00
Nick Pope 0a306f7da6 Fixed #25513 -- Extracted admin pagination to Paginator.get_elided_page_range(). 2020-08-06 12:38:56 +02:00
Nick Pope f35840c196 Refs #25513 -- Fixed admin pagination elision bounds.
It doesn't make sense to elide a single page number which could be a
clickable link to that page. We only want to elide two or more pages.
2020-08-06 12:38:56 +02:00
Nick Pope b203ec70fd Refs #25513 -- Adjusted admin pagination to be 1-indexed. 2020-08-06 12:38:56 +02:00
Mariusz Felisiak e70dc506d7 Fixed #31854 -- Fixed wrapping of long model names in admin's sidebar. 2020-08-05 10:54:25 +02:00
007gzs b0af56f639 Fixed #31853 -- Fixed wrapping of translated action labels in admin sidebar. 2020-08-05 10:24:16 +02:00
Mariusz Felisiak d907371ef9 Fixed #31842 -- Added DEFAULT_HASHING_ALGORITHM transitional setting.
It's a transitional setting helpful in migrating multiple instance of
the same project to Django 3.1+.

Thanks Markus Holtermann for the report and review, Florian
Apolloner for the implementation idea and review, and Carlton Gibson
for the review.
2020-08-04 09:35:24 +02:00
Claude Paroz 1a60838fa6 Updated translations from Transifex 2020-08-01 20:41:11 +02:00
David Smith e74b3d724e Bumped minimum isort version to 5.1.0.
Fixed inner imports per isort 5.
isort 5.0.0 to 5.1.0 was unstable.
2020-07-30 10:58:59 +02:00
Viktor Garske 1173db4a16 Fixed #31822 -- Added support for comments URL per feed item.
The item_comments hook returns a comments URL which is then used by the
feed builder.
2020-07-30 07:36:27 +02:00
Florian Demmer 16218c2060 Fixed #27395 -- Added sitemap 'alternates' generation.
Updated the sitemap generator and default template to optionally
include link elements with hreflang attribute to alternate language
URLs.
2020-07-29 11:48:29 +02:00
Carlton Gibson 50e1ccbbea Refs #27395 -- Added XML namespace declaration to sitemap template.
As per Google recommendations:
https://support.google.com/webmasters/answer/189077?hl=en
2020-07-29 11:48:29 +02:00
Florian Apolloner 948a874425
Fixed #29324 -- Made SECRET_KEY validation lazy (on first access). 2020-07-29 09:06:54 +02:00
Parth Verma 41065cfed5 Fixed #31802 -- Added system check for non-integer SITE_ID. 2020-07-24 10:41:55 +02:00
Aymeric Augustin 3f2821af6b
Fixed #31180 -- Configured applications automatically. 2020-07-21 10:35:12 +02:00
David Chorpash 6ec5eb5d74 Refs #31720 -- Defined default output_field of BoolAnd() and BoolOr() aggregate functions. 2020-07-21 06:42:51 +02:00
Mariusz Felisiak 240cbb63bf
Fixed #31790 -- Fixed setting SameSite and Secure cookies flags in HttpResponse.delete_cookie().
Cookies with the "SameSite" flag set to None and without the "secure"
flag will be soon rejected by latest browser versions.

This affects sessions and messages cookies.
2020-07-16 08:16:58 +02:00
Simon Charette 1e38f1191d Fixed #30446 -- Resolved Value.output_field for stdlib types.
This required implementing a limited form of dynamic dispatch to combine
expressions with numerical output. Refs #26355 should eventually provide
a better interface for that.
2020-07-15 10:58:29 +02:00
Claude Paroz b502061027 Added admin translatable string.
Forward port of dda8a2aa1d from stable/3.1.x.
2020-07-14 21:37:49 +02:00
Simon Charette 1b7623fdfd Refs #30446 -- Defined output_field of BoundingCircle() GIS database function.
This prevented the default behavior of
BaseExpression._resolve_output_field from error'ing out when such
functions accepted both expressions from mixed types
(e.g. BoundingCircle(Polygon, num_seg=12)).
2020-07-14 09:36:17 +02:00
rico-ci cb0da637a6 Fixed #31713 -- Added SpatialReference support to GDALRaster.transform(). 2020-07-07 09:26:44 +02:00
Hasan Ramezani 7af8f41273 Refs #26445 -- Allowed using UserManager.create_user()/create_superuser() in migrations.
Used app config to lookup user model in _create_user().

Thanks Markus Holtermann for the review and initial patch.
Thanks Simon Charette for the implementation idea.
2020-07-06 11:47:22 +02:00
Jon Dufresne 4d9cd89acb
Simplified <body> element references in DateTimeShortcuts.js. 2020-07-04 21:14:52 +02:00
tapan gujjar 2d67222472 Fixed #31522 -- Made admin's SelectBox preserve scroll position. 2020-07-01 16:31:38 +02:00
Jon Dufresne 1e3ceb485e Made JavaScript URL manipulation more robust with URL and URLSearchParams.
Use the rich interface and native parsing provided by the browser rather
than raw string manipulation.

https://developer.mozilla.org/en-US/docs/Web/API/URL
https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams
2020-07-01 11:19:24 +02:00
Jon Dufresne dbae6de01e Simplified JavaScript with Array.prototype.includes().
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
2020-07-01 10:16:20 +02:00
Mariusz Felisiak 615e32162f
Fixed #31751 -- Fixed database introspection with cx_Oracle 8. 2020-06-30 09:50:15 +02:00
Jon Dufresne feb6581993
Fixed the centering of the "Log in" button on admin login page.
Previously, the button's container had a padding of 9.4em which was
approximately center but not precisely. Now, the container uses
'align:text-center' to let the browser center the button.
2020-06-26 06:59:33 +02:00
Jon Dufresne f3e5fba7c5 Simplified label element CSS in admin login.css.
Don't add horizontal padding as the label is always displayed on its own
line. This padding added no visual difference.

Move the 'display: block' property from responsive.css to base.css. The
label is already displayed on its own line in all viewports, so reduce
differences in rendering. Using block also allows the label to consume
the width of its container, creating a larger clickable area for a
slight a11y improvement.
2020-06-25 12:26:36 +02:00
Jon Dufresne 60db8b7b37 Removed unnecessary admin CSS.
The "object-tools" container is never rendered as a descendant of
.form-row.

The "golink" CSS class is unused.

A <label> element has not been included in the login .submit-row since
5869afe32b.

The "help" CSS class from login.css has been unused since
0e5faf225c.

The <label> color in login.css is already inherited from the <body>
element and so does not need to be re-specified.

The #content-main container already has the property 'width: 100%' from
base.css and so does not need to be re-specified in login.css.

The <td> and <th> font-family property is inherited from the <body>
element and so does not need to be re-specified.

The <html> element has the attribute dir which automatically sets
the text direction in the layout. Adding the direction CSS property was
necessary to support IE which does not support the dir attribute, but IE
is no longer supported, so drop the direction property.

The 'font-size: 1em' property re-specifies the same font size. It
creates no visual difference.

The 'font-size: 14px' property often re-specifies the inherited value.
Avoid re-specifying it.
2020-06-25 11:46:05 +02:00
Hasan Ramezani fbe82f8255 Refs #26761 -- Removed extra space in admin change list result header. 2020-06-25 06:33:12 +02:00
Jon Dufresne 30e59705fc Fixed #31523 -- Removed jQuery dependency from actions.js. 2020-06-24 11:54:48 +02:00
Yash Saini d5118d2abc Refs #31541 -- Updated Redirect.new_path.help_text. 2020-06-23 12:36:53 +02:00
Frantisek Holop cc7c16af98 Fixed #31443 -- Fixed login redirection in auth mixins when LOGIN_URL is off-site URL. 2020-06-23 10:38:35 +02:00
Jon Moroney 136ec9b62b Refs #31358 -- Added decode() to password hashers.
By convention a hasher which does not use a salt should populate the
decode dict with `None` rather than omit the dict key.

Co-Authored-By: Florian Apolloner <apollo13@users.noreply.github.com>
2020-06-23 08:36:59 +02:00
Alix 26a413507a Fixed #6933 -- Added support for searching against quoted phrases in ModelAdmin.search_fields. 2020-06-18 20:17:20 +02:00
David Smith 10df5b7177
Refs #31670 -- Removed whitelist/blacklist terminology in docs and comments. 2020-06-17 13:15:56 +02:00
Florian Apolloner 1621f06051 Fixed #30472 -- Made Argon2PasswordHasher use Argon2id. 2020-06-17 08:10:41 +02:00
Florian Apolloner faad809e09 Refs #30472 -- Simplified Argon2PasswordHasher with argon2-cffi 19.1+ API. 2020-06-17 08:10:41 +02:00
Hannes Ljungberg 0d6d4e78b1 Fixed #31709 -- Added support for opclasses in ExclusionConstraint. 2020-06-16 08:16:14 +02:00
John Parton a8473b4d34 Fixed #31691 -- Added ordering support to JSONBAgg. 2020-06-13 00:06:29 +02:00
Hannes Ljungberg e0cdd0fcf5 Fixed #31649 -- Added support for covering exclusion constraints on PostgreSQL 12+. 2020-06-12 23:23:21 +02:00
Tom Carrick 69a78a4a63
Fixed comment in django/contrib/auth/urls.py. 2020-06-10 08:39:09 +02:00
Joshua Massover 92309e53d9 Fixed #31594 -- Added ASGIStaticFilesHandler.get_response_async(). 2020-06-08 12:52:26 +02:00
David Smith 4652f1f0aa Fixed #31662 -- Added detection for GDAL 3.0 and 3.1 on Windows. 2020-06-08 09:23:29 +02:00
Hannes Ljungberg 8c7992f658 Fixed #30913 -- Added support for covering indexes on PostgreSQL 11+. 2020-06-04 12:26:22 +02:00
Adam Johnson fcdac3787d
Removed unused HTML class flex from admin changelist.
Unused since 233708fb68.
2020-06-04 11:25:19 +02:00
Collin Anderson 4ae9a2b18e Fixed #31641 -- Improved loading of navigation sidebar in admin. 2020-06-03 13:04:54 +02:00
Jon Dufresne 2dd4d110c1 Fixed CVE-2020-13596 -- Fixed potential XSS in admin ForeignKeyRawIdWidget. 2020-06-03 09:23:00 +02:00
Adam Johnson 22a59c01c0 Refs #31615 -- Added EXISTS clauses to extension operations. 2020-06-03 07:02:48 +02:00
Carles Pina e46c2326c8 Fixed #31536 -- Fixed rendering of disabled AdminFileWidget and ClearableFileInput. 2020-06-01 12:25:25 +02:00
René Fleschenberg 578b3046e3 Reverted "Refs #23919 -- Removed obsolete __init__.py files in management command directories."
This reverts commit ccc25bfe4f.

https://groups.google.com/d/topic/django-developers/GVHMH2ciAnk/discussion
2020-06-01 10:55:41 +02:00
Claude Paroz bd4e409695 Made intword/intcomma template filters independent of USE_L10N. 2020-06-01 07:27:08 +02:00
Jon Dufresne 3bc4240d97 Removed unused admin:jsi18n <script> element from change_password.html.
The view does not contain any other JavaScript and therefore does not
have any user facing JavaScript strings to translate. Avoid the HTTP
request.
2020-05-28 15:21:47 +02:00
Adam Johnson fa58450a9a Fixed #31468 -- Allowed specifying migration filename in Operation.
This adds also suggested filename for many built-in operations.
2020-05-28 11:42:53 +02:00
Tom Carrick 780473d756 Refs #31034 -- Improved accessibility of admin navigation sidebar. 2020-05-28 10:16:20 +02:00
Scott Cranfill 62f1655a64 Fixed #11157 -- Stopped removing stop words in admin's prepopulated_fields.
Co-Authored-By: Andy Chosak <andy@chosak.org>
2020-05-27 12:32:56 +02:00
Frantisek Holop d693a086de Fixed #31615 -- Made migrations skip extension operations if not needed.
- Don't try to create an existing extension.
- Don't try to drop a nonexistent extension.
2020-05-27 10:48:44 +02:00
Hasan Ramezani 18759b2209 Fixed #31616 -- Added hint about middleware ordering for SessionMiddleware admin check. 2020-05-25 21:14:32 +02:00
Jon Dufresne dfb9ae1d23 Refs #30400 -- Improved typography in admin_doc/missing_docutils.html. 2020-05-23 12:02:10 +02:00
Hasan Ramezani c60524c658 Fixed #31546 -- Allowed specifying list of tags in Command.requires_system_checks. 2020-05-21 12:34:54 +02:00
Fran Hrzenjak 4484bc1b2f Fixed #31597, #31603 -- Corrected admin clear all filters link behavior.
- Show "Clear all filters" only when any filter is selected.
- Preserve query string not related with filters.

Co-Authored-By: Hasan Ramezani <hasan.r67@gmail.com>
2020-05-20 21:08:47 +02:00
Jon Dufresne 7070d46114 Updated docutils link to HTTPS and new location. 2020-05-18 08:45:31 +02:00
Jon Dufresne e46f700e39 Refs #31034 -- Used === in nav_sidebar.js admin JS to avoid possible coercion issues. 2020-05-18 07:42:44 +02:00
kjpc-tech 099bce1bf0 Fixed #31590 -- Fixed ModelAdmin.date_hierarchy crash with an empty QuerySet.
Regression in 55cdf6c52d.
2020-05-15 06:35:10 +02:00
Jon Dufresne 81ffedaacc Fixed #31524 -- Removed minified static assets from the admin. 2020-05-14 16:07:56 +02:00
Jon Dufresne d522b51c40 Fixed #31575 -- Added system check for admin sidebar request context processor dependency.
Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2020-05-14 11:00:51 +02:00
Mariusz Felisiak e536fa5ce1
Fixed #31579 -- Dropped support for PostgreSQL 9.5 and PostGIS 2.2. 2020-05-14 06:33:00 +02:00
Jon Dufresne 0a627dbe73
Removed unused Downcoder.chars.
Unused -- other than as a local variable -- since its introduction in
953badbea5
2020-05-13 21:07:14 +02:00
Claude Paroz d4c5ef3ebb Renamed PROJ.4 to PROJ. 2020-05-13 10:30:30 +02:00
Mariusz Felisiak f2187a227f Increased the default PBKDF2 iterations for Django 3.2. 2020-05-13 09:07:51 +02:00
Sergey Fedoseev 91e287cce0
Refs #30678 -- Added support for GDAL 3.1.
OSRSetAxisMappingStrategy() really returns void, so no errcheck is
needed. Previously set errcheck was raising positive false exceptions
on GDAL 3.1.
2020-05-12 11:25:19 +02:00
Claude Paroz 58f1b07e49 Fixed #30678 -- Added support for GDAL 3. 2020-05-12 09:06:06 +02:00
Mariusz Felisiak 0668164b4a
Fixed E128, E741 flake8 warnings. 2020-05-12 08:52:23 +02:00
Claude Paroz e6ec76d245
Updated JS admin translation catalog. 2020-05-11 22:59:27 +02:00
Claude Paroz 33f26339b7
Updated source translation catalogs. 2020-05-11 21:34:46 +02:00
Tom Carrick 46fe506445 Corrected indentation of #main div in admin base template. 2020-05-11 18:16:38 +02:00
Tom Carrick d24ba1be7a Fixed #31034 -- Added a navigation sidebar to the admin.
Co-authored-by: elky <elky@users.noreply.github.com>
Co-authored-by: Goetz <goetz.buerkle@gmail.com>
2020-05-11 18:16:38 +02:00
Jon Dufresne d6aff369ad Refs #30116 -- Simplified regex match group access with Match.__getitem__().
The method has been available since Python 3.6. The shorter syntax is
also marginally faster.
2020-05-11 12:01:28 +02:00
Sergey Fedoseev 23f6fbdd93
Simplified GDAL version parsing. 2020-05-11 11:57:22 +02:00
Hasan Ramezani 87faeee4e0 Fixed #31528 -- Made collectstatic management command run staticfiles checks. 2020-05-08 12:47:57 +02:00
Mariusz Felisiak b23e3a1caa Refs #27661 -- Added Tags.staticfiles.
Follow up to 0ec4dc91e0.
2020-05-08 11:38:18 +02:00
dbxnr fc0f7f6c15 Fixed #31157 -- Fixed displaying read-only JSONField values in admin. 2020-05-08 09:44:42 +02:00
sage 6789ded0a6 Fixed #12990, Refs #27694 -- Added JSONField model field.
Thanks to Adam Johnson, Carlton Gibson, Mariusz Felisiak, and Raphael
Michel for mentoring this Google Summer of Code 2019 project and
everyone else who helped with the patch.

Special thanks to Mads Jensen, Nick Pope, and Simon Charette for
extensive reviews.

Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-05-08 07:23:31 +02:00
Jon Dufresne 6137ec2bf2
Changed selected attribute to HTML5 boolean syntax in SelectBox.js.
Per MDN, HTMLOptionElement.selected is a Boolean attribute.
2020-05-08 06:02:42 +02:00
Jon Dufresne 3c5a586ce9 Fixed #31542 -- Simplified admin JavaScript with "for … of" statements. 2020-05-07 18:09:32 +02:00
Mariusz Felisiak aff7a58aef
Updated admin's Select2 to 4.0.13. 2020-05-05 11:30:02 +02:00
Mariusz Felisiak 30083e0780 Fixed #31485 -- Updated admin's jQuery to 3.5.1. 2020-05-05 11:00:05 +02:00
Jon Dufresne f2051eb8a7
Removed invalid value from admin CSS.
The keyword value 'none' is not a valid value for padding-bottom.
2020-05-05 07:01:06 +02:00
Adam Johnson d17b380653 Refs #30573 -- Rephrased "Of Course" and "Obvious(ly)" in documentation and comments. 2020-05-04 12:10:47 +02:00
François Freitag e0998a460a Optimized collectstatic when verbosity is 0.
Avoid the dict lookup and length computation when command is not run in
verbose mode.
2020-05-02 20:36:14 +02:00
Mariusz Felisiak 909b5cd1aa Refs #31032 -- Removed obsolete CSS workaround for IE in openlayers template. 2020-05-02 14:31:20 +02:00
Ian Foote b4068bc656 Fixed #31455 -- Added support for deferrable exclusion constraints on PostgreSQL. 2020-05-01 09:08:36 +02:00
Jon Dufresne e972752504
Removed unused CSS in admin.
.system-message, .system-message-title are unused since their
introduction in ce0d0cd9e2.
.float-right, .float-left, .align-left, .align-right, and .example are
unused since 6eb4f25692.
2020-05-01 07:00:00 +02:00
Jon Dufresne 448cdde935
Removed CSS workarounds for IE7 in admin. 2020-05-01 06:33:24 +02:00
Jon Dufresne 29e35b9a3e
Refs #31032 -- Removed unnecessary vendor prefixes from admin CSS.
The CSS properties have been standardized and are available in all
supported browsers.
2020-05-01 06:26:36 +02:00
Mariusz Felisiak 54646a423b
Refs #27468 -- Made user sessions use SHA-256 algorithm. 2020-04-29 16:45:00 +02:00
Jon Dufresne 5869afe32b Removed unnecessary &nbsp; entities from the admin.
Normal spaces are fine when used as a single spaced separation. For
larger spacing, CSS is used.
2020-04-29 11:40:24 +02:00
Jon Dufresne 7271c8def4 Refs #31493 -- Changed IIFE to ES6 blocks. 2020-04-29 10:22:41 +02:00
Jon Dufresne 5d37cc703b Fixed #31493 -- Replaced var with const and let keywords in JavaScript.
The eslint configuration and the admin script compress.py have been
updated for ES6.

The unused fallback of globals.django in jquery.init.js was removed. It
is always included before jsi18n-mocks.test.js and it always sets the
global value.
2020-04-29 10:22:41 +02:00
Jon Dufresne 0dafadadb9 Refs #30400 -- Improved typography of user facing strings in admin changelist. 2020-04-29 07:01:46 +02:00
François Freitag 9ef4a18dbe Changed django.forms.ValidationError imports to django.core.exceptions.ValidationError.
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-04-28 10:49:00 +02:00
Richard Campen 67b334fbaf Fixed #31517 -- Fixed HashedFilesMixin.hashed_name() if hash of the file is None. 2020-04-28 08:25:07 +02:00
François Freitag 71d9876e39 Refs #18325 -- Removed unnecessary line endings in management commands.
The OutputWrapper automatically adds \n when it’s not present.
2020-04-27 10:10:36 +02:00
François Freitag abea86f9e4 Removed unnecessary tuple wrapping of single format string argument. 2020-04-27 08:30:16 +02:00
Jon Dufresne f48a1990fb
Made compress.py script use the official google-closure-compiler release.
The script previously used the PyPI package closure, which is slightly
out of date and not maintained by Google.

The JavaScript contribution docs and the compress.py script now runs the
google-closure-compiler package in the recommended way. Google's
documentation on usage and installation can be found at:

https://github.com/google/closure-compiler-npm/tree/master/packages/google-closure-compiler#usage

This also makes the usage simpler as the package now runs through npm's
npx utility, which will automatically install google-closure-compiler to
a per-user cache.
2020-04-22 16:19:27 +02:00
Jon Dufresne f27482f147 Fixed #31483 -- Rewrote change_form.js without jQuery.
The use of $(document).ready() was removed. The script is loaded at the
end of the document. Therefore, the referenced DOM elements are already
available and the script does not need to wait for the full DOM to be
ready before continuing.

Now that the script has no external dependencies, it can be loaded
asynchronously. As such, the async attribute was added to the script
element.
2020-04-22 15:44:55 +02:00
Jon Dufresne a8bb53dbd2 Refs #31483 -- Removed CSS and JavaScript for unused HTML class add-another.
The HTML class was removed in 07988744b3.
As such, the CSS and JavaScript is unused.
2020-04-22 15:44:55 +02:00
Mariusz Felisiak fb9b1c245d
Updated admin's XRegExp to 3.2.0. 2020-04-22 08:45:14 +02:00
Jon Dufresne 0f2885e3f6
Simplified collapse.js with Element.closest(). 2020-04-22 06:13:58 +02:00
hashlash dfbd9ca065 Fixed #30311 -- Restored ability to override global admin actions. 2020-04-17 20:23:00 +02:00
Hasan Ramezani 96c6f9c61c Fixed #31441 -- Ensured TabluarInline expands when child inputs have errors. 2020-04-16 12:17:49 +02:00
Hasan Ramezani b4e7bf5284 Refs #31441 -- Added red border to inputs with errors for TabluarInline. 2020-04-16 12:17:49 +02:00
Nick Pope daabb102c0 Fixed #31470 -- Fixed fieldset admin CSS to prevent overflowing <pre> elements.
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-04-16 10:47:42 +02:00
007 d51c50d836 Fixed #31462 -- Allowed overriding autocomplete/raw_id_fields/filter widgets for ManyToManyFields with formfield_overrides. 2020-04-15 08:33:40 +02:00
Sergey Fedoseev b9e2355eb0 Fixed #31196 -- Added support for PostGIS 3. 2020-04-14 13:19:59 +02:00
François Freitag e03eb8db93 Fixed #31428 -- Allowed empty message in management command self.stdout/err proxies. 2020-04-07 08:45:11 +02:00
Mariusz Felisiak 5c24c16e68
Refs #12990 -- Moved PostgresSimpleLookup to the django.db.models.lookups.PostgresOperatorLookup. 2020-04-01 10:55:53 +02:00
Hasan Ramezani 8aa71f4e87 Fixed #31375 -- Made contrib.auth.hashers.make_password() accept only bytes or strings. 2020-03-31 10:52:56 +02:00
zriv b9336b78cf Fixed #31404 -- Changed selector-chosen's multiple attribute to HTML5 boolean syntax. 2020-03-27 08:38:58 +01:00
Hasan Ramezani 55cdf6c52d Fixed #29724 -- Fixed timezone handling in ModelAdmin.date_hierarchy queries.
Thanks Alexander Holmbäck for the initial patch.
2020-03-25 21:03:41 +01:00
Jon Dufresne be648d1c45 Fixed #31391 -- Removed jQuery usage in cancel.js
Now that cancel.js has no dependencies, it can be loaded asynchronously.

Co-Authored-By: François Freitag <mail@franek.fr>
2020-03-24 11:09:29 +01:00
Jon Dufresne 3a807a6f59 Fixed #31365 -- Removed jQuery usage in SelectFilter2.js. 2020-03-24 09:14:22 +01:00
Hannes Ljungberg 0b51a4f894 Fixed #28194 -- Added support for normalization and cover density to SearchRank. 2020-03-23 11:00:55 +01:00
Jon Dufresne f982f0bdb8
Refs #31032 -- Removed unsupported browsers workarounds and comments in admin's JavaScript.
Since 8b30360322, the admin documentation
is explicit that only modern evergreen browsers are supported. This
allows removing several long standing workarounds for IE and Opera older
versions.

Since 2013, Opera is based on the Chromium blink engine.
2020-03-23 06:19:10 +01:00
gowthamk63 142ab6846a Fixed #31123 -- Added --include-stale-apps option to the remove_stale_contenttypes management command.
Co-Authored-By: Javier Buzzi <buzzi.javier@gmail.com>
2020-03-19 11:48:10 +01:00
Jon Dufresne 13993e0f38 Removed unused default value None to matches_patterns().
An iterable is always passed.
2020-03-19 11:06:33 +01:00
Jon Dufresne 6b61b8b904 Used modern idiom in collectstatic command.
Replaced set(<generator expression>) with set comprehension.
2020-03-19 11:04:33 +01:00
Andrew Godwin fc0fa72ff4 Fixed #31224 -- Added support for asynchronous views and middleware.
This implements support for asynchronous views, asynchronous tests,
asynchronous middleware, and an asynchronous test client.
2020-03-18 19:59:12 +01:00
Ryan Petrello 5f8495a40a Fixed #31371 -- Increased User.first_name max_length to 150 characters. 2020-03-18 08:22:49 +01:00
Jon Dufresne 25d450c852 Removed unused return values in SelectFilter2.js. 2020-03-17 13:52:29 +01:00
Jon Dufresne 9cf4e40b84 Simplified SelectFilter2 with Element.closest().
https://developer.mozilla.org/en-US/docs/Web/API/Element/closest
2020-03-17 12:04:14 +01:00
Baptiste Mispelon 3baf92cf82 Fixed #31340 -- Allowed query expressions in SearchQuery.value and __search lookup. 2020-03-16 10:27:23 +01:00
jay20162016 924c01ba09 Fixed #31363 -- Added support for negative integers to intword template filter. 2020-03-16 08:44:43 +01:00
Jon Dufresne 3857a08bdb Fixed #31361 -- Fixed invalid action="" in admin forms.
The attribute action="" (empty string) on the <form> element is invalid
HTML5. The spec (https://html.spec.whatwg.org/#attr-fs-action) says:

> The action and formaction content attributes, if specified, must have
> a value that is a valid non-empty URL potentially surrounded by
> spaces.

Emphasis on non-empty. The action attribute is allowed to be omitted, in
which case the current URL is used which is the same behavior as now.
2020-03-16 07:31:19 +01:00
Baptiste Mispelon dd704c6705 Refs #31340 -- Simplified SearchQuery by making it subclass Func. 2020-03-13 11:38:43 +01:00
Baptiste Mispelon b62c58d5fc Removed unnecessary SearchQuery._combine().
Unnecessary since its introduction in 2d877da855.
2020-03-13 11:22:51 +01:00
Claude Paroz e663f695fb Fixed #31359 -- Deprecated get_random_string() calls without an explicit length. 2020-03-11 13:16:44 +01:00
Jon Dufresne eb77e80de0 Fixed #31349 -- Used :nth-child() CSS pseudo-class to style alternative rows in admin. 2020-03-09 12:34:32 +01:00
Hasan Ramezani ec292f261d Fixed #31347 -- Checked allow_migrate() in CreateExtension operation. 2020-03-09 12:13:18 +01:00
Simon Charette 7c8b043a03 Refs #31304 -- Made __search lookup default to its rhs' config.
This make the SearchLookup lookup more coherent with its
SearchVectorExact base which configures its rhs SearchQuery with its
lhs' config.
2020-03-06 10:23:39 +01:00
Hasan Ramezani 7e15795bf0 Fixed #30489 -- Fixed RasterField deserialization with pixeltype flags.
Thanks Ivor Bosloper for the original patch.
2020-03-05 09:44:44 +01:00
Jon Dufresne 769cee5252 Fixed #31327 -- Deprecated providing_args argument for Signal. 2020-03-05 09:38:52 +01:00
Ivor Bosloper 828e3b1335 Refs #30489 -- Made from_pgraster()/to_pgraster() use BANDTYPE_FLAG_HASNODATA and bitwise operators for nodata flag. 2020-03-04 14:09:59 +01:00
Mariusz Felisiak 6695d29b1c Fixed CVE-2020-9402 -- Properly escaped tolerance parameter in GIS functions and aggregates on Oracle.
Thanks to Norbert Szetei for the report.
2020-03-04 09:04:50 +01:00
Hannes Ljungberg 65ab4f9f03 Fixed #31147 -- Added SearchHeadline to django.contrib.postgres. 2020-03-03 15:39:52 +01:00
Claude Paroz d4fff711d4 Fixed #31274 -- Used signing infrastructure in SessionBase.encode()/decode().
Thanks Mariusz Felisiak and Florian Apolloner for the reviews.
2020-03-02 12:16:48 +01:00
007gzs a4881f5e5d Fixed #31307 -- Fixed filter_horizontal add/remove SVG :hover positioning. 2020-02-27 15:39:13 +01:00
aryan fba5d3b6e6 Fixed #31289 -- Added hint for USERNAME_FIELD/REQUIRED_FIELDS system check. 2020-02-26 08:40:36 +01:00
Simon Charette 5637933268 Simplified handling of weights in SearchRank. 2020-02-26 08:16:22 +01:00
Simon Charette 1138ca4c57 Formalized SearchVector and SearchRank signatures. 2020-02-26 08:12:45 +01:00
Simon Charette d0f1c03331 Refs #31211 -- Prevented SearchConfig nesting in SearchVector and SearchQuery init.
Passing a SearchConfig instance directly to SearchVector and
SearchQuery would result in nested SearchConfig instance.
2020-02-26 08:03:46 +01:00
Simon Charette 3d62ddb026 Refs #3254 -- Removed unnecessary truth check in SearchVectorExact.as_sql().
Direct usage of the @@ operator is perfectly allowed.
2020-02-26 07:51:19 +01:00
Diederik van der Boor 84e35f4679 Fixed #31292 -- Fixed django.contrib.gis.gdal.gdal_full_version() crash. 2020-02-24 13:28:51 +01:00
Fabio Sangiovanni b457068cf2 Fixed #31187 -- Fixed detecting of existing total ordering in admin changelist when using Meta.constraints.
Detection of existing total ordering in admin changelist now takes into
account non-partial unique constraints.
2020-02-19 09:36:23 +01:00
Claude Paroz 4d973f5939 Refs #26601 -- Deprecated passing None as get_response arg to middleware classes.
This is the new contract since middleware refactoring in Django 1.10.

Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-02-18 20:03:44 +01:00
Claude Paroz da4923ea87 Refs #27468 -- Made PasswordResetTokenGenerator use SHA-256 algorithm. 2020-02-12 21:46:56 +01:00
=Pratik Kumar 20ba3ce4ac Fixed #30846 -- Made PostGIS backend respect Index's name argument. 2020-02-10 13:25:32 +01:00
Hannes Ljungberg adcf1a7308 Fixed #31248 -- Added missing space before USING SQL on PostGIS. 2020-02-10 11:20:45 +01:00
adamb70 4c6ab1f2aa Fixed #28528 -- Allowed combining SearchVectors with different configs. 2020-02-06 07:52:50 +01:00
Nick Pope 335c9c94ac Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
Florian Apolloner 75daea2fc2 Refs #27604 -- Fixed loading of legacy cookie hashes when CookieStorage.key_salt is changed.
This partially reverts bcc9fa2528 to
not break legacy hashes when key_salt is actually changed.
2020-02-04 09:06:55 +01:00
Claude Paroz 8ae84156d6 Fixed #27604 -- Used the cookie signer to sign message cookies.
Co-authored-by: Craig Anderson <craiga@craiga.id.au>
2020-02-04 08:05:02 +01:00
Claude Paroz bcc9fa2528 Refs #27604 -- Added CookieStorage.key_salt to allow customization. 2020-02-04 08:05:02 +01:00
Simon Charette eb31d84532 Fixed CVE-2020-7471 -- Properly escaped StringAgg(delimiter) parameter. 2020-02-03 08:49:13 +01:00
Claude Paroz 5dabb6002e Updated translations from Transifex.
Forwardport of ca4f87027e from stable/3.0.x
2020-01-31 20:59:10 +01:00
Claude Paroz e7d62e97eb
Refs #22426 -- Removed pre-Django 1.5 messages compatibility code and test.
This reverts commit f286721f7f.
2020-01-31 11:11:24 +01:00
Mariusz Felisiak b7a3a6c9ef
Used model's Options.label/label_lower where applicable. 2020-01-29 12:09:20 +01:00
Hannes Ljungberg a69b6e006b Fixed #31211 -- Added SearchConfig expression.
Thanks Simon Charette for the review.
2020-01-29 08:12:10 +01:00
Hasan Ramezani 2633c5341e Fixed #22261 -- Fixed resolving namespaced URLs for flatpages. 2020-01-28 13:14:23 +01:00
Hannes Ljungberg 7edd06a9cf Improved SearchVectorCombinable and SearchQueryCombinable error messages. 2020-01-27 15:09:47 +01:00
Hasan Ramezani 5d654e1e71 Refs #27888 -- Removed redundant {% if %} in admin changelist filters. 2020-01-24 20:31:09 +01:00
Hasan Ramezani b94764e178 Fixed #27888 -- Added link to clear all filters in the admin changelist view. 2020-01-23 14:14:54 +01:00
Michael Mulholland 5a68a223c7 Fixed #31200 -- Added system checks for permissions codenames max length. 2020-01-23 12:22:59 +01:00
Sergey Fedoseev 486a8dae2d Removed unused **kwargs from GEOSFuncFactory.__call__(). 2020-01-22 15:40:39 +05:00
Sergey Fedoseev 7b77505bc9 Removed unused *args and **kwargs from GEOSFuncFactory.__init__().
Follow-up to ff17ef1ada.
2020-01-22 15:19:34 +05:00
Sergey Fedoseev a905891159 Removed unneeded int() call in GEOSCoordSeq.__len__(). 2020-01-22 14:25:32 +05:00
Eugene Hatsko 0b013564ef Fixed #31190 -- Fixed prefetch_related() crash for GenericForeignKey with custom ContentType foreign key.
Regression in dffa3e1992.
2020-01-22 07:54:16 +01:00
Sergey Fedoseev b753e0e750 Removed unused GEOSFuncFactory subclasses.
Unused since 2d18c60fbb.
2020-01-21 22:54:22 +01:00
Sergey Fedoseev f2a725fba3 Fixed #30274 -- Prevented segmentation fault on LineString iteration.
This reverts commit 138a78ec8c and adds
a test for the regression.
2020-01-21 21:46:47 +01:00
Sergey Fedoseev a920c0b852 Fixed #31142 -- Fixed MakeValid.output_field when geometry type is changed.
Regression in 2ef4b4795e.
2020-01-20 08:59:45 +01:00
Daniel Hahler 68e018010b Optimized ModelAdmin._changeform_view() by avoiding multiple get_fieldsets() calls.
Co-authored-by: Hasan Ramezani <hasan.r67@gmail.com>
2020-01-17 16:00:04 +01:00
Mariusz Felisiak 266c853e10
Fixed #31162 -- Prevented error logs when using WKT strings in lookups.
Thanks dbxnr for the initial patch.

Regression in 6f44f714c9.
2020-01-16 14:34:54 +01:00
Owen T. Heisler 77d335e5ab Fixed #31160 -- Fixed admin CSS for ordered lists' descendants in unordered list. 2020-01-13 09:13:33 +01:00
Adam Donaghy 8b3e714ecf Fixed #30980 -- Improved error message when checking uniqueness of admin actions' __name__.
Thanks Keshav Kumar for the initial patch.
2020-01-10 14:00:28 +01:00
Federico Jaramillo Martínez 372eaa395f Fixed #28991 -- Added EmptyFieldListFilter class in admin.filters.
Thanks Simon Charette and Carlton Gibson for reviews.

Co-Authored-By: Jonas Haag <jonas@lophus.org>
Co-Authored-By: Christophe Baldy <christophe.baldy@polyconseil.fr>
2020-01-03 07:58:04 +01:00
David Wobrock 2f565f84ac Fixed #31097 -- Fixed crash of ArrayAgg and StringAgg with filter when used in Subquery. 2019-12-31 10:35:43 +01:00
Sjbrgsn b2bd08bb7a Fixed #30892 -- Fixed slugify() and admin's URLify.js for "İ".
Thanks Luis Nell for the implementation idea and very detailed report.

Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-12-30 20:47:22 +01:00
Farhaan Bukhsh cf5d4701dc Fixed #30819 -- Fixed year determination in admin calendar widget for two-digit years.
Two-digit years in the range of [00, 68] are in the current century,
while [69,99] are in the previous century, according to the Open Group
Specification.
2019-12-30 13:06:29 +01:00
Mike Hansen 35d36d9462 Refs #30585 -- Updated project templates and tests to use (block)translate tags. 2019-12-18 13:15:38 +01:00
Simon Charette 5b1fbcef7a Fixed CVE-2019-19844 -- Used verified user email for password reset requests.
Co-Authored-By: Florian Apolloner <florian@apolloner.eu>
2019-12-18 09:11:39 +01:00
James Turk ff00a05347 Fixed #31088 -- Added support for websearch searching in SearchQuery. 2019-12-16 14:59:59 +01:00
Jon Dufresne e703b93a65 Fixed #31080 -- Removed redundant type="text/javascript" attribute from <script> tags. 2019-12-11 09:49:54 +01:00
Baptiste Mispelon 3df3c5e670 Fixed #26480 -- Fixed crash of contrib.auth.authenticate() on decorated authenticate() methods of authentication backends.
The Signature API (PEP 362) has better support for decorated functions
(by default, it follows the __wrapped__ attribute set by
functools.wraps for example).
2019-12-10 09:36:30 +01:00
Hasan Ramezani 5d674eac87 Fixed #31039 -- Added support for contained_by lookup with AutoFields, SmallIntegerField, and DecimalField. 2019-12-05 15:50:39 +01:00
Hasan Ramezani 664521c56a Refs #31039 -- Removed unnecessary registration of contained_by lookup for BigIntegerField.
It's already registered for IntegerField.
2019-12-05 15:02:18 +01:00
Jon Dufresne 65285d1e7d Refs #29892 -- Made Selenium tests wait for popups to be ready. 2019-12-02 15:06:36 +01:00
Carlton Gibson 6376278a90 Updated contrib translations from Transifex.
Forward port of 4afa0e5d2a from stable/3.0.x
2019-12-02 11:25:23 +01:00
Carlton Gibson 11c5e0609b 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:56:08 +01:00
Baptiste Mispelon f47ba7e780 Fixed #30255 -- Fixed admindocs errors when rendering docstrings without leading newlines.
Used inspect.cleandoc() which implements PEP-257 instead of an internal
hook.
2019-11-29 12:47:42 +01:00
Mariusz Felisiak e8fcdaad5c Fixed #31021 -- Fixed proxy model permissions data migration crash with a multiple databases setup.
Regression in 98296f86b3.
2019-11-29 08:23:01 +01:00
Jon Dufresne 46a0edc3ba Fixed #31028 -- Used classList API to check, add and remove DOM classes.
Thanks to Claude Paroz for review.
2019-11-28 15:21:37 +01:00
Jon Dufresne c8bd37a860 Fixed #31042 -- Removed AdminSeleniumTestCase.get_css_value() in favor of Selenium .is_displayed().
All instances of AdminSeleniumTestCase.get_css_value() were used to
inspect the display property.
2019-11-28 15:10:13 +01:00
Johannes Hoppe 249a6190ae Fixed #30975 -- Replaced custom get_select_option with Selenium's select_by_value. 2019-11-27 16:34:07 +01:00
Johannes Hoppe 69dbb6b708 Fixed #30973 -- Converted selenium tests wait_page_loaded to context manager. 2019-11-27 14:36:26 +01:00
Jon Dufresne cab3661832 Fixed #31027 -- Replaced .getAttribute()/.setAttribute() usage with DOM properties. 2019-11-27 07:53:04 +01:00
Baptiste Mispelon 52936eface Fixed #31031 -- Fixed data loss in admin changelist view when formset's prefix contains regex special chars.
Regression in b18650a263.
2019-11-26 08:48:10 +01:00
Johannes Hoppe ef93fd4683 Fixed #31013 -- Removed jQuery usage in SelectBox.js. 2019-11-25 13:35:20 +01:00
Simon Charette 0290e01d5a Fixed #31002 -- Fixed GIS lookups crash against a subquery annotation.
Thanks Vasileios Bouzas for the report.
2019-11-25 12:30:33 +01:00
Sergey Fedoseev a5855c8f0f Fixed #30996 -- Added AsWKB and AsWKT GIS functions. 2019-11-22 13:40:48 +01:00
Jon Dufresne 62254c5202 Simplified TemplateDetailView with pathlib.Path.read_text(). 2019-11-21 15:14:03 +01:00
Simon Charette 306b687520 Refs #11964 -- Removed SimpleCol in favor of Query(alias_cols).
This prevent having to pass simple_col through multiple function calls
by defining whether or not references should be resolved with aliases
at the Query level.
2019-11-21 11:56:35 +01:00
Hasan Ramezani 0284a26af9 Fixed #30981 -- Fixed admin changelist crash when using F() or OrderBy() expressions in admin_order_field. 2019-11-19 15:40:04 +01:00
Daniel Izquierdo 89abecc75d Fixed #27272 -- Added an on_delete RESTRICT handler to allow cascading deletions while protecting direct ones. 2019-11-19 10:55:05 +01:00
Caio Ariede 555bebe774 Fixed #30987 -- Added models.PositiveBigIntegerField. 2019-11-19 09:34:11 +01:00
Jon Dufresne aa12cf07c9 Removed unnecessary numeric indexes in format strings. 2019-11-19 08:29:47 +01:00
Sergey Fedoseev f95b59a1b3 Fixed #30994 -- Added Oracle support for AsGeoJSON GIS function. 2019-11-18 15:32:44 +01:00
Jon Dufresne e649d691f8 Removed unnecessary parentheses in various code. 2019-11-18 15:25:59 +01:00
Dulmandakh 24b9f50823 Fixed #29916 -- Added lower_inc, lower_inf, upper_inc, and upper_inf lookups for RangeFields.
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-11-14 22:27:29 +01:00
Mariusz Felisiak 6e99585c19 Fixed #30941 -- Reverted "Simplified AuthenticationMiddleware a bit."
This reverts commit 2f010795e6.
2019-11-13 16:33:25 +01:00
Hasan Ramezani 4cec3cc82a Fixed #30977 -- Optimized PasswordResetForm.save() a bit.
Moved site variables assignment outside of the loop.
2019-11-11 10:40:04 +01:00
Nick Pope 02983c5242 Fixed #30943 -- Added BloomIndex to django.contrib.postgres. 2019-11-07 11:23:53 +01:00
Jon Dufresne 77aa74cb70 Refs #29983 -- Added support for using pathlib.Path in all settings. 2019-11-07 10:26:22 +01:00
Mariusz Felisiak 4c45b627f8 Removed unused import of ACTION_CHECKBOX_NAME in django.contrib.admin.
Unused since e651b3095c.
2019-11-06 12:49:42 +01:00
Jon Dufresne edeec1247e Passed strict=True to Path.resolve() to enforce that the path must exist. 2019-11-05 14:22:20 +01:00
Hasan Ramezani 47379d027b Fixed #30095 -- Fixed system check for RangeField/ArrayField.choices with lists and tuples. 2019-11-05 11:48:44 +01:00
Jon Dufresne b9fe7f9294 Fixed #30947 -- Changed tuples to lists in model Meta options in django.contrib modules.
The Django "Model Meta options" docs provide examples and generally
point the reader to use lists for the unique_together and ordering
options. Follow our own advice for contrib models.

More generally, lists should be used for homogeneous sequences of
arbitrary lengths of which both unique_together and ordering are.
2019-11-05 08:16:31 +01:00
Jon Dufresne 607004f81a Simplified consecutive calls to pathlib.Path.parent. 2019-11-04 09:59:34 +01:00