1
0
mirror of https://github.com/django/django.git synced 2024-12-29 12:36:08 +00:00
Commit Graph

1065 Commits

Author SHA1 Message Date
Bogdan Mateescu
392963e8e4 Fixed #29421 -- Improved Romanian locale formats 2018-05-20 17:12:13 +02:00
bakabiko
a7bc1aea03 Fixed #29380 -- Added support for QuerySet.select_for_update()'s nowait and skip_locked options on MySQL 8+. 2018-05-18 19:37:36 -04:00
Stefan R. Filipek
a5a2ceeb45 Fixed #27629 -- Added router.allow_relation() calls for assignments between unsaved model instances. 2018-05-10 20:42:44 -04:00
Maximilian Merz
78912ccd0e Fixed #21408 — German Translation for “3 days ago”
The problem:
“3 days ago” should translate to “vor 3 Tagen” in German, while “3 days” translates to “3 Tage”. #21408 describes that django always translated to “Tage”, even when the dative “Tagen” was correct. The same applies to months (“Monate”/“Monaten”) and years (“Jahre”/“Jahren”).

The solution:
Let `timesince` caller provide the string dict to use for the time-related strings.
2018-05-10 15:53:33 +02:00
Sanket Saurav
079f324357 Fixed #28913 -- Fixed error handling when MIGRATIONS_MODULES specifies a nonexistent top-level package. 2018-05-05 18:26:33 -04:00
Paul Donohue
33a0b7ac81 Fixed #29296 -- Fixed crashes in admindocs when a view is a callable object. 2018-04-12 13:11:08 -04:00
Jeremy Bowman
ee17bb8a67 Fixed #29193 -- Prevented unnecessary foreign key drops when altering a unique field.
Stopped dropping and recreating foreign key constraints on other fields
in the same table as the one which is actually being altered in an
AlterField operation.

Regression in c3e0adcad8.
2018-04-11 23:17:11 -04:00
Abeer Upadhyay
1bf4646f91 Fixed #29258 -- Added type checking for login()'s backend argument. 2018-03-28 10:10:18 -04:00
Michael Sinov
9aca67bea8 Fixed #27533 -- Fixed inspectdb crash if a unique constraint uses an unsupported type. 2018-03-21 12:28:16 -04:00
Jezeniel Zapanta
abe6c5defe Fixed #28514 -- Clarifed docs about idempotence of RelatedManager.add(). 2018-03-20 21:09:08 -04:00
Mattia Procopio
aeb8c38178 Fixed #29206 -- Fixed PasswordResetConfirmView crash when the URL contains a non-UUID where one is expected. 2018-03-15 21:33:15 -04:00
Becky Smith
8116e588db Fixed #17962 -- Added ModelAdmin.get_deleted_objects(). 2018-02-24 20:41:43 -05:00
Stanislav Karpov
6d794fb762 Fixed #28960 -- Added GEOSGeometry.buffer_with_style(). 2018-02-10 19:45:58 -05:00
Nick Sarbicki
47268242b0 Fixed #29082 -- Allowed the test client to encode JSON request data. 2018-02-06 18:29:04 -05:00
Raffaele Salmaso
da3df5b878 Fixed #8500 -- Allowed overriding the default admin site instance. 2018-02-03 18:51:10 -05:00
priyanshsaxena
617d5f410f Fixed #29066 -- Allowed negating query expressions. 2018-01-31 10:54:19 -05:00
bquinn
c2b969e124 Fixed #29004 -- Added inspectdb --include-views option. 2018-01-27 18:51:40 -05:00
Grant Jenks
d38a3169a4 Fixed #28977 -- Changed local-memory cache to use LRU culling.
LRU culling turns every read into a kind of write to the cache: cache keys
are moved to the first position in the OrderedDict when they are retrieved.
The RWLock which permitted multiple readers while prioritizing a single
writer is obsolete since all accesses are now writes.
2018-01-24 12:26:19 -05:00
jaywelborn
56e590cc0b Fixed #28761 -- Documented how an inline formset's prefix works. 2018-01-13 16:20:34 -05:00
Himanshu Chauhan
1b753b2d60 Fixed #28885 -- Fixed hidden content at the bottom of the "The install worked successfully!" page for some languages. 2018-01-12 19:09:54 -05:00
Will Ayd
09530e61a0 Fixed #28869 -- Made tagged test classes and methods inherit tags from parents. 2018-01-08 20:57:33 -05:00
Zac-HD
32ade4d73b Fixed #28878 -- Added python_requires in setup.py and a warning for older pips that don't recognize it. 2017-12-22 18:25:05 -05:00
Cameron Curry
622ead6aaf Fixed #28937 -- Allowed BinaryField to be editable=True. 2017-12-22 16:31:46 -05:00
Rodrigo Pinheiro Marques de Araújo
30a389bd77 Fixed #28898 -- Corrected admin check to allow a OneToOneField in ModelAdmin.autocomplete_fields. 2017-12-13 02:39:27 -05:00
Srinivas Reddy Thatiparthy
55b5393bd2 Fixed #28474 -- Made DurationField raise ValidationError for inputs that raised OverflowError. 2017-10-25 18:05:13 -04:00
Tomer Chachamu
21a3a29dc9 Fixed #28722 -- Made QuerySet.reverse() affect nulls_first/nulls_last. 2017-10-21 20:55:45 -04:00
Flávio Juvenal
f6e1789654 Fixed #28577 -- Added checks for ArrayField and JSONField to prevent mutable defaults. 2017-10-20 13:17:22 -04:00
Lucas Connors
5ceaf14686 Fixed #27515 -- Made AuthenticationForm's username field use the max_length from the model field.
Thanks Ramin Farajpour Cami for the report.
2017-10-20 11:13:26 -04:00
Niall Dalton
4fe6588da3 Fixed #28576 -- Added color interpretation method to GDALBand. 2017-09-21 09:42:38 -04:00
Sjoerd Job Postmus
df41b5a05d Fixed #28593 -- Added a simplified URL routing syntax per DEP 0201.
Thanks Aymeric Augustin for shepherding the DEP and patch review.
Thanks Marten Kenbeek and Tim Graham for contributing to the code.
Thanks Tom Christie, Shai Berger, and Tim Graham for the docs.
2017-09-20 18:04:42 -04:00
elky
dc37e8846e Fixed #26818 -- Added responsive CSS for the admin. 2017-09-16 19:11:19 -04:00
Olivier Tabone
a027447f56 Fixed #27318 -- Made cache.set_many() return the list of failed keys. 2017-09-06 14:38:44 -04:00
ZachLiuGIS
2dacc2ccd9 Fixed #28550 -- Restored contrib.auth's login() and logout() views' respect of positional arguments.
Regression in 78963495d0.

