Commit Graph

2611 Commits

Author SHA1 Message Date
Julien Phalip 2cd4cf58d3 Fixed #18550 -- Ensured that the admin history view works with escaped primary keys.
Thanks to josh.oosterman for the report and patch.
2012-07-01 18:40:50 -07:00
Anssi Kääriäinen e74787391e Fixed a regression introduced in where.as_sql() refactor
At least Oracle needs parentheses in negated where conditions, even if
there is only single condition negated. Fixed this by reverting to old
logic in that part of as_sql() and adding a comment about this.

I did not investigate why the parentheses are needed. The original
offending commit was bd283aa844.
2012-07-01 22:52:35 +03:00
Anssi Kääriäinen f572ee0c65 Fixed #16047 -- Restore autocommit state correctly on psycopg2
When the postgresql_psycopg2 backend was used with DB-level autocommit
mode enabled, after entering transaction management and then leaving
it, the isolation level was never set back to autocommit mode.

Thanks brodie for report and working on this issue.
2012-07-01 19:36:43 +03:00
Anssi Kääriäinen bd283aa844 Refactored the empty/full result logic in WhereNode.as_sql()
Made sure the WhereNode.as_sql() handles various EmptyResultSet and
FullResultSet conditions correctly. Also, got rid of the FullResultSet
exception class. It is now represented by '', [] return value in the
as_sql() methods.
2012-07-01 17:21:34 +03:00
Claude Paroz deed192dda Removed usage of mimetype kwarg of HttpResponse
Refs #16519.
2012-06-30 21:19:07 +02:00
Claude Paroz 47da7b7a9a Fixed #18102 -- Defined min/max_length on French localflavor form fields
Thanks mothsART for the report and the initial patch.
2012-06-30 13:18:07 +02:00
Claude Paroz 26cb227cfe Fixed #15197 -- Fixed yaml serialization into HttpResponse
Thanks fourga38 for the report and hirokiky at gmail.com for the
initial patch.
2012-06-28 16:29:29 +02:00
Josh Smeaton fa182e8ae8 Fixed #18465 -- Set date formats correctly on Oracle
Correctly configure NLS_SESSION_PARAMETERS to format Date and DateTime
on Oracle backend.

Thanks to Josh Smeaton for report & patch.
2012-06-26 19:39:14 +03:00
Claude Paroz 05d333ba3b Fixed #18515 -- Conditionally regenerated filename in FileField validation
When a FileField value has been saved, a new validation should not
regenerate a new filename when checking the length. Refs #9893.
2012-06-26 18:18:44 +02:00
Anssi Kääriäinen b6c356b7bb Fixed #17485 -- Made defer work with select_related
This commit tackles a couple of issues. First, in certain cases there
were some mixups if field.attname or field.name should be deferred.
Field.attname is now always used.

Another issue tackled is a case where field is both deferred by
.only(), and selected by select_related. This case is now an error.

A lot of thanks to koniiiik (Michal Petrucha) for the patch, and
to Andrei Antoukh for review.
2012-06-26 18:08:42 +03:00
Claude Paroz 4b722b31e1 Fixed #16317 -- Fixed dumpdata for self-referencing models and natural keys
Thanks aldaran for the patch.
2012-06-24 19:54:56 +02:00
Alex Gaynor e0fce8706d Switch to using context managers for acquiring and releasing locks. 2012-06-23 08:11:15 -07:00
Dmitry Medvinsky d4da08375b Fixed #18454 -- Added ability to pass a list of signals to `receiver`.
Added ability to use receiver decorator in the following way:

    @receiver([post_save, post_delete], sender=MyModel)
    def signals_receiver(sender, **kwargs):
        ...
2012-06-23 16:31:16 +02:00
Luke Plant a54a8bab0c Fixed #17776 - DoesNotExist is not picklable
Thanks to ambv for the report
2012-06-22 13:28:15 +01:00
Claude Paroz f08fa5b555 Removed unneeded u prefixes 2012-06-19 17:37:28 +02:00
Chris Beaven c57ba67331 Fixed #14502 again -- saner verbatim closing token
Previously, the closing token for the verbatim tag was specified as the
first argument of the opening token. As pointed out by Jannis, this is
a rather major departure from the core tag standard.

