Commit Graph

12657 Commits

Author SHA1 Message Date
Andreas Pelme 00a1d4d042 Fixed #21803 -- Added support for post-commit callbacks
Made it possible to register and run callbacks after a database
transaction is committed with the `transaction.on_commit()` function.

This patch is heavily based on Carl Meyers django-transaction-hooks
<https://django-transaction-hooks.readthedocs.org/>. Thanks to
Aymeric Augustin, Carl Meyer, and Tim Graham for review and feedback.
2015-06-30 14:51:00 -04:00
Jonas Degrave 4352e865a7 Fixed #24911 -- Made BaseManager.get_queryset() allow custom queryset args. 2015-06-30 13:48:30 -04:00
Ned Batchelder 3b81dbe844 Used %r in the TextNode repr to show newlines better. 2015-06-30 09:54:18 -04:00
Andriy Sokolovskiy 7866968eb3 Removed unused condition for the abstract model in ensure_default_manager() 2015-06-29 21:17:19 -04:00
Andriy Sokolovskiy c0cf73a57d Refs #20203 -- Allowed adding custom default manager to the model state
If the only manager on the model is the default manager defined
by Django (`objects = models.Manager()`), this manager will not
be added to the model state. If it is custom, it needs to be
passed to the model state.
2015-06-29 21:15:37 -04:00
Andriy Sokolovskiy 1d40204f82 Removed unnecessary return 2015-06-29 17:14:29 -04:00
Andriy Sokolovskiy 4359be023b Removed unreachable code 2015-06-29 17:14:29 -04:00
Luke Plant aef2a0ec59 Fixed #25018 -- Changed simple_tag to apply conditional_escape() to its output.
This is a security hardening fix to help prevent XSS (and incorrect HTML)
for the common use case of simple_tag.

Thanks to Tim Graham for the review.
2015-06-29 08:16:19 -04:00
Anssi Kääriäinen 9ed82154bd Fixed #23791 -- Corrected object type check for pk__in=qs
When the pk was a relation field, qs.filter(pk__in=qs) didn't work.

In addition, fixed Restaurant.objects.filter(place=restaurant_instance),
where place is an OneToOneField and the primary key of Restaurant.

A big thank you to Josh for review and to Tim for review and cosmetic
edits.

