Commit Graph

3730 Commits

Author SHA1 Message Date
Aymeric Augustin e9c24bef74 Fix #19524 -- Incorrect caching of parents of unsaved model instances.
Thanks qcwxezdas for the report. Refs #13839.
2012-12-28 23:34:54 +01:00
Aymeric Augustin db278c3bf9 Fixed #19525 -- Reverted dcd4383107 and 05d333ba3b.
Refs #9893, #18515.

Thanks Russell for the report.
2012-12-27 09:37:57 +01:00
Ramiro Morales ad769efa85 Expanded tests added when fixing #14529.
To make sure changes in 35d1cd0 don't break anything. Refs #19505.
2012-12-24 17:48:48 -03:00
Aymeric Augustin 1c8be95a86 Prevented caching of streaming responses.
The test introduced in 4b278131 accidentally passed because of a
limitation of Python < 3.3.

Refs #17758, #7581.
2012-12-24 20:28:07 +01:00
Julien Phalip 35d1cd0b28 Fixed #19505 -- A more flexible implementation for customizable admin redirect urls.
Work by Julien Phalip.

Refs #8001, #18310, #19505. See also 0b908b92a2.
2012-12-24 15:44:19 -03:00
Aymeric Augustin e8f07f0378 Fixed a randomly failing test under Python 3.
Refs #17758.
2012-12-24 11:25:58 +01:00
Luke Plant 1ae64e96c1 Fixed a dependence on set-ordering in tests 2012-12-24 01:33:44 +00:00
Luke Plant c31c2c92b8 Made admin generated changelist URLs independent of dict ordering 2012-12-24 01:33:24 +00:00
Ian Clelland b9fc70141a Don't rely on dictionary ordering in tests 2012-12-24 00:45:58 +00:00
Ian Clelland 585aa11d23 Use HTML parser to compare html snippets 2012-12-24 00:26:09 +00:00
Ian Clelland 8d35fd4c32 Use new TestCase methods for equality comparisons 2012-12-24 00:24:14 +00:00
Aymeric Augustin 1e4a27d087 Fixed #19468 -- Decoded request.path correctly on Python 3.
Thanks aliva for the report and claudep for the feedback.
2012-12-22 13:32:39 +01:00
Anssi Kääriäinen d407164c04 Fixed #18854 -- Join promotion in disjunction cases
The added promotion logic is based on promoting any joins used in only
some of the childs of an OR clause unless the join existed before the
OR clause addition.
2012-12-20 21:45:15 +02:00
Anssi Kääriäinen 3dcd435a0e Fixed #19500 -- Solved a regression in join reuse
The ORM didn't reuse joins for direct foreign key traversals when using
chained filters. For example:
    qs.filter(fk__somefield=1).filter(fk__somefield=2))
produced two joins.

As a bonus, reverse onetoone filters can now reuse joins correctly

The regression was caused by the join() method refactor in commit
68847135bc

Thanks for Simon Charette for spotting some issues with the first draft
of the patch.
2012-12-20 21:27:00 +02:00
Russell Keith-Magee c04c03daa3 Fixed #19401 -- Ensure that swappable model references are case insensitive.
This is necessary because get_model() checks are case insensitive, and if the swapable check isn't, the
swappable logic gets tied up in knots with models that are partially swapped out.

Thanks to chris@cogdon.org for the report and extensive analysis, and Preston for his work on the draft patch.
2012-12-20 16:10:19 +08:00
Patryk Zawadzki 3989ce52ef Fixed #18172 -- Made models with __iter__ usable in ModelMultipleChoiceField
Thanks to Patryk Zawadzki for the patch.
2012-12-19 22:51:12 +02:00
Claude Paroz 55972ee5c7 Fixed #19441 -- Created PostgreSQL varchar index when unique=True
Thanks Dylan Verheul for the report and Anssi Kääriäinen for the
review.
2012-12-18 09:56:30 +01:00
Anssi Kääriäinen 85712a5355 Made sure connections are actually closed in backends tests 2012-12-16 23:26:16 +02:00
Claude Paroz ed711c4bd5 Fixed #19483 -- Improved import error message in contrib.comments
Thanks Valentin Lorentz for the report and the suggested fix.
2012-12-16 21:12:45 +01:00
Anssi Kääriäinen 69597e5bcc Fixed #10790 -- Refactored sql.Query.setup_joins()
This is a rather large refactoring. The "lookup traversal" code was
splitted out from the setup_joins. There is now names_to_path() method
which does the lookup traveling, the actual work of setup_joins() is
calling names_to_path() and then adding the joins found into the query.