Forwardport of f8e0557b01 from stable/1.11.x
2017-09-03 12:06:44 -04:00
LBerrocal
54f7aa04a7 Fixed #28306 -- Completed test coverage for django.utils.lorem_ipsum.
Thanks Idan Melamed for the original patch.
2017-09-02 15:50:43 -04:00
Kevin Grinberg
c6a3546093 Fixed #28451 -- Restored pre-Django 1.11 Oracle sequence/trigger naming.
Regression in 69b7d4b116.
2017-08-22 15:51:08 -04:00
Martin von Gagern
71d39571f4 Fixed #28485 -- Made ExceptionReporter.get_traceback_frames() include frames without source code. 2017-08-12 20:32:39 -04:00
Evan Grim
7937cc16f5 Fixed #28386 -- Made operations within non-atomic migrations honor the operation's atomic flag when migrating backwards. 2017-08-10 19:21:14 -04:00
Timothy Allen
5fe9b7b40a Fixed #28457 -- Updated the design of the 'Congrats' page for new Django projects.
Developed by Timothy Allen and Chad Whitman of The Wharton School with
shepherding from Aymeric Augustin and Collin Anderson.
2017-08-07 10:33:55 -04:00
Rachel Tobin
f9e5f9ae9f Fixed #28418 -- Fixed queryset crash when using a GenericRelation to a proxy model. 2017-07-21 18:21:13 -04:00
Marti Raudsepp
fda55c71a8 Fixed #27858 -- Prevented read-only management commands from creating the django_migrations table.
MigrationRecorder now assumes that if the django_migrations table
doesn't exist, then no migrations are applied.