Thanks to Beauhurst for commissioning the work on this ticket.
2015-06-29 07:49:31 -04:00
Markus Holtermann 736fb1838c Used field.clone() where applicable 2015-06-28 15:11:26 +02:00
Trey Hunner ec4f219ecb Fixed #22463 -- Added code style guide and JavaScript linting (EditorConfig and ESLint) 2015-06-27 16:36:26 -04:00
Tim Graham 7da3923ba0 Sorted imports in __init__.py files. 2015-06-27 11:53:33 -04:00
Greg Chapple 4a66a69239 Fixed #24887 -- Removed one-arg limit from models.aggregate 2015-06-27 11:44:33 -04:00
Noam e291fc4757 Fixed #25031 -- Fixed a regression in the unordered_list template filter. 2015-06-27 09:37:41 -04:00
sujayskumar 2e70bf3785 Fixed #25017 -- Allowed customizing the DISALLOWED_USER_AGENTS response 2015-06-27 08:46:23 -04:00
Jason Hoos a50b66da30 Fixed #24958 -- Fixed inline forms using UUID-PK parents with auto-PK children. 2015-06-26 09:09:09 -04:00
薛丞宏 d3e12c9017 Fixed #25016 -- Reallowed non-ASCII values for ForeignKey.related_name on Python 3. 2015-06-26 08:30:05 -04:00
Claude Paroz 60879a2193 Loaded real destructor functions before garbage time
This is an alternative patch to the unsuccessful b43b27bcd.
2015-06-26 13:41:48 +02:00
Claude Paroz ad82d0003b Revert "Reverted lazy initialization of GIS destroy functions"
This reverts commit b43b27bcdf.
This commit broke tests initialization on systems without GIS libraries.
2015-06-25 23:37:36 +02:00
Claude Paroz b43b27bcdf Reverted lazy initialization of GIS destroy functions
Partial revert of 61d09e61. At __del__ time, it might be to late to bind
those functions.
2015-06-25 21:05:48 +02:00
Simon Charette bdb382b2a4 Refs #25002 -- Supported textual to temporal column alteration on Oracle.
Thanks to Tim Graham for the report and Shai Berger for the review.
2015-06-24 19:37:55 -04:00
Tim Graham aaacaeb096 Renamed RemovedInDjangoXYWarnings for new roadmap.
Forwardport of ae1d663b79
from stable/1.8.x plus more.
2015-06-24 16:08:20 -04:00
Claude Paroz e73842a95f Reordered import in JSON serializer 2015-06-24 18:45:46 +02:00
Lukas Hetzenecker 6355a6d4f5 Fixed #25019 -- Added UUID support in DjangoJSONEncoder 2015-06-24 18:41:25 +02:00
Daniel Wiesmann c078021555 Refs #24840 -- Added GDALRaster Warp and transform methods
Thanks to Tim Graham for the review.
2015-06-24 18:31:22 +02:00
Daniel Wiesmann c0fff64486 Fixed #25011, Refs #23804 -- Added check for GDAL on RasterField initialization 2015-06-23 16:11:42 -04:00
Marten Kenbeek 290ff35e6c Fixed #25000 -- Fixed cast to string for lazy objects.
Implemented __str__() to return the string-representation of the
proxied object, not the proxy itself, if the lazy object didn't have
a string-like object in its resultclasses.
2015-06-23 09:16:17 -04:00
Francisco Albarran e75b614640 Fixed #25009 -- Allowed User.objects.create_user(...,is_staff=True) to work. 2015-06-22 11:34:26 -04:00
Simon Charette 73040e584a Fixed #25002 -- Used PostgreSQL column type alteration USING clause.
Thanks to Dirk Uys for the report.
2015-06-22 09:35:35 -04:00
Tim Graham 7f155a0703 Refs #25006 -- Added a '6 p.m.' option to the admin's time picker. 2015-06-22 07:24:57 -04:00
Rolo e7b4bd48c7 Fixed #24970 -- Added --managers and --admins options to the sendtestemail management command. 2015-06-22 07:21:26 -04:00
Marten Kenbeek 738c0de300 Fixed #14200 -- Added a fallback if HttpRequest.urlconf is None.
Made BaseHandler fall back to settings.ROOT_URLCONF if
HttpRequest.urlconf is set to None, rather than raising
ImproperlyConfigured.
2015-06-20 18:52:33 -04:00
Shai Berger abd7e48af7 Changed Oracle's test-database-creation to use an explicit main-db-connection
rather than just relying on manipulation of settings to determine which
invocation of connection.cursor() opens a connection to the test database
and which opens a connection to the main database.

Thanks Aymeric Augustin for motivation and Tim Graham for review.
2015-06-20 23:48:18 +03:00
Claude Paroz ffdf507ec0 Added GDAL 2.0 support 2015-06-20 14:40:50 +02:00
Claude Paroz 9368f51e12 Fixed #20197 -- Made XML serializer fail loudly when outputting unserializable chars
Thanks Tim Graham for the review.
2015-06-19 20:54:46 +02:00
Daniel Wiesmann b769bbd4f6 Fixed #23804 -- Added RasterField for PostGIS.
Thanks to Tim Graham and Claude Paroz for the reviews and patches.
2015-06-19 14:36:43 -04:00
Markus Holtermann d3d66d4722 Fixed #24940 -- Made model managers hashable
Thanks Federico Jaramillo Martínez for the report and Tim Graham for the
test and review.
2015-06-19 19:02:01 +02:00
Tim Graham 20c6ba6ffa Fixed #24962 -- Added newline to characters escaped by contrib.admin.utils.quote()
Thanks alito for the report and patch.
2015-06-18 16:10:44 -04:00
Gagaro 74261bc593 Fixed #24873 -- Prevented nested Prefetch objects from being overwritten. 2015-06-18 15:42:47 -04:00
Nick Pope b3d5dc6932 Fixed #24834 -- Fixed get_current_site() when Host header contains port.
When the Host header contains a port, looking up the Site record fails
as the host will never match the domain.
2015-06-18 10:18:12 -04:00
Tim Graham 7f1168e387 Removed support for Python 3.3. 2015-06-18 08:36:50 -04:00
Markus Holtermann e5cb4e1411 Fixed #24914 -- Added authentication mixins for CBVs
Added the mixins LoginRequiredMixin, PermissionRequiredMixin and
UserPassesTestMixin to contrib.auth as counterparts to the respective
view decorators.