As a side effect it was possible to remove the "process_extra"
functionality used by genric relations. This never worked for left
joins. Now the extra restriction is appended directly to the join
condition instead of the where clause.

To generate the extra condition we need to have the join field
available in the compiler. This has the side-effect that we need more
ugly code in Query.__getstate__ and __setstate__ as Field objects
aren't pickleable.

The join trimming code got a big change - now we trim all direct joins
and never trim reverse joins. This also fixes the problem in #10790
which was join trimming in null filter cases.
2012-12-16 17:23:26 +02:00
Russell Keith-Magee 9facca28b6 Corrected tests depending on the error message on the AuthenticationForm.
Refs #19368, and the fix introduced in 27f8129d64.
2012-12-16 07:18:45 +08:00
Anssi Kääriäinen 7eba5fbc02 Fixed a couple of stale tests caused by patch for #19462
Commit was 088d3bc2f8
2012-12-13 15:02:08 +02:00
Anssi Kääriäinen 088d3bc2f8 Fixed #19462 -- Made assertQuerysetEqual detect undefined ordering
If there are more than one values to compare against and the qs isn't
ordered then assertQuerysetEqual will raise a ValueError.
2012-12-13 13:33:11 +02:00
Claude Paroz 6ed6a18a03 Fixed #19432 -- Provided better error message for get_object_or_404
Thanks Kit Sunde for the report and Brian Holdefehr for the initial
patch.
2012-12-12 22:05:00 +01:00
Florian Apolloner 7e97f4f510 Fixed an order dependant test failure. 2012-12-11 16:25:47 +01:00
Florian Apolloner 1eb0da1c5b Fixed a test failure in the comment tests. 2012-12-10 23:34:51 +01:00
Florian Apolloner 27560924ec Fixed a security issue in get_host.
Full disclosure and new release forthcoming.
2012-12-10 22:11:40 +01:00
Florian Apolloner a2f2a39956 Fixed #18856 -- Ensured that redirects can't be poisoned by malicious users. 2012-12-10 22:11:39 +01:00
Claude Paroz 0cdfa76e68 Amended an SQL test fixture to not include an id value
Some backends might need special handling for auto-increment values.
This was introduced in 5fa5621f57. Thanks Michael Manfre for spotting
the issue.
2012-12-10 17:49:04 +01:00
Aymeric Augustin 49519328b4 Fixed #19392 -- Improved error for old-style url tags with dashes.
Thanks dloewenherz for the report.
2012-12-09 16:17:56 +01:00
Claude Paroz 8248d14029 Removed US localflavor-specific tests from core
Also fixes #9045.
2012-12-08 21:07:59 +01:00
Claude Paroz 04e6542b5a Fixed #19423 -- Prevented ModelAdmin sharing widgets due to formfield_overrides
Thanks joebuyer at manycycles.com for the report and Simon Charette
for the review.
2012-12-08 12:41:11 +01:00
Claude Paroz c91667338a Fixed #19357 -- Allow non-ASCII chars in filesystem paths
Thanks kujiu for the report and Aymeric Augustin for the review.
2012-12-08 11:13:52 +01:00
Andreas Hug 66dfcc10b3 Fixed #18574 -- Make BaseFormSet.is_valid call its underlying forms' is_valid
Thanks Simon Charette for the report and the initial patch.
2012-12-06 20:00:56 +01:00
Claude Paroz 34dcf51e06 Fixed #19367 -- Fixed saving ContentFile in filesystem storage
This was not working properly when ContentFile was initialized with
an unicode string.
Thanks Alexey Boriskin for the report and the test.
2012-12-06 17:14:44 +01:00
Marc Aymerich 553838a285 Fixed #19429 -- Applied linebreaksbr to read-only fields in inlines
Applied to inlines what ec9d6b1122 did for main fieldsets.
2012-12-06 09:52:02 +01:00
Anssi Kääriäinen 632cf32b43 Fixed #19391 -- Oracle specific failure in tests
The failure was caused by using None as a choice for a CharField. To
avoid Oracle's "" <-> NULL handling the field type was changed to
IntegerField.
2012-12-04 22:49:02 +02:00
Julien Phalip c196e01100 Fixed the admin_filters tests for Postgres. 2012-12-04 10:36:56 -08:00
Claude Paroz 795ac7deda Fixed #19378 -- Ensured get_success_url returns a non-lazy URL 2012-12-04 13:22:42 +01:00
Andrew Godwin 501c7a221c Merge pull request #573 from tominsam/master
Fixed #19070: urlize template filter raises exception in some cases
2012-12-04 02:18:10 -08:00
Ramiro Morales b64d30405a Fixed #18697 -- Made values accepted for two customizable admin templates consistent.
Thanks and at cloverfastfood dot com for the report.
2012-12-04 01:13:01 -03:00
Sebastián Magrí 88e1715639 Fixed #19318 -- Ensured that the admin's SimpleListFilter options can be displayed as selected even if the lookup's first element is not a string. 2012-12-03 11:53:15 -08:00
Claude Paroz 5fa5621f57 Fixed #19416 -- Fixed multi-line commands in initial SQL files
Thanks Aymeric Augustin for detecting this regression.
2012-12-03 20:47:08 +01:00
Tom Insam 161cafb6f6 another failing test case for square brackets. 2012-12-03 12:11:32 +00:00
Aymeric Augustin baae4b8187 Fixed #19397 -- Crash on binary files in project templates.
Thanks gw 2012 at tnode com for the report.
2012-12-03 10:45:18 +01:00
Julien Phalip 2e2c4968f6 Fixed #17050 -- Added some CSS class names to the admin index pages to facilitate per-app or per-model style customizations. Thanks to scytale for the report and to H0ff1 and thiderman for their work on the patch. 2012-12-02 20:54:34 -08:00
Claude Paroz 349c4c37f8 Fixed #19015 -- Add ISO input formats to all formats 2012-12-01 14:05:52 +01:00
Claude Paroz 0eeae15056 Fixed #19354 -- Do not assume usermodel.pk == usermodel.id
Thanks markteisman at hotmail.com for the report.
2012-11-29 21:45:43 +01:00
Anssi Kääriäinen 163b471e9e Converted a couple of assertEquals -> assertEqual 2012-11-28 23:44:50 +02:00
Tai Lee 6ebf115206 Fixed #14694 -- Made ``defer()`` work with reverse relations
Reverse o2o fields are now usable with defer.
2012-11-28 18:17:10 +02:00
Danilo Bargen c10aaa70a4 Fixed #19370 -- Made date filter properly handle midnight value 2012-11-27 21:24:16 +01:00
Anssi Kääriäinen 64f6e0370a Made some tests behave nicer re connection handling 2012-11-27 19:47:20 +02:00
Aymeric Augustin 2ea80b94d7 Fixed #19362 -- Detected invalid use of @python_2_unicode_compatible.
Thanks m3wolf for the report and akaariai for reproducing the problem.
2012-11-27 09:45:37 +01:00
Edward Tjörnhammar 29d59a879e Fixed #17911 -- Ensure that admin readonly fields' display values are shown in change forms when the raw value is None. 2012-11-25 23:13:30 +01:00
Julien Phalip ae206d78f6 Fixed #17646 -- Added a get_list_filter() method to ModelAdmin. Thanks to rasca for the suggestion and to mateusgondim for the patch. 2012-11-25 20:39:23 +01:00
Claude Paroz f26b956e80 Fixed test failure following capitalization fix in 2f035a972 2012-11-25 19:54:38 +01:00
Aymeric Augustin 7644800070 Change exception type to reduce confusion.
TemplateSyntaxError is expected at compile time, not at run time.