Reverted documentation change from refs #23808.
2017-06-19 13:04:57 -04:00
Lincoln Smith
15b465c584 Fixed #27998 -- Made ManyToManyField changes logged in admin's object history. 2017-06-14 13:07:06 -04:00
Adam Bogdał
cd2fe829dd Fixed #24195 -- Deconstructed the limit_choices_to option of related fields.
Migrations will now be created for changes to limit_choices_to.
2017-06-14 08:57:24 -04:00
John D'Ambrosio
be68c0bf63 Fixed #28071 -- Fixed {% extends %} origin history. 2017-06-13 12:50:54 -04:00
Pavel Kulikov
af1fa5e7da Fixed #27978 -- Allowed loaddata to read data from stdin.
Thanks Squareweave for the django-loaddata-stdin project from which this
is adapted.
2017-05-26 19:54:21 -04:00
Michiel Beijen
48028c6f9a Pointed Dive into Python links to python3 site
The old site handles python2, and is thus no longer relevant for Django.
Also I pointed the search path links to the proper sections.
2017-05-20 15:32:35 +02:00
João Silva
3db84b5526 Fixed #28081 -- Stopped setting Content-Length=0 in conditional_content_removal() per RFC 7230. 2017-05-09 14:55:03 -04:00
Carles Pina Estany
9f2e8b5bb7 Fixed #28120 -- Checked that CharField.max_length is not a boolean. 2017-04-24 18:49:31 -04:00
Abhishek Gautam
941b869135 Fixed #28008 -- Replaced getElementsByClassName() JavaScript in debug view template. 2017-04-14 08:12:14 -04:00
Taavi Teska
5dbf1c4b23 Fixed #27947 -- Doc'd that model Field.error_messages often don't propagate to forms. 2017-04-10 14:24:44 -04:00
Ingo Klöcker
c4536c4a54 Fixed #27777 -- Made File.open() work with the with statement (#8310)
Fixed #27777 -- Made File.open() work with the with statement
2017-04-07 14:21:06 +02:00
Carlton Gibson
6b3724fa11 Fixed #27359 -- Made Engine.get_default() return the first DjangoTemplates engine if multiple are defined. 2017-03-31 17:26:42 -04:00
Stefano Rivera
899c42cc8e Removed unexpected initial attribute in data migration examples.
Inadvertently added in db97a88495.
2017-03-25 15:59:17 -04:00
Bo Marchman
9bbb6e2d25 Fixed #26522 -- Fixed a nondeterministic AssertionError in QuerySet combining.
Thanks Andrew Brown for the test case.
2017-03-06 13:40:17 -05:00
Pavlo Kapyshin
b6fbf3e8e5 Fixed #27879 -- Fixed crash if enclosures aren't provided to Atom1Feed.add_item().
Regression in 75cf9b5ac0
2017-02-24 09:46:31 -05:00
François Freitag
e124d2da94 Fixed #26551 -- Fixed negated Q() queries that span relations.
Prevented queries from reusing trimmed joins.
2017-02-09 11:20:33 -05:00
orf
b5393028bf Fixed #27767 -- Added distinct argument to ArrayAgg. 2017-02-04 13:57:39 -05:00
Tim Graham
245f209109 Fixed alphabetization of Tom's in AUTHORS. 2017-02-04 13:56:41 -05:00
Lex Berezhny
ac5f886c56 Fixed #27800 -- Fixed QuerySet.annotate(Length(...)).distinct() crash. 2017-01-31 18:45:55 -05:00
Thom Wiggers
d5b573d872 Fixed #26993 -- Increased User.last_name max_length to 150 characters. 2017-01-28 09:29:00 -05:00
Mads Jensen
e585c43be9 Fixed #25809 -- Added BrinIndex support in django.contrib.postgres.
Thanks Tim Graham and Markus Holtermann for review.
2017-01-15 13:37:18 +01:00
Romain Garrigues
ede59ef6f3 Fixed #27518 -- Prevented possibie password reset token leak via HTTP Referer header.
Thanks Florian Apolloner for contributing to this patch and
Collin Anderson, Markus Holtermann, and Tim Graham for review.
2017-01-13 09:17:54 -05:00
Adam Chainz
d57ecf40eb Fixed #27673 -- Made admin's checks run at check time instead of during registration.
Thanks Morgan Aubert for the test.
2017-01-10 07:02:13 -05:00
Sebastian Spiegel
8b734d2f99 Fixed #27432 -- Made app_label arguments limit showmigrations --plan output. 2017-01-06 19:50:31 -05:00
anabelensc
1c12df4aa6 Fixed #25912 -- Added binary left/right shift operators to F expressions.
Thanks Mariusz Felisiak for review and MySQL advice.
2017-01-03 14:15:46 -05:00
Illia Volochii
d20e046bbd Fixed #27653 -- Added Ukrainian locale formats. 2016-12-29 07:31:32 -05:00
Anton Samarchyan
5cf4894836 Fixed #27628 -- Fixed unarchiving a file without permission data. 2016-12-28 19:14:58 -05:00
Josef Rousek
aaecf038ca Fixed #27370 -- Prevented Select widget from using 'required' with a non-empty first value. 2016-12-28 10:45:22 -05:00
Aleksi Häkli
f6671c5d78 Fixed #27647 -- Fixed Windows segmentation fault in runserver autoreload. 2016-12-28 08:04:09 -05:00
Henry Dang
6af23a4521 Fixed #27377 -- Clarified that prepopulated_fields doesn't work with OneToOneField. 2016-12-19 08:33:46 -05:00
InvalidInterrupt
98359109eb Fixed #17002 -- Allowed using a ManyToManyField through model that inherits another. 2016-12-07 17:50:51 -05:00
Keda87
794b7d8033 Refs #27546 -- Tested some __repr__() methods. 2016-12-01 08:09:38 -05:00
Brandon Chinn
6573274161 Refs #27003 -- Fixed SimpleArrayField crash on converted values. 2016-11-15 18:10:45 -05:00
Jonatas CD
9da45ff352 Fixed #26985 -- Doc'd that ForeignKey.to_field reference must be unique. 2016-11-15 11:09:23 -05:00
Ramin Farajpour Cami
0a63ef3f61 Fixed #27463 -- Fixed E741 flake8 warnings. 2016-11-14 17:40:28 -05:00
Joachim Jablon
fd78fb82d6 Fixed #27138 -- Restored pre-Python 3.6 behavior of localtime() and make_naive() on Python 3.6.
Reverted test changes in a7a7ecd2b0 and
e43ea36b76 (refs #27025).
2016-11-07 19:07:18 -05:00
Erik Romijn
29563cfb80 Added Emmanuelle Delescolle to AUTHORS.
(Fixed #23604 in 2014 and was not added before.)
2016-11-06 10:18:36 +01:00
Adam Malinowski
37809b891e Fixed #27346 -- Stopped setting the Content-Length header in ConditionalGetMiddleware. 2016-11-05 22:24:54 +01:00
Frank Wiles
a09c058918 Fixed import typos in the docs. 2016-09-29 12:06:52 -04:00
Ed Morley
65ec8fa8ca Fixed #20892 -- Allowed configuring memcached client using OPTIONS.
Previously, the MemcachedCache backend ignored `OPTIONS` and
PyLibMCCache used them to set pylibmc behaviors. Both backends now
pass `OPTIONS` as keyword arguments to the client constructors.
2016-08-31 12:50:14 -04:00
Mattias Loverot
2315114090 Fixed #27067 -- Deprecated string_concat() in favor of format_lazy(). 2016-08-25 16:12:40 -04:00
Helen Sherwood-Taylor
bc1e2d8e8e Fixed #27018 -- Fixed admindocs crash with a view in a class.
Generated correct admindocs URLs on Python 3. URLs generate 404s on
Python 2, as in older versions of Django.
2016-08-20 10:01:57 -04:00
Matthew Wilkes
4f138fe5a4 Fixed #22288 -- Fixed F() expressions with the __range lookup. 2016-08-19 13:40:56 -04:00
Michael Schwarz
72d541b61c Fixed #27007 -- Handled non-UTF-8 bytes objects for text/* attachments.
The fallback logic which allows non-UTF-8 encoded files to be passed to
attach_file() even when a `text/*` mime type has been specified is
moved to attach(). Both functions now fall back to a content type of
`application/octet-stream`.

A side effect is that a file's content is decoded in memory instead of
opening it in text mode and reading it into a string.

Some mimetype-related logic in _create_attachment() has become
obsolete as the code moved from attach_file() to attach() already
handles this.
2016-08-12 16:35:09 -04:00
jordij
0814566bf1 Fixed #26960 -- Added PasswordResetConfirmView option to automatically log in after a reset. 2016-08-10 10:23:16 -04:00
Chris Jerdonek
013ee21cf8 Fixed #26976 -- Added LiveServerTestCase.server_thread_class to ease subclassing. 2016-08-01 16:15:41 -04:00
Marc-Aurèle Brothier
f8bfa80680 Fixed #26868 -- Changed MySQL version detection to use a query.
Workaround a bug with MariaDB and MySQL native client not stripping the
`5.5.5-` prefix.
2016-07-15 10:05:03 -04:00
Jensen Cochran
d44afd8892 Fixed #26804 -- Fixed a race condition in QuerySet.update_or_create(). 2016-07-14 12:10:19 -04:00
wim glenn
5ebebd1159 Fixed #26707 -- Added QueryDict.fromkeys() 2016-06-06 08:54:25 -04:00
Corey Farwell
bed2055506 Added Jack Moffitt to AUTHORS for 3df7266056. 2016-06-03 17:06:20 -04:00
Brad Melin
f6517a5335 Fixed #26672 -- Fixed HStoreField to raise ValidationError instead of crashing on non-dict JSON input. 2016-06-02 16:28:01 -04:00
Vytis Banaitis
f1e408ff40 Fixed #25044 -- Fixed migrations for renaming ManyToManyField's through model. 2016-05-30 10:17:45 -04:00
Aron Podrigal
85ef98dc6e Fixed #24305 -- Allowed overriding fields on abstract models.
Fields inherited from abstract base classes may be overridden like
any other Python attribute. Inheriting from multiple models/classes
with the same attribute name will follow the MRO.
2016-05-16 07:32:21 -04:00
David Sanders
32dc8c0beb Added David Sanders to AUTHORS 2016-05-13 10:16:05 -04:00
Jarek Glowacki
509379a161 Fixed #25945, #26292 -- Refactored MigrationLoader.build_graph() 2016-05-08 13:53:26 +02:00
Sergei Maertens
ec009ef1d8 Fixed #25986 -- Fixed crash sending email with non-ASCII in local part of the address.
On Python 3, sending emails failed for addresses containing non-ASCII
characters due to the usage of the legacy Python email.utils.formataddr()
function. This is fixed by using the proper Address object on Python 3.
2016-05-06 14:34:11 -04:00
Dan Stephenson
1206eea11e Fixed #26558 -- Removed need for request context processor on admin login page. 2016-05-04 09:43:24 -04:00
Jeremy Lainé
c1aec0feda Fixed #25847 -- Made User.is_(anonymous|authenticated) properties. 2016-04-09 14:54:18 -04:00
rixx
b7ea494d65 Fixed #24016 -- Added documentation about third-party app data migrations
There was confusion about how to migrate data from third-party

applications when you are going to uninstall the application later on.

Thanks to Markus, Marten and Sergei for help and review.
2016-04-03 17:20:35 +02:00
Daniel Jilg
55c843f2ef Fixed #14131 -- Added note to docs about Pagination and large Querysets 2016-04-02 16:03:34 +02:00
José Tomás Tocino
39a16dd2e0 Fixed #25658 -- Allowed inspectdb to inspect a specific set of tables. 2016-03-18 08:41:15 -04:00
Akshesh
44c0ecdd92 Fixed #25364 -- Added generic way to test on all browsers supported by selenium.
Browser names should be passed as a comma separated list to the --selenium flag.

Thanks Tim Graham, Simon Charette and Moritz Sichert for review and discussion.
2016-03-15 13:10:32 -04:00
Matthew Schinckel
60633ef3de Fixed #26304 -- Ignored unmanaged through model in table introspection. 2016-03-02 13:54:27 -05:00
Tore Lundqvist
3389c5ea22 Fixed #21608 -- Prevented logged out sessions being resurrected by concurrent requests.
Thanks Simon Charette for the review.
2016-02-26 18:56:56 -05:00
Jakub Paczkowski
d4dc775620 Fixed #25735 -- Added support for test tags to DiscoverRunner.
Thanks Carl Meyer, Claude Paroz, and Simon Charette for review.
2016-02-17 09:44:18 -05:00
F. Malina
b09b71bf34 Updated my entry in AUTHORS. 2016-02-16 10:53:50 -05:00
rynomster
468d8211df Fixed #23971 -- Added "Has date"/"No date" choices for DateFieldListFilter. 2016-02-02 12:04:14 -05:00
Hugo Osvaldo Barrera
8bf8d0e0ec Fixed #7923 -- Added links to objects displayed by ModelAdmin.raw_id_fields. 2016-02-01 07:36:10 -05:00
Yoong Kang Lim
31817dd2eb Fixed #26136 -- Removed URL reversing by dotted path from JavaScript catalog example. 2016-01-27 08:58:12 -05:00
auvipy
5c048f95cc Fixed typo in docs/index.txt. 2016-01-18 10:01:23 -05:00
Paulo Poiati
b643386668 Fixed #24855 -- Allowed using contrib.auth.login() without credentials.
Added an optional `backend` argument to login().
2016-01-07 08:56:07 -05:00
Scott Pashley
7cc2efc2d6 Fixed #26035 -- Prevented user-tools from appearing on admin logout page. 2016-01-06 13:48:02 -05:00
Claude Paroz
549eb35d5f Added Sergey Fedoseev to AUTHORS 2015-12-18 19:48:05 +01:00
Iacopo Spalletti
d693074d43 Fixed #20223 -- Added keep_lazy() as a replacement for allow_lazy().
Thanks to bmispelon and uruz for the initial patch.
2015-12-12 14:46:48 -05:00
Gagaro
34d88944f4 Fixed #25812 -- Restored the ability to use custom formats with the date template filter. 2015-11-28 08:38:45 -05:00
Mattia Larentis
2085d8d5bc Fixed #25170 -- Made assertXMLEqual()/assertXMLNotEqual() ignore leading and trailing whitespace.
Thanks Jacek Bzdak for indepdently contributing a similar fix.
2015-11-09 15:53:30 -05:00
Thijs van Dien
1679472165 Fixed #25473 -- Changed underscores in url() names to dashes in docs.
To improve consistency, sample URL names that had underscores
in them now use dashes instead. That excludes URL names that
have some relation to the code, such as those generated by
the admin.

Thanks guettli for reporting this.
2015-11-07 21:58:45 +01:00
Chris Lamb
c4b4a7430b Updated my email address in AUTHORS. 2015-10-27 08:46:12 -04:00
Sergey Fedoseev
87d2bdd212 Removed duplicated entry from AUTHORS. 2015-10-21 11:02:31 -04:00
Yusuke Miyazaki
230d8c7301 Fixed #25578 -- Corrected the casing of "GitHub". 2015-10-21 07:31:11 -04:00
Jonas Haag
a76309f007 Added myself to AUTHORS. 2015-10-07 07:47:09 -04:00
Mariusz Felisiak
914167abf1 Fixed #25503 -- Fixed system check crash on ForeignKey to abstract model. 2015-10-06 19:22:37 -04:00
John Moses
ac09d22f79 Fixed #25481 -- Added field.help_text to "Looping over a form's fields" docs. 2015-10-02 12:52:14 -04:00
ramez
1335aa2fb9 Fixed #15760 -- Added JavaScript events for admin inline forms. 2015-09-21 15:34:44 -04:00
sujayskumar
d8d853378b Fixed #24944 -- Added extra_email_context parameter to password_reset() view. 2015-09-18 18:56:04 -04:00
Tyson Clugg
e34226fc37 Fixed #25259 -- Added comments to header of generated migration files 2015-08-31 22:14:21 +10:00
Sergey Kolosov
22bb548900 Fixed #22634 -- Made the database-backed session backends more extensible.
Introduced an AbstractBaseSession model and hooks providing the option
of overriding the model class used by the session store and the session
store class used by the model.
2015-08-27 15:00:09 -04:00
sarthakmeh
4bc00defd0 Fixed #14217 -- Added validation for field name collision when using model inheritance. 2015-08-25 16:16:54 -04:00
Maxime Lorant
4ce433e811 Fixed #25302 -- Prevented BrokenLinkEmailsMiddleware from reporting 404s when Referer = URL. 2015-08-24 19:35:49 -04:00
Tommy Beadle
d3fdaf907d Fixed #23727 -- Inhibited the post_migrate signal when using serialized_rollback.
When using a TransactionTestCase with serialized_rollback=True,
after creating the database and running its migrations (along with
emitting the post_migrate signal), the contents of the database
are serialized to _test_serialized_contents.

After the first test case, _fixture_teardown() would flush the
tables but then the post_migrate signal would be emitted and new
rows (with new PKs) would be created in the django_content_type
table. Then in any subsequent test cases in a suite,
_fixture_setup() attempts to deserialize the content of
 _test_serialized_contents, but these rows are identical to the
rows already in the database except for their PKs.  This causes an
IntegrityError due to the unique constraint in the
django_content_type table.

This change made it so that in the above scenario the post_migrate
signal is not emitted after flushing the tables, since it will be
repopulated during fixture_setup().
2015-08-24 08:59:20 -04:00
Valentina Mukhamedzhanova
1f7b25c1a7 Fixed #24986 -- Added support for annotations in DISTINCT queries. 2015-08-15 08:23:32 -04:00
Brendan Hayward
c9fb4f3c45 Fixed #25205 -- Removed doc references to deprecated GeoManager class. 2015-08-11 10:14:44 -04:00
Kenneth Love
5aba3f0a45 Added Chris Jones and Kenneth Love to AUTHORS.
contrib.auth.mixins is based on our work with django-braces.
2015-07-21 21:09:40 -04:00
Andrei Kulakov
db97a88495 Fixed #24375 -- Added Migration.initial attribute
The new attribute is checked when the `migrate --fake-initial` option
is used. initial will be set to True for all initial migrations (this
is particularly useful when initial migrations are split) as well as
for squashed migrations.
2015-07-13 15:57:40 -04:00
Rigel Di Scala
b91a2a499f Fixed #23190 -- Made Paginator.page_range an iterator 2015-07-03 11:34:34 -04:00
Jan Pazdziora
a570701e02 Fixed #25029 -- Added PersistentRemoteUserMiddleware for login-page-only external authentication. 2015-07-02 17:38:10 -04:00
William Schwartz
9a5cfa05a0 Fixed #24997 -- Enabled bulk_create() on proxy models 2015-07-02 13:53:51 -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
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
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
JensDiemer
9aac99e96d Refs #9619 -- Added a test that Field.from_db_value() is called on QuerySet.values() 2015-06-17 12:20:32 -04:00
Sutrisno Efendi
afa82aa41a Added Sutrisno Efendi to AUTHORS. 2015-06-10 22:16:49 -04:00
girishkumarkh
818a325a6d Added myself to AUTHORS 2015-06-09 12:48:02 -04:00
Markus Amalthea Magnuson
8957b1682c Added Markus Amalthea Magnuson to AUTHORS.
Made some contributions in the past, seems like I never got around to adding myself :)

https://github.com/django/django/commits?author=alimony
2015-06-06 01:03:53 +01:00
Matthew Somerville
40f0a84cb1 Fixed #24159 -- Made compilemessages run across all apps.
Updated the command to match the documentation, which states it
runs over all .po files.
2015-06-04 21:02:02 -04:00
Adam Chainz
e60cce4e40 Fixed #24846 -- Added support to MySQL SchemaEditor for all blob/text data types 2015-05-30 20:37:57 -04:00
Riccardo Magliocchetti
b0b8f56d3a Added myself to AUTHORS 2015-05-19 12:34:08 -04:00
Piotr Jakimiak
70e3e2e08e Fixed #24774 -- Made contrib.site's Site.domain field unique 2015-05-16 08:43:42 -04:00
Nicolas Noé
37682368a6 Fixed #24656 -- Added missing imports to query expressions doc. 2015-04-24 10:54:19 -04:00
Jon Dufresne
b5e0eede40 Fixed #22394 -- Refactored built-in datetime lookups to transforms. 2015-04-20 15:11:11 -04:00
Jay Wineinger
923da0274a Fixed #24611 -- Fixed update() crash with related UUID pk object. 2015-04-13 12:18:24 -04:00
Marten Kenbeek
e8e4f978dd Fixed #24278 -- Fixed serialization of migration operations.
Fixed MigrationWriter.serialize() to correctly handle migration
operations by utilizing OperationWriter.

Thanks Piotr Maliński for the report.
2015-04-05 20:26:21 +02:00
Ryan Hall
8f98732379 Added Ryan Hall to AUTHORS. Refs #24554 2015-04-01 19:05:32 -04:00
Andriy Sokolovskiy
e4cf8c8420 Fixed #24301 -- Added PostgreSQL-specific aggregate functions 2015-03-30 10:44:37 -04:00
Moritz Sichert
1f2abf784a Fixed #24469 -- Refined escaping of Django's form elements in non-Django templates. 2015-03-27 19:46:20 -04:00
Aymeric Augustin
2444c231e1 Added Alex Hill to AUTHORS. 2015-03-21 10:31:36 +01:00
Loek van Gent
d898ba1bec Fixed #24419 -- Added sendtestemail management command 2015-03-20 12:03:50 -04:00
ifedapo olarewaju
a535e4acdc Added myself to AUTHORS; refs #24226. 2015-03-12 19:26:22 -04:00
Aksel Ethem
b4d8b16e51 Fixed #24364 -- Doc'ed that ManifestStaticFileStorage shouldn't be used during testing. 2015-03-12 09:23:00 -04:00
Grzegorz Slusarek
668d53cd12 Fixed #21495 -- Added settings.CSRF_HEADER_NAME 2015-03-05 15:03:40 -05:00
Ian Lee
00fbd8fd52 Broke long lines in code examples.
The website only renders code blocks at 96 chars, and therefore
long code lines get wrapped. Manually breaking the lines prevents
the wrapping from occurring.
2015-02-23 07:45:37 -05:00
Justine Alexandra Roberts Tunney
e215d325a8 Updated my email address in AUTHORS. 2015-02-09 09:46:00 -05:00
Matthew Somerville
250aa7c39b Fixed #24240 -- Allowed GZipping a Unicode StreamingHttpResponse
make_bytes() assumed that if the Content-Encoding header is set, then
everything had already been dealt with bytes-wise, but in a streaming
situation this was not necessarily the case.

make_bytes() is only called when necessary when working with a
StreamingHttpResponse iterable, but by that point the middleware has
added the Content-Encoding header and thus make_bytes() tried to call
bytes(value) (and dies). If it had been a normal HttpResponse,
make_bytes() would have been called when the content was set, well
before the middleware set the Content-Encoding header.

This commit removes the special casing when Content-Encoding is set,
allowing unicode strings to be encoded during the iteration before they
are e.g. gzipped. This behaviour was added a long time ago for #4969 and
it doesn't appear to be necessary any more, as everything is correctly
made into bytes at the appropriate places.

Two new tests, to show that supplying non-ASCII characters to a
StreamingHttpResponse works fine normally, and when passed through the
GZip middleware (the latter dies without the change to make_bytes()).
Removes the test with a nonsense Content-Encoding and Unicode input - if
this were to happen, it can still be encoded as bytes fine.
2015-02-03 18:18:12 +01:00
Jakub Wilk
beed786b81 Updated my e-mail address in AUTHORS. 2015-01-19 15:42:44 -05:00
Michał Modzelewski
65246de7b1 Fixed #24031 -- Added CASE expressions to the ORM. 2015-01-12 18:15:34 -05:00
Oscar Ramirez
54085b0f9b Fixed #23998 -- Added datetime.time support to migrations questioner. 2014-12-22 07:24:54 -05:00
Andriy Sokolovskiy
3dbbb8a89c Fixed #23983 -- Fixed a crash in migrations when adding order_with_respect_to to non-empty table. 2014-12-16 10:48:49 -05:00
Michael Hall
4fada6f1c9 Fixed #23893: Added tzinfo to constant datetime in unit test
Added tzinfo to y2k constant (01/01/2000) in
custom_lookups.tests.DateTimeLookupTests.test_datetime_output_field
to fix warning message regarding naive datetimes.
2014-12-16 02:54:59 -07:00
Thomas Tanner
018d110ef5 Fixed #23911 -- Added support for buffer file uploads in the test client 2014-12-04 07:42:03 -05:00
Preston Timmons
b872134bfc Fixed #23768 -- Rewrote template tests as unit tests. 2014-12-02 19:18:35 -05:00
Daniel Wiesmann
4df3a3e0e9 Added GDAL prototypes for raster support
Refs #23804.
2014-12-02 19:56:35 +01:00
Thomas Chaumeny
17fe0bd808 Fixed #23423 -- Added unaccent lookup in django.contrib.postgres 2014-11-28 18:22:20 -05:00
Tim Heap
deb607648e Fixed #23728 -- Added the --exit option to makemigrations.
If no changes that need migrations are found, `makemigrations --exit`
exits with error code 1.
2014-11-28 07:48:39 -05:00
Patryk Zawadzki
21e21c7bc2 Fixed #23844 -- Used topological sort for migration operation dependency resolution.
This removes the concept of equality between operations to guarantee
compatilibity with Python 3.

Python 3 requires equality to result in identical object hashes. It's
impossible to implement a unique hash that preserves equality as
operations such as field creation depend on being able to accept
arbitrary dicts that cannot be hashed reliably.

Thanks Klaas van Schelven for the original patch in
13d613f800.
2014-11-20 12:49:49 -05:00
Tim Graham
83d104d61a Revert "Use topological sort for migration operation dependency resolution"
This commit broke the tests on Python 3.

This reverts commit 13d613f800.
2014-11-15 15:28:04 +01:00
Josh Smeaton
f59fd15c49 Fixed #14030 -- Allowed annotations to accept all expressions 2014-11-15 14:00:43 +00:00
Klaas van Schelven
13d613f800 Use topological sort for migration operation dependency resolution
rather than an ad-hoc algorithm
2014-11-15 14:45:42 +01:00
averybigant
b7a5b6ab86 Fixed #23750 -- Allowed core.checks.register to be used as a function 2014-11-11 16:29:32 +01:00
Zan Anderle
7b42036752 Fixed #5405 -- Added admindocs support for reStructured text in model docstrings
Thanks elvard and gkmngrgn for work on the patch and Markus H. for review.
2014-11-03 15:30:46 -05:00
Markus Holtermann
ed2f96819c Fixed #23715 -- Prevented urlize from treating a trailing ! as part of an URL
Thanks to 57even for the report.
2014-10-31 08:06:40 -04:00
Bashar Al-Abdulhadi
db7b393aff Added Bashar Al-Abdulhadi to AUTHORS
made django 100% arabized https://www.transifex.com/projects/p/django/language/ar/ , https://twitter.com/_Bashar/status/468845303668695040
2014-10-15 22:20:08 +03:00
Jaap Roes
466b38ea3d Added Jaap Roes to AUTHORS 2014-10-10 10:04:32 -04:00
Batiste Bieler
322cbe0db7 Updated my AUTHORS entry. 2014-10-10 08:00:44 -04:00
André Ericson
8a4e9be3e5 Add myself to AUTHORS and register authorship of ed37f7e
This commit is a record that ed37f7e was my contribution.
Thanks Loic Bistuer for reviewing it.
2014-10-08 04:28:23 +07:00
Browniebroke
d1e87aebf7 Refactored model lookup tests; refs #18586. 2014-10-07 12:04:56 -04:00
Seth Hill
fe2afcd318 Fixed #23569 -- Allowed using configs besides dictConfig in LOGGING_CONFIG. 2014-09-30 17:13:27 -04:00
Davide Ceretti
d8e157d5ab Refactored m2m_through tests. Refs #18586
Refactored old tests that were rewritten 1:1 from doctests.
2014-09-26 01:28:32 +07:00
Akis Kesoglou
6613ea6e3f Fixed #23370 -- defer() + select_related() crashed with inherited models. 2014-08-30 07:14:44 -04:00
Halit Alptekin
d074dfc016 Alphabetized AUTHORS by first name. 2014-08-24 20:13:34 -04:00
Lee Sanghyuck
11d9cbe2f4 Fixed #23316 -- Added datetime.time serialization in migrations. 2014-08-19 13:31:46 -04:00
zsoldosp
01801edd37 Fixed #22646: Added support for the MySQL ssl-ca option to dbshell. 2014-08-13 18:29:42 -04:00
Stanislas Guerra
98e8da3709 Fixed #16311 -- Added a RelatedOnlyFieldListFilter class in admin.filters. 2014-08-04 09:39:02 -04:00
Niclas Olofsson
cdc25ac474 Fixed #22808 -- Made ModelMultipleChoiceField validation more robust to invalid data types..
Thanks Mattias Lindvall for the report and inital patch.
2014-07-31 15:29:46 -04:00
Nick Sandford
fa3cf006b2 Fixed #23078 -- Regression in update_contenttypes() interactivity.
Thanks raymond at adaptiv.nl for the report.
2014-07-23 08:45:09 -04:00
Tim Graham
d88333661b Removed primary authors section from AUTHORS. 2014-07-10 07:17:53 -04:00
Eric Palakovich Carr
e0e8e1e383 Fixed an alphabetization in AUTHORS
"Eric Palakovich Carr" should be sorted by "P", not "C".
2014-07-05 20:16:36 -04:00
Colin Wood
27ee608b55 Fixed #22940 -- Added missing string iterpolation parameters in migrations.writer error.
Forwardport of f5740af868 from stable/1.7.x
2014-07-02 12:45:02 -04:00
Julia Matsieva
29c1151a55 Fixed #22756 -- Added view name to technical 404 template if Http404 is raised.
Thanks Keryn Knight for the suggestion.
2014-06-30 15:34:35 -04:00
Luan Pablo
407d070329 Fixed #22782 -- Added i18n attr to Sitemap class
It makes possible to have your sitemap in multiple languages when
using i18n in URLs.
2014-06-20 13:04:41 -04:00
Daniel Pyrathon
d862fae5bb Refs #12663 -- Added tests for methods in db.models.options.
Thanks Russell Keith-Magee and Tim Graham for reviews.
2014-06-19 12:56:36 -04:00
Renaud Parent
87d0a3384c Fixed #22778 -- Added a model Meta option to define default_related_name.
Thanks jorgecarleitao and mmardini for reviews.
2014-06-18 13:53:07 -04:00
Moayad Mardini
2d425116e2 Fixed #22349 -- Added a note clarifying RawQuerySet has no __len__.
Thanks cdestigter for the report.
2014-06-12 16:41:49 -04:00
Tim Graham
2e4d667ec1 Added note to alphabetize AUTHORS. 2014-06-11 16:03:36 -04:00
Maxime Turcotte
f97c53c098 Fixed #22801 -- Added 'www.' to diveintopython.net links 2014-06-10 15:38:25 -04:00
Greg Chapple
72f055e535 Fixed #20550 -- Added keepdb argument to destroy_test_db 2014-06-05 23:17:27 +01:00
Nick Presta
11f0899bbe Fixed #11776 -- Added CSS class for non-field/top of form errors.
Thanks Daniel Pope for the suggestion.
2014-06-02 15:22:15 -04:00
Guillaume Pannatier
32586b0ba4 Fixed #22684 -- Added empty_label option on django.forms.extras.widets.SelectDateWidget
Thanks danielsamuels for the report
2014-05-28 13:23:28 -04:00
Stephen Burrows
a5de0df58b Fixed #22502 -- Fixed microseconds/default/form interaction
Made explicit lack of microsecond handling by built-in datetime form
fields. Used that explicitness to appropriately nix microsecond
values in bound fields. Thanks Claude Paroz for the review.
2014-05-10 10:56:39 +02:00
Doug Beck
a5f6cbce07 Refactored DjangoTranslation class
Also fixes #18192 and #21055.
2014-04-30 18:36:25 +02:00
Ana Krivokapic
0707b824fe Fixed #22328 -- Added --exclude option to compilemessages and makemessages. 2014-04-26 17:07:44 +07:00
valtron
d3b71b976d Fixed #21760 -- prefetch_related used an inefficient query for reverse FK.
Regression introduced by commit 9777442. Refs #21410.
2014-04-13 00:34:16 +07:00
Maxime Turcotte
5e4e0b6fe9 Fixed #22306 -- Deprecated future versions of cycle and firstof template tags. 2014-03-28 18:55:06 -04:00
Marc Tamlyn
d22b291890 Fixed #22001 -- Ensure db_type is respected.
db_parameters should respect an already existing db_type method and
return that as its type string. In particular, this was causing some
fields from gis to not be generated.

Thanks to @bigsassy and @blueyed for their work on the patch.

Also fixed #22260
2014-03-14 22:32:17 +00:00
Chris Wilson
95c74b9d69 Fixed #22206 -- Passed models.TextField.max_length to forms.CharField.maxlength 2014-03-05 20:09:28 +01:00
Anubhav Joshi
bb2ca9fe6c Fixed #22172 -- Allowed index_together to be a single list (rather than list of lists)..
Thanks EmilStenstrom for the suggestion.
2014-03-01 15:44:42 -05:00
Zbigniew Siciarz
94b5bc361a Fixed #22002 -- Documented avoiding database interaction in AppConfig.ready().
Thanks Marc Tamlyn for the suggestion.
2014-02-15 13:50:31 -05:00
Albert Wang
8bbdcc76e4 Fixed #19299 -- Fixed Nullification of Foreign Keys To CharFields
Thanks tunixman for the report and Baptiste Mispelon and
Shai Berger for reviews.
2014-02-15 09:47:32 -05:00
Christopher Adams
eefc88feef Fixed #2445 -- Allowed limit_choices_to attribute to be a callable.
ForeignKey or ManyToManyField attribute ``limit_choices_to`` can now
be a callable that returns either a ``Q`` object or a dict.

Thanks michael at actrix.gen.nz for the original suggestion.
2014-02-11 14:05:12 -05:00
Berker Peksag
5d263dee30 Fixed #21674 -- Deprecated the import_by_path() function in favor of import_string().
Thanks Aymeric Augustin for the suggestion and review.
2014-02-08 11:12:19 -05:00
Mark Sandstrom
09d1e0486a Added ticket #14007 contributors to AUTHORS 2014-01-25 21:56:51 +07:00
Joel Bohman
19e5cd77f0 Fixed #21497 -- Forced conversion to bytes for very long index names 2013-11-24 13:15:50 -05:00
Pablo Martín
3ac823fc5b Fixed #21460 -- Reenabled proper template precedence in find_template
Refs #20806. Thanks Unai Zalakain for the review.
2013-11-22 11:09:51 +01:00
Bouke Haarsma
c3936c0d79 Fixed #9523 -- Restart runserver after translation MO files change
Thanks to Krzysztof Kulewski for the initial patch.
2013-11-02 10:29:07 +01:00
Unai Zalakain
15f82c7011 Fixed #9722 - used pyinotify as change detection system when available
Used pyinotify (when available) to replace the "pool-every-one-second"
mechanism in `django.utils.autoreload`.

Thanks Chris Lamb and Pascal Hartig for work on the patch.
2013-10-30 11:45:43 -04:00
M Nasimul Haque
d07d6ae116 Fixed #20910 -- Added a "snippet" sphinx directive to allow prefixing a filename.
Thanks Marc Tamlyn for the suggestion.
2013-10-14 13:00:57 -04:00
Bouke Haarsma
e077224f4a Fixed #20962 -- Documented that template tag render() may raise exceptions.
Thanks Keryn Knight for the report.
2013-10-14 11:53:15 -04:00
joaoxsouls
1ab27e9a65 Fixed #18866 -- added validation error for verbose_name longer than 39 characters
Added a validation error check when creating the permissions for model, to avoid
cryptic database error when the verbose_name is longer than 39 characters
thanks elena for reporting it
2013-10-14 14:19:35 +01:00
Aymeric Augustin
671757b507 Fixed #21161 -- Timezone-related tests on Windows.
Thanks Xelnor for the patch.
2013-10-05 18:50:20 +02:00
Dan Johnson
2004f86b85 Add myself to authors file 2013-09-30 13:19:53 -04:00
Christopher Babiak
a834bc84d8 Fixed #20931 -- Fixed select widgets nested choice rendering
ChoiceFieldRenderer was not rendering nested choices. Added recursion
to ChoiceFieldRenderer to take nested choices and render them as
<ul>'s.
2013-09-28 17:25:32 -07:00
Simon Charette
f5f662fa5f Fixed #21112 -- Make sure sitemaps with no lastmod date work correctly.
Thanks to Matthias Kestenholz for the report and patch.
2013-09-17 10:21:11 -04:00
Tim Graham
18ffdb1772 Fixed #17627 -- Renamed util.py files to utils.py
Thanks PaulM for the suggestion and Luke Granger-Brown and
Wiktor Kołodziej for the initial patch.
2013-09-16 12:52:05 -04:00
Curtis Maloney
5e1c7d4cf6 Add myself to authors file 2013-09-09 09:03:50 -04:00
Juan Catalano
04415bf81b Fixed #21013 -- Ensure that ModelAdmin.get_queryset is considered for the admin history view. 2013-09-07 14:53:29 -05:00
Garry Polley
6d2be870d7 adding myself to authors file
Alex requested I add myself in IRC, so I am.  =)
2013-09-07 13:16:36 -05:00
Julien Phalip
55a11683f7 Fixed #20836 -- Ensure that the ForeignKey's to_field attribute is properly considered by the admin's interface when creating related objects.
Many thanks to Collin Anderson for the report and patch and to Peter Sheats for the test.
2013-09-07 12:14:07 -05:00
Eric Boersma
ded40142a9 Fixed #20007 -- Configured psycopg2 to return UnicodeArrays
Thanks hogbait for the report.
2013-09-06 20:43:58 -04:00
Russell Keith-Magee
926bc421d9 Merge pull request #1566 from adamsc64/ticket_11857
Fixed #11857 -- Added missing 'closed' property on TemporaryFile class.
2013-09-06 17:38:37 -07:00
Christopher Adams
0756a4d664 Added Christopher Adams to the AUTHORS file.
- Note that 'Chris Adams' and 'Christopher Adams' are two different
  contributors.