The authentication mixins UserPassesTestMixin, LoginRequiredMixin and
PermissionRequiredMixin have been inspired by django-braces
<https://github.com/brack3t/django-braces/>

Thanks Raphael Michel for the initial patch, tests and docs on the PR
and Ana Balica, Kenneth Love, Marc Tamlyn, and Tim Graham for the
review.
2015-06-17 23:19:10 +02:00
ana-balica 2f615b10e6 Fixed #24829 -- Allowed use of TemplateResponse in view error handlers. 2015-06-17 17:11:50 -04:00
Tim Graham 3f2de80318 Refs #23763 -- Fixed Python 3.5 PendingDeprecationWarning in LazyStream.
Fixed "PendingDeprecationWarning: generator 'LazyStream.read.<locals>.parts'
raised StopIteration" per PEP 0479.
2015-06-17 06:55:16 -04:00
Andriy Sokolovskiy cf6ce279c7 Fixed #24948 -- Fixed crash when uploading bitmap images in forms.ImageField 2015-06-16 14:37:58 -04:00
Tim Graham 09f2cdbe1a Refs #16860 -- Fixed a resource and deprecation warning in password validation. 2015-06-16 11:02:27 -04:00
Mounir Messelmeni e6dd7f995a Fixed #24971 -- Made startapp generate an apps.py 2015-06-16 07:08:04 -04:00
Markus Holtermann c5eca74619 Sorted reduce methods in migration optimizer
Thanks Tim Graham for the review.
2015-06-16 00:46:04 +02:00
Markus Holtermann e470f311d6 Fixed #24828 -- Allowed migration optimization across AlterFooTogether
The idea behind this change is, that AlterUniqueTogether,
AlterIndexTogether and AlterOrderWithRespectTo can always be moved after
an Add/Alter/Rename/RemoveField operation if they don't refer to the
respective field and are not empty sets / None.

Combined with the optimizations of duplicate AlterUniqueTogether,
AlterIndexTogether, and AlterOrderWithRespectTo operations from
128caa1e16, these operations are optimized
in a later round of the optimizer.