Refs #19280.
2012-11-25 19:51:42 +01:00
Aymeric Augustin f89901dc05 Fixed two typos. 2012-11-25 19:31:53 +01:00
Claude Paroz a5d47415f4 Enabled SimpleTestCase to be decorated by override_settings
Refs #18417. Also fixed some test case classes which subclassed
the wrong parent.
2012-11-25 19:06:17 +01:00
Claude Paroz 9f7cefd505 Fixed #18417 -- Raised exception when unittest.TestCase is decorated with override_settings 2012-11-25 19:06:17 +01:00
Aymeric Augustin d266919584 Fixed #19280 -- Raised an explicit exception for the old {% url %} syntax. 2012-11-24 22:10:51 +01:00
Aymeric Augustin 690cac3a34 Used a django.test.TestCase for compatibility with @override_settings.
These tests were silently skipped.
2012-11-24 22:10:51 +01:00
Anssi Kääriäinen dc569c8801 Fixed ordering-related failure in m2m_through_regress tests 2012-11-24 16:03:21 +02:00
Chris Khoo bf1871d874 Fixed #19237 -- Improved strip_tags utility
The previous pattern didn't properly addressed cases where '>'
was present inside quoted tag content.
2012-11-24 12:16:52 +01:00
Russell Keith-Magee 18d7c1ea3a Simplified the deletions performed by the swappable_models test.
This is required to allow the test to run without error under SQLite in the CI environment.
2012-11-24 15:07:50 +08:00
Russell Keith-Magee c8985a8a73 Fixed #19806 -- Ensure that content types and permissions aren't created for swapped models.
Thanks to rizumu for the report.
2012-11-24 13:43:20 +08:00
Anssi Kääriäinen 0a0a0d66b3 Fixed #19351 -- SQLite bulk_insert of more than 500 single-field objs 2012-11-24 01:13:12 +02:00
Anssi Kääriäinen a27582484c Fixed SQLite's collapsing of same-valued instances in bulk_create
SQLite used INSERT INTO tbl SELECT %s UNION SELECT %s, the problem
was that there should have been UNION ALL instead of UNION.