2013-09-06 20:36:42 -04:00
Tim Graham
70440a8bd1 Merge pull request #1581 from mburst/patch-1
Added myself to the contributors list for work on #21049
2013-09-06 16:44:11 -07:00
Russell Keith-Magee
4f5faa1916 Merge pull request #1582 from rca/12756-missing-yaml-module-serializer-error-message
Fixed #12756: Improved error message when yaml module is missing.
2013-09-06 16:05:02 -07:00
Roberto Aguilar
01a5359477 Cleanup commit after peer review. 2013-09-06 22:45:31 +00:00
Roberto Aguilar
0ac5e8d8e9 Added name to AUTHORS (per Russell Keith-Magee) 2013-09-06 22:26:13 +00:00
Max Burstein
77da814827 Added myself to the contributors list. 2013-09-06 17:16:40 -05:00
Russell Keith-Magee
122020fdb9 Merge pull request #1579 from ianawilson/ticket_21058
Fixed #21058 -- Fixed debug view blowing up when no template is provided to the template rendering functions.

Assistance on this commit from @jambonrose.
2013-09-06 15:06:57 -07:00
Julien Phalip
c1bbc8cae9 Added Rudy Mutter to AUTHORS for his work, ref #20821. 2013-09-06 16:05:53 -05:00
Ian Wilson
9b7f4aab32 adds fix and test for when a template is not specified at all to render(). fixes #21058. by jambonrose and ianawilson 2013-09-06 15:50:18 -05:00
evildmp
082b0638ef Added myself to the committers list. 2013-08-21 16:10:51 +02:00
Alasdair Nicol
22c6497f99 Fixed #20895 -- Made check management command warn if a BooleanField does not have a default value
Thanks to Collin Anderson for the suggestion and Tim Graham for
reviewing the patch.
2013-08-15 19:47:26 -04:00
Jonathan Slenders
ff410565bf Fixed #20709 -- Allowed {% widthratio %} to accept an "as" parameter.
Thanks clay.evil@ for the suggestion.
2013-08-14 12:40:19 -04:00
SusanTan
71c491972e Fixed #11400 -- Passed kwargs from AbstractUser.email_user() to send_mail()
Thanks Jug_ for suggestion, john_scott for the initial patch,
and Tim Graham for code review.
2013-08-14 07:46:11 -04:00