Thanks Tim Graham for the review.
2015-06-16 00:43:22 +02:00
Adam Brenecki 65296b3be3 Fixed #24972 -- Fixed removing unique_together indexes on MySQL. 2015-06-15 17:28:13 -04:00
Adam Chainz d34d39ade7 Fixed #24894 -- Added contrib.postgres.functions.TransactionNow 2015-06-15 14:03:17 -04:00
Tim Graham 3872a33132 Fixed #24979 -- Removed usage of inspect.getargspec(). 2015-06-15 13:43:22 -04:00
Tim Graham 4b600ed244 Removed django.utils.functional.total_ordering() 2015-06-15 13:15:24 -04:00
Tim Graham 47fcbe506c Fixed flake8 warnings on Python 3. 2015-06-15 11:27:09 -04:00
Brian King bfb5b7150f Fixed #24912 -- Fixed prefetch_related failure for UUIDField primary keys
This resolves a problem on databases besides PostgreSQL when using
prefetch_related with a source model that uses a UUID primary key.
2015-06-15 09:37:38 -04:00
elena 841a87785a Corrected to not erroneously mention email as being required.
Email field isn't required.
2015-06-15 14:58:48 +02:00
Markus Holtermann 432623603c Changed reduce method lookup in migration optimizer to dict
Thanks Andrew Godwin and Simon Charette for the review.
2015-06-14 20:44:22 +02:00
Markus Holtermann 4a7d374fd5 Explicitly imported migration operations in optimizer
Thanks Andrew Godwin for the review.
2015-06-14 20:34:54 +02:00
Markus Holtermann 128caa1e16 Optimized duplicate AlterModelTable/AlterFooTogether/AlterOWRT
Thanks Andrew Godwin for the review.
2015-06-14 20:34:48 +02:00
Markus Holtermann 5bc412c35a Took AlterOrderWithRespectTo into account when optimizing migrations
Thanks Andrew Godwin for the review.
2015-06-14 20:34:34 +02:00
Markus Amalthea Magnuson 5304494585 Fixed #24890 -- Added warning to collectstatic when static files have clashing names 2015-06-13 20:34:24 -04:00
Moritz Sichert 98df288dda Fixed #24978 -- Escaped special characters in loaddata fixture paths 2015-06-13 19:45:05 -04:00
Moritz Sichert d58573e60d Refs #24965 -- Added changes from accidentally reverted file for last commit. 2015-06-12 18:29:26 -04:00
Moritz Sichert 296919e7a5 Fixed #24965 -- Made LiveServerTestCase.live_server_url accessible from class 2015-06-12 17:44:54 -04:00
Carson Gee e93e0c03b2 Fixed #24963 -- Added File.seekable() on Python 3. 2015-06-12 10:17:21 -04:00
Fabrizio Ettore Messina 64033fd085 Fixed #24968 -- Removed bad horizontal scrollbar appearing on admin changelist page.
Appeared in Opera with ModelAdmin.actions=None.
2015-06-11 11:56:48 -04:00
Markus Holtermann 5d42890821 Fixed #24950 -- Added unicode_literals to models.py in app template
Thanks Tim Graham for the patch
2015-06-11 16:38:12 +02:00
TMFGravyHands 339c01fb75 Allowed easier extendability of ChoiceFieldRenderer. 2015-06-11 10:15:52 -04:00
Russell Keith-Magee 9851e54121 Merge pull request #4811 from mthornhill/12685
Fixed #12685 - Ensure that deserialised model instances honor the same arguments as normal models.
2015-06-10 21:41:48 +08:00
Tim Graham 55b3bd8468 Refs #16860 -- Minor edits and fixes to password validation. 2015-06-10 07:41:01 -04:00
mick 211c19c579 Fix for ticket 12685 2015-06-10 10:20:51 +01:00
Rivo Laks a0047c6242 Fixed #24769 -- Cast optparse verbosity argument to an integer for better backwards compatibility.
Using `BaseCommand.options_list` makes Django use the legacy optparse
parser, which does not set the verbosity attribute correctly. Now the
verbosity argument is always cast to int. Regression in 8568638 (#19973).

Initial report and patch from blueyed.
2015-06-09 19:03:23 -04:00
Marten Kenbeek 1e82094f1b Fixed #21927 -- Made application and instance namespaces more distinct.
Made URL application namespaces be set in the included URLconf and
instance namespaces in the call to include(). Deprecated other ways
to set application and instance namespaces.
2015-06-08 15:12:20 -04:00
Raphael Michel 39937de7e6 Fixed #24929 -- Allowed permission_required decorator to take any iterable 2015-06-08 13:44:39 -04:00
Marissa Zhou 8b1f39a727 Fixed #24796 -- Added a hint on placement of SecurityMiddleware in MIDDLEWARE_CLASSES.
Also moved it in the project template.
2015-06-08 12:32:38 -04:00
Matthew Schinckel bbff3147f2 Made flatatt docstring match reality
The spirit of the docstring was correct, but referred to an outdated version of the function.
2015-06-08 13:57:25 +02:00
Trey Hunner 788071e22d Moved jQuery to a vendor/jquery subdirectory. 2015-06-07 22:23:42 +02:00
Erik Romijn 1daae25bdc Fixed #16860 -- Added password validation to django.contrib.auth. 2015-06-07 19:31:20 +02:00
David Bannon f4416b1a8b Fixed #24915 -- Added stricter session key validation
Changed _session_key attribute to a property and implemented basic
validation in the setter. The session key must be 'truthy' and
at least 8 characters long. Otherwise, the value is set to None.
2015-06-06 20:04:20 -04:00
Cole Maclean 20ff296cb1 Fixed #24859 -- Made QuerySet.get() with UUIDField raise TypeError on bad value.
For consistency with AutoField.
2015-06-06 19:46:05 -04:00
Sergei Maertens eaf4d8c0d8 Fixed #24922 -- Added system check for templates setting
If `'loaders'` is present in the `TEMPLATES` options together with
`APP_DIRS` set to `True`, the template engine raises an exception. This
conflict is now detected by the system check templates.E001.
2015-06-06 19:40:26 -04:00
Markus Amalthea Magnuson 1884bf8e8e Fixed #12437 -- Added css_classes to Form._html_output() 2015-06-06 19:23:06 -04:00
Tomasz Kontusz c2b4967e76 Fixed ImportError message in utils.module_loading.import_string() 2015-06-06 11:45:22 -04:00
Sagar Mittal e5033dcbba Imported sqlite3 instead of _sqlite3
adapt and ProgrammingError are both available on the
sqlite3 module. There's no need to import the internal
_sqlite3 module.
2015-06-06 11:35:02 -04:00
Marten Kenbeek bc77eb6d08 Fixed #24906 -- Fixed ResolverMatch.app_name for nested namespaces.
Set ResolverMatch.app_name to the full path of nested application
namespaces.
2015-06-06 10:44:43 -04:00
Alasdair Nicol 1ea87c8c79 Fixed #24910 -- Added createsuperuser support for non-unique USERNAME_FIELDs
Clarified docs to say that a non-unique USERNAME_FIELD is permissable
as long as the custom auth backend can support it.
2015-06-06 09:33:02 -04:00
Matthew Somerville a391b17ad2 Fixed #23516 -- Added caching of include tag Template objects
This also speeds up for loops that render the same template
multiple times.
2015-06-06 09:25:11 -04:00
Andriy Sokolovskiy 08232ef84d Fixed #24744 - Fixed relabeled_clone for the Transform 2015-06-06 09:04:53 -04:00
Matthew Somerville 86d9b10dc3 Instead of using DjangoJSONEncoder, use base_field's value_to_string.
Note this means the serialization of e.g. IntegerRangeField now has
strings for lower and upper, so use to_python when they came back in
(same behaviour as ArrayField, hopefully, from where I also got the
set_attributes_from_name function).
2015-06-06 12:55:04 +01:00
Matthew Somerville 2926559cce Fixed #24937 -- fix serialization of Date(Time)RangeField.
Use the DjangoJSONEncoder so that datetime and date are encoded
appropriately.
2015-06-05 22:01:42 +01:00
Sylvain Fankhauser 0a89915783 Fixed #24862 -- Improved PostGIS database connection error message
Thanks brycenesbitt for the patch.
2015-06-05 21:58:30 +02:00
Mark Lavin 541f4ea546 Fixed #24924 -- Join promotion for multiple Case expressions 2015-06-05 12:22:43 -04:00
Marten Kenbeek f0450c9b12 Fixed #24904 -- Fixed nested namespaces in current_app.
Fixed reverse() to correctly handled nested namespace lookups
in current_app.
2015-06-05 11:47:21 -04:00
Tim Graham 6b41834855 Minor edits to Greatest/Least docs; refs #24767. 2015-06-05 11:40:10 -04:00
Andriy Sokolovskiy 286d0e6ab1 Refs #24833 -- Forwardported some of "Fixed Case expressions with exclude()."
Partial forwardport of 469f1e362b from stable/1.8.x
as the issue was already fixed in master.
2015-06-05 11:21:31 -04:00
Matthew Somerville c91bc68e9a Fixed #24927 -- Used python_2_unicode_compatible from six 2015-06-05 08:40:57 -04:00
Russell Keith-Magee 5c35b4a8c9 Added release notes for feature added in fe21fb81 2015-06-05 11:42:58 +01:00
Ian Foote 4ab53a558a Fixed #24767 -- Added Greatest and Least expressions
Greatest and Least are row-level Function versions of Min and Max.
2015-06-05 11:15:33 +01:00
Russell Keith-Magee fe21fb810a Merge pull request #4757 from sergei-maertens/ticket_18166
Fixed #18166 -- Added ability to pass kwargs to the form constructor in a formset.
2015-06-05 11:10:28 +01:00
Shai Berger 35291df7f7 Fixed #19542: Made mirroring databases for tests work with Oracle
No tests are provided because there is no sane way to test database
settings within the Django test suite.

Thanks Aymeric Augustin for review.
2015-06-05 12:29:15 +03:00