Refs #19351
2012-11-24 01:12:17 +02:00
Anssi Kääriäinen 90b86291d0 Fixed #18375 -- Removed dict-ordering dependency for F-expressions
F() expressions reuse joins like any lookup in a .filter() call -
reuse multijoins generated in the same .filter() call else generate
new joins. Also, lookups can now reuse joins generated by F().

This change is backwards incompatible, but it is required to prevent
dict randomization from generating different queries depending on
.filter() kwarg ordering. The new way is also more consistent in how
joins are reused.
2012-11-23 19:53:04 +02:00
Aymeric Augustin 2875b5dcab Tweak a test to avoid hitting a limit with SQLite.
Django cannot delete more than 999 objects at a time with SQLite.

Refs #16426, #16039.
2012-11-23 10:02:18 +01:00
Tim Graham 0e3690d230 Fixed #18974 - Warned against using models.permalink
Thanks dstufft for the draft patch.
2012-11-22 16:08:51 -05:00
Aymeric Augustin a026e480da Fixed #16039 -- Made post_syncdb handlers multi-db aware.
Also reverted 8fb7a90026. Refs #17055.
2012-11-22 20:53:59 +01:00
George Hickman ea6b95dbec Fixed #19316 -- Set View args/kwargs/request before dispatch 2012-11-22 20:13:01 +01:00
Jannis Leidel 3fb83729b9 Merge branch 'ticket_19325' of https://github.com/hannesstruss/django into hannesstruss-ticket_19325 2012-11-22 10:05:08 +01:00
Julien Phalip 693b8a65ad Modified a staticfiles test to use a unicode character that has just one single representation. The previously used character (ş) has two different representations (u'\u015f' and u's\u0327'), which caused spurious failures when the tests were run across multiple platforms (e.g. on a Linux VM hosted on a Mac). 2012-11-21 09:52:09 +01:00
Claude Paroz b781354ad1 Updated assertions in pagination test
assertEquals is a deprecated assertion alias.
2012-11-21 09:06:21 +01:00
Chris Beaven 48e8b5e944 Add orphans support to MultipleObjectMixin
Fixes #7005
2012-11-21 16:50:23 +13:00
Chris Beaven fbfa654a15 Paginator._get_page hook
This allows for Paginator subclasses to easily override the Page class
that gets used.