The new method reflects how you can give a specific closing name to
{% block %} tags.
2012-06-19 10:49:33 +12:00
Claude Paroz fe873e2765 Fixed #12140 -- Fixed http.urlencode result for empty lists
Thanks aneil for the report and the initial patch.
2012-06-14 11:32:40 +02:00
Claude Paroz a2022dae7f Removed escaping test of query content
As the content of last_executed_query() is not under Django's control
for most backends, it is useless to test too specific aspects of it.
2012-06-13 13:37:22 +02:00
Anssi Kääriäinen 86c20e39eb Fixed connection.queries encoding handling on Oracle
In addition, removed a possibly problematic .filter() call from
backends.test_query_encoding test. It is possible the .filter could
cause collation problems on MySQL, and as it wasn't absolutely needed
for the test it seemed better to get rid of the call.

Refs #18461.
2012-06-13 14:16:34 +03:00
Claude Paroz e9ef9776d1 Fixed #18461 -- Ensured that last_executed_query returns Unicode
Thanks Anssi Kääriäinen for the review.
2012-06-13 12:04:46 +02:00
Claude Paroz a7ef802fa4 Added missing encoding prefix in localflavor test 2012-06-12 14:25:51 +02:00
Claude Paroz 35f9c2c07a Cleaned up locale-related encoding issues 2012-06-12 14:23:41 +02:00
Claude Paroz 3dd5d726d1 Fixed #18463 -- Forced type() argument to be a byte string 2012-06-11 22:14:06 +02:00
Claude Paroz ef906b1632 Removed test of connection features before setting up databases 2012-06-09 17:22:24 +02:00
Claude Paroz ad47364dd3 Reverted 905e33f, now that DatabaseFeatures does not need confirm
Connection.features does not need to be confirmed any more, after
commit aa42357, rendering obsolete the workaround when using
TEST_MIRROR (Refs #16885, #17760).
2012-06-09 17:05:54 +02:00
Claude Paroz aa423575e7 Fixed #17760 -- Implemented callable database features as cached properties
This does remove the requirement to call features.confirm() method
before checking the properties.
Thanks cdestiger and Ramiro Morales for their work on the patch.
2012-06-09 15:59:52 +02:00
Anssi Kääriäinen 484fcd34a4 Fixed #16418 -- Made generic views work with ModelForms
Generic views assumed any object's _meta will be model Options. This
is not true for ModelForms for example. Took isinstance(obj, Model)
in use instead.
2012-06-09 01:12:14 +03:00
Aymeric Augustin 23d230f058 Merge pull request #123 from apollo13/ticket18381
Fixed #18381 -- Stopped escaping object ids

when passing them to the contenttypes.shortcut view.

Thanks apollo13 for the patch and dhepper for the review.
2012-06-08 01:48:41 -07:00
Daniel Hepper 0ae727beda Fixed #18433 -- Fixed "View on Site" link in inline admin for models with custom PK 2012-06-07 21:08:36 +02:00
Jann Kleen 1a412dda62 Fixed #18432 -- Prevented the ForeignKey field from creating an invalid query when chained. Thanks, Jann Kleen. 2012-06-07 18:49:19 +02:00
Claude Paroz 4a103086d5 Fixed #18269 -- Applied unicode_literals for Python 3 compatibility.
Thanks Vinay Sajip for the support of his django3 branch and
Jannis Leidel for the review.
2012-06-07 18:08:47 +02:00
Florian Apolloner e1643e3535 Don't escape object ids when passing to the contenttypes.shortcut view.
This commit also changes the string pk to string_pk instead of id, to test
if the admin uses .pk throughout the codebase.
2012-06-07 17:52:12 +02:00
Claude Paroz 6fd1950a4e Fixed #10200 -- Raised CommandError when errors happen in loaddata. 2012-06-07 10:32:10 +02:00
Aymeric Augustin 4464bbba15 Fixed #14502 -- Added a verbatim template tag.
Thanks SmileyChris for the patch.
2012-06-07 09:59:14 +02:00
Julien Phalip f699641161 Fixed #17138 -- Made the sensitive_variables decorator work with object methods. 2012-06-03 23:44:13 -07:00
Honza Kral a89034a2d8 Changed FilePathField tests to use it's own directory with test files.
In previous version it used /django/forms/ which was fragile - for some
users .pyc files were not generated and this tests failed.
2012-06-03 22:54:34 +02:00
Honza Kral 71d9a2a7fe Unittest2 style assertTrue instead of assert_ 2012-06-03 22:31:49 +02:00
Honza Kral f823ae3b3e Fixed incorrect assert in test_filepathfield_folders 2012-06-03 21:46:14 +02:00
Claude Paroz 566ac30eb9 Fixed override_settings usage in test_client_regress 2012-06-02 19:50:24 +02:00
Claude Paroz ade44b8d40 Fixed settings override in mail regression tests
self.settings_override from test subclasses were overwriting parent
attribute.
2012-06-02 19:44:15 +02:00
Ramiro Morales d4648a3446 Removed debugging code added in last commit. 2012-06-01 21:50:06 -03:00
Ramiro Morales 72130385bf Made inspectdb tests deal with a smaller generated models.py file.
Implemented this by adding a stealth table_name_filter option for the
command.
2012-06-01 21:46:07 -03:00
Julien Phalip f6fc83c975 Fixed #18409 -- Made RegexField work with unicode characters. 2012-05-31 11:45:35 -07:00
Claude Paroz ea4e0aad9e Cleaned up test_client_regress tests 2012-05-31 17:43:21 +02:00
Claude Paroz 4553f51155 Moved test_client_regress tests from models.py to tests.py 2012-05-31 17:21:13 +02:00
Julien Phalip 432339a72c Fixed #18393 -- Prevented blocktrans to crash when a variable name is badly formatted. 2012-05-28 11:03:34 -07:00
Claude Paroz a535040bfa Used call_command stdout parameter to capture output in staticfiles tests. 2012-05-28 11:55:38 +02:00
Claude Paroz c3b56c7cdd Used call_command in i18n compilation tests.
Now that call_command does not raise SystemExit any more, we can
use call_command again for testing compilemessages.
2012-05-27 23:11:27 +02:00
Claude Paroz cc4b4d9fd3 Used CommandError in createcachetable command.
Raising CommandError whenever a management command meets an error
condition is the standard way to handle errors in commands.
2012-05-27 23:03:21 +02:00
Michael Newman 4423757c0c Fixed #18135 -- Close connection used for db version checking
On MySQL when checking the server version, a new connection could be
created but never closed. This could result in open connections on
server startup.
2012-05-27 18:45:08 +03:00
Claude Paroz 7a4233b69c Removed a duplicate test in fixtures_regress.
test_abort_loaddata_on_error was exactly the same test as
test_empty (error is tested in test_error_message).
2012-05-26 16:42:28 +02:00
Claude Paroz edfa95c22f Specified when open should use binary mode.
Thanks Vinaj Sajip for the help of his django3 branch.
2012-05-25 20:43:43 +02:00
Aymeric Augustin e73838b6dd Fixed #17371 -- Made the test client more flexible
The OPTIONS, PUT and DELETE methods no longer apply arbitrary
data encoding (in the query string or in the request body).
2012-05-25 19:03:15 +02:00
Anssi Kääriäinen 323b414441 Added tests for nested exclude/negate queries 2012-05-25 14:10:45 +03:00
Anssi Kääriäinen 8c72aa2379 Fixed qs.order_by() join promotion for already existing joins
When order_by causes new joins to be added to the query, the joins must
be LEFT OUTER joins for nullable relations, otherwise the order_by
could cause the results to be altered. This commit fixes the logic to
only promote new joins, previously all joins in the order_by lookup
path were promoted.

Thanks to Bruno Desthuilliers for spotting this corner case.
2012-05-24 18:42:06 +03:00
Aymeric Augustin 3b2993ed04 Fixed #18353 -- Inconsistency in date-based CBVs. 2012-05-24 13:02:19 +02:00
Anssi Kääriäinen 0df4593f0e Fixed #18319 -- Added 'supports_sequence_reset' DB feature
Added a new feature to allow 3rd party backends to skip tests which
test sequence resetting.

Thanks to manfre for report and patch.
2012-05-22 23:51:05 +03:00
Anssi Kääriäinen 8ee1a664f9 Fixed #18318 -- Changed some tests to be 3rd party DB friendly
Thanks to manfre for report and patch.
2012-05-22 23:33:42 +03:00
Anssi Kääriäinen 459c3b67b7 Fixed #18317 -- Removed db specific raw SQL function from tests
A test in model_fields used LEN() in raw SQL. This function is not
available on some 3rd party backends. I removed this function and
ensured that the test works correctly (breaks pre e9bbdb39de) with
the change.
2012-05-22 23:16:24 +03:00
Aymeric Augustin 03f86a5adb Fixed #18354 -- Performance issue in CBV.
Prevented repeating a query twice when the model isn't ordered by
-date_field (in Meta), allow_empty is False and pagination isn't
enabled.
2012-05-20 13:18:42 +02:00
Claude Paroz 38408f8007 Marked bytestrings with b prefix. Refs #18269
This is a preparation for unicode literals general usage in
Django (Python 3 compatibility).
2012-05-19 17:43:34 +02:00
Claude Paroz 45f55a9fcc Fixed broken ES localflavor test after 4774875. 2012-05-18 13:45:42 +02:00
Claude Paroz 7549de841c Fixed #18334 -- Fixed detection of supports_stddev backend feature.
Thanks to Michael Manfre for the report and Anssi Kääriäinen for the
review.
2012-05-18 12:12:45 +02:00
Aymeric Augustin ab268e1848 Added a test for DayArchiveView. Refs #17192. 2012-05-17 17:53:19 +02:00
Aymeric Augustin dcd4383107 Fixed #9893 -- Validated the length of file names
after the full file name is generated by the storage class.

Thanks Refefer for the report, carsongee for the patch, and
everyone else involved in the discussion.
2012-05-17 16:02:05 +02:00
Aymeric Augustin c4996df16c Fixed #17449 -- Added OPTIONS to generic views.
Thanks estebistec for the report and patch.
2012-05-17 13:54:51 +02:00
Aymeric Augustin 009e237cf0 Fixed #17535 -- Optimized list generic views.
When allow_empty is False, prevented the view from loading
the entire queryset in memory when pagination is enabled.
2012-05-17 13:34:53 +02:00
Claude Paroz 006c2b8fc1 Fixed #18326 -- Stripped ending chars in LiveServerViews tests.
Ending chars might be different depending on git crlf setting.
Thanks Michael Manfre for the report and the patch.
2012-05-17 11:10:48 +02:00
Jannis Leidel 5f75ac91df Fixed #17896 -- Added file_hash method to CachedStaticFilesStorage to be able to customize the way the hashed name of a file is created. Thanks to mkai for the initial patch. 2012-05-16 13:21:50 +02:00
Aymeric Augustin fcb09b5746 Fixed #10890: added prev/next_week in the context
of per-week date-based generic views. Thanks ee_lars for the report.
2012-05-14 22:40:45 +02:00
Claude Paroz bbb12581db Replaced im_func and im_self by __func__ and __self__.
The new names are Python 3 compatible.
2012-05-12 22:35:21 +02:00
Claude Paroz 33ffd28d76 Added missing relative imports in test files. 2012-05-12 19:58:32 +02:00
Aymeric Augustin 46648b641d Fixed #17798 -- Tweaked the CA localflavor.
Thanks shelldweller.
2012-05-10 22:19:01 +02:00
Claude Paroz 169b1a404c Replaced foo.next() by next(foo).
This new syntax for next() has been introduced in Python 2.6 and is
compatible with Python 3.
2012-05-10 20:15:49 +02:00
Anssi Kääriäinen c2e1ecb4b1 Fix proxy model Query.remove_inherited_models()
Fixed #18248 -- proxy models were added to included_inherited_models
in sql.query.Query. The variable is meant to be used for multitable
inheritance only. This mistake caused problems in situations where
proxy model's query was reused.
2012-05-09 20:33:31 +03:00
Claude Paroz d7dfab59ea Replaced cStringIO.StringIO by io.BytesIO.
Also replaced StringIO.StringIO by BytesIO in some other appropriate
places. StringIO is not available in Python 3.
2012-05-05 21:41:44 +02:00
Claude Paroz 865cd35c9b Made more extensive usage of context managers with open. 2012-05-05 14:06:36 +02:00
Claude Paroz 11a5355517 Inserted more simplefilter calls to be sure warnings are emitted.
Thanks to Florian Apolloner for suggesting the patch.
2012-05-03 21:31:23 +02:00
Claude Paroz 00c0d3c44e Made warning assertions work with or without -Wall python switch 2012-05-03 20:18:05 +02:00
Claude Paroz 10cf3c6427 Used catch_warnings instead of save/restore methods. Refs #17049. 2012-05-03 18:30:07 +02:00
Ramiro Morales ea28bc2688 Removed unused file from i18n regression tests. 2012-05-03 12:00:36 -03:00
Claude Paroz b52672d778 Replaced deprecated TestCase methods. Refs #17049. 2012-05-03 16:39:16 +02:00
Aymeric Augustin e84f79f051 Fixed #18042 -- Advanced deprecation warnings.
Thanks Ramiro for the patch.
2012-05-03 15:27:01 +02:00
Karen Tracey b86a00187d Merge pull request #28 from akaariai/ticket_18163
Ticket 18163 - use faster password hasher in tests.
2012-05-02 16:06:00 -07:00
Aymeric Augustin 435081fd22 Fixed tests for date-based generic views. 2012-05-01 22:23:17 +02:00
Anssi Kääriäinen 8fad77da95 Ensured tests pass using custom PASSWORD_HASHERS. 2012-04-30 22:10:27 +03:00
Aymeric Augustin ddfc7c2530 Fixed #4746 -- Allowed spaces around filter separator. 2012-04-30 21:01:06 +02:00
Aymeric Augustin 78ba9670af Fixed #18217 -- Time zone support in generic views
Introduced a distinct implementation depending on the type of the
date field (DateField or DateTimeField), and applied appropriate
conversions is the latter case, when time zone support is enabled.
2012-04-30 20:48:19 +02:00
Claude Paroz 596cb9c7e2 Replaced print statement by print function (forward compatibility syntax). 2012-04-30 20:45:03 +02:00
Anssi Kääriäinen 4b11762f7d Fixed SortedDict.__copy__()
Fixed #18175 -- Calling SortedDict.__copy__() resulted in changes to
the original dictionary. The reason was likely related to subclassing
dict.

Thanks to linovia for report and patch.
2012-04-30 17:19:55 +03:00
Anssi Kääriäinen a18e43c5bb Made get_indexes() consistent across backends.
Fixed #15933, #18082 -- the get_indexes() method introspection was
done inconsitently depending on the backend. For example SQLite
included all the columns in the table in the returned dictionary,
while MySQL introspected also multicolumn indexes.

All backends return now consistenly only single-column indexes.

Thanks to andi for the MySQL report, and ikelly for comments on
Oracle's get_indexes() changes.
2012-04-30 14:30:29 +03:00
Claude Paroz 3904b74a3f Fixed #18013 -- Use the new 'as' syntax for exceptions.
Thanks Clueless for the initial patch.
Note that unittest has been purposely left out (external package only used by Python 2.6).
2012-04-29 20:57:15 +02:00
Aymeric Augustin cec6bd5a59 Fixed #18023 -- Removed bundled simplejson.
And started the deprecation path for django.utils.simplejson.

Thanks Alex Ogier, Clueless, and other contributors for their
work on the patch.
2012-04-29 19:58:00 +02:00
Anssi Kääriäinen 584e2c0337 Prevent Oracle from changing field.null to True
Fixed #17957 -- when using Oracle and character fields, the fields
were set null = True to ease the handling of empty strings. This
caused problems when using multiple databases from different vendors,
or when the character field happened to be also a primary key.

The handling was changed so that NOT NULL is not emitted on Oracle
even if field.null = False, and field.null is not touched otherwise.

Thanks to bhuztez for the report, ramiro for triaging & comments,
ikelly for the patch and alex for reviewing.
2012-04-29 19:25:46 +03:00
Alex Gaynor e75bd7e51c Merge pull request #22 from aviraldg/test_17967
Added regression test for #17967.  Thanks to aviraldg for the patch!
2012-04-29 09:08:12 -07:00
Aviral Dasgupta 0525f6d8bd Fixed some style issues in previous commit. 2012-04-29 21:31:09 +05:30
Aymeric Augustin 3e8b40f479 Fixed #17992 -- Added a public API for localtime.
Thanks Bradley Ayers for the report.
2012-04-29 15:37:23 +02:00
Anssi Kääriäinen 5aa51fa999 Simplified QuerySet field.null handling
QuerySet had previously some complex logic for dealing with nullable
fields in negated add_filter() calls. It seems the logic is leftover
from a time where the WhereNode wasn't as intelligent in handling
field__in=[] conditions.

Thanks to aaugustin for comments on the patch.
2012-04-29 16:27:25 +03:00
Aymeric Augustin 9350d1d59c Fixed #17976 -- Made forms.BooleanField pickleable.
This was a regression in Django 1.4.
Thanks bronger for the report and claudep for the patch.
2012-04-29 14:25:06 +02:00
Aviral Dasgupta d12d55ec26 Added regression test for #17967. 2012-04-29 17:26:22 +05:30