Took the opportunity to also do some non-invasive PEP8 tidying of the
paginator module.
2012-11-21 15:19:44 +13:00
Hannes Struss f9891f2087 Fixed #19325 - Made email backend of AdminEmailHandler configurable 2012-11-20 11:23:12 +01:00
Preston Holmes edf7ad36fa Fixed #18658 -- Improved ModelAdmin.message_user API
Thanks to Lowe Thiderman for the patch and tests
2012-11-19 16:03:09 -08:00
Jannis Leidel 778b8bdcf4 Merge pull request #467 from tomchristie/page-kwarg
Add 'page_kwarg' attribute to `MultipleObjectMixin`, removing hardcoded "page".
2012-11-17 12:27:01 -08:00
Claude Paroz e0363c688d Fixed #19114 -- Fixed LogEntry unicode representation
Thanks niko at neagee.net for the report and Emil Stenstrom for
the patch.
2012-11-17 19:19:59 +01:00
Claude Paroz 2a67374b51 Fixed #19036 -- Fixed base64 uploads decoding
Thanks anthony at adsorbtion.org for the report, and johannesl for
bringing the patch up-to-date.
2012-11-17 17:25:21 +01:00
Claude Paroz ec9d6b1122 Fixed #19226 -- Applied linebreaksbr to read-only fields in admin
Thanks shadow for the report, and Melevir and thiderman for the
patch.
2012-11-17 17:06:24 +01:00
Jannis Leidel f79013843d Fixed typo introduced in 4a5e8087ac. 2012-11-17 16:00:19 +01:00
Jannis Leidel 233f86443c Merge pull request #490 from gabrielhurley/reverse-prefix-special-chars
Fixed #18210 -- Escaped special characters in reverse prefixes.
2012-11-17 06:49:18 -08:00
Jannis Leidel 4a5e8087ac Fixed #19136 -- Properly escape gettext context prefixes in the i18n JavaScript view template. 2012-11-17 15:37:30 +01:00
Preston Holmes 44046e8a38 Fixed #18985 -- made DeprecationWarnings loud
Capture warnings in Python >= 2.7 and route through
console handler, which is subject to DEBUG==True

Thanks to dstufft for the idea, and claudep for initial patch
2012-11-16 17:07:38 -08:00
Anssi Kääriäinen 71e14cf3aa Fixed #18347 -- Removed autofield raw SQL inserts from tests 2012-11-15 17:31:08 +02:00
Anssi Kääriäinen f51e409a5f Fixed #13781 -- Improved select_related in inheritance situations
The select_related code got confused when it needed to travel a
reverse relation to a model which had different parent than the
originally travelled relation.

Thanks to Trac aliases shauncutts for report and ungenio for original
patch (committed patch is somewhat modified version of that).
2012-11-15 17:15:21 +02:00
Claude Paroz 550ddc66b4 Fixed #19272 -- Fixed gettext_lazy returned type on Python 2
Thanks tyrion for the report.
2012-11-14 10:50:15 +01:00
Claude Paroz 1620c27936 Fixed #19186 -- Fixed sending mail with unicode content on Python 3
Thanks alex_po for the report and Luke Plant for the analysis.
2012-11-14 10:43:33 +01:00
Aymeric Augustin 4c5cea7073 Merge pull request #218 from mgrouchy/ticket_18582
Fixed #18582 -- Added a no-op close to BaseCache
2012-11-11 07:18:45 -08:00
Claude Paroz 34162698cc Fixed #14264 -- Ensured settings.configure configures logging
Thanks Matt McDonald for the patch.
2012-11-10 12:05:58 +01:00
Sean Breant 4d817b3887 Fixed #19262 -- Support cookie pickling in SimpleTemplateResponse
Refs #15863.
2012-11-09 21:07:53 +01:00
Claude Paroz 1b307d6c8f Fixed #19261 -- Delayed Queryset evaluation in paginators
Thanks trbs for the report and the patch.
2012-11-09 19:41:57 +01:00
Claude Paroz 45802e1248 Merged pagination tests
It is simpler/cleaner to have all pagination tests in a single file.
Refs #16122.
2012-11-08 11:07:16 +01:00
Anssi Kääriäinen cafb266954 Fixed #17144 -- MySQL again groups by PK only
Thanks to Christian Oudard for the report and tests.
2012-11-08 00:56:32 +02:00
Claude Paroz 79dd751b0b Fixed #14315 -- Made memcached backend handle negative incr/decr values
Thanks Michael Manfre for the report and initial patch and
Tobias McNulty for the review.
2012-11-06 12:22:42 +01:00
Claude Paroz 78f66691ee Fixed #8627 -- Prevented textareas to swallow first newline content
Browsers consider the first newline in textareas as some display
artifact, not real content. Hence they are not sending it back to
the server. If we want to keep initial newlines, we have to add one
when we render the textarea.
Thanks bastih for the report and initial patch.
2012-11-05 20:27:06 +01:00