Skip to content

Commit

Permalink
Merge branch 'deprecate-comments'
Browse files Browse the repository at this point in the history
  • Loading branch information
jacobian committed Mar 11, 2013
2 parents f2f98ab + d056124 commit faabf36
Show file tree
Hide file tree
Showing 13 changed files with 109 additions and 10 deletions.
3 changes: 3 additions & 0 deletions django/contrib/comments/__init__.py
@@ -1,10 +1,13 @@
import warnings
from django.conf import settings from django.conf import settings
from django.core import urlresolvers from django.core import urlresolvers
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
from django.contrib.comments.models import Comment from django.contrib.comments.models import Comment
from django.contrib.comments.forms import CommentForm from django.contrib.comments.forms import CommentForm
from django.utils.importlib import import_module from django.utils.importlib import import_module


warnings.warn("django.contrib.comments is deprecated and will be removed before Django 1.8.", PendingDeprecationWarning)

DEFAULT_COMMENTS_APP = 'django.contrib.comments' DEFAULT_COMMENTS_APP = 'django.contrib.comments'


def get_comment_app(): def get_comment_app():
Expand Down
1 change: 0 additions & 1 deletion docs/index.txt
Expand Up @@ -254,7 +254,6 @@ applications:
* :doc:`Logging <topics/logging>` * :doc:`Logging <topics/logging>`
* :doc:`Sending emails <topics/email>` * :doc:`Sending emails <topics/email>`
* :doc:`Syndication feeds (RSS/Atom) <ref/contrib/syndication>` * :doc:`Syndication feeds (RSS/Atom) <ref/contrib/syndication>`
* :doc:`Comments <ref/contrib/comments/index>`, :doc:`comment moderation <ref/contrib/comments/moderation>` and :doc:`custom comments <ref/contrib/comments/custom>`
* :doc:`Pagination <topics/pagination>` * :doc:`Pagination <topics/pagination>`
* :doc:`Messages framework <ref/contrib/messages>` * :doc:`Messages framework <ref/contrib/messages>`
* :doc:`Serialization <topics/serialization>` * :doc:`Serialization <topics/serialization>`
Expand Down
2 changes: 2 additions & 0 deletions docs/internals/deprecation.txt
Expand Up @@ -365,6 +365,8 @@ these changes.
- ``django.db.transaction.commit_unless_managed()`` - ``django.db.transaction.commit_unless_managed()``
- ``django.db.transaction.rollback_unless_managed()`` - ``django.db.transaction.rollback_unless_managed()``


* ``django.contrib.comments`` will be removed.

2.0 2.0
--- ---


Expand Down
12 changes: 12 additions & 0 deletions docs/ref/contrib/comments/custom.txt
Expand Up @@ -4,6 +4,18 @@ Customizing the comments framework


.. currentmodule:: django.contrib.comments .. currentmodule:: django.contrib.comments


.. warning::

Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.

The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.

__ https://disqus.com/
__ https://github.com/django/django-contrib-comments

If the built-in comment framework doesn't quite fit your needs, you can extend If the built-in comment framework doesn't quite fit your needs, you can extend
the comment app's behavior to add custom data and logic. The comments framework the comment app's behavior to add custom data and logic. The comments framework
lets you extend the built-in comment model, the built-in comment form, and the lets you extend the built-in comment model, the built-in comment form, and the
Expand Down
12 changes: 12 additions & 0 deletions docs/ref/contrib/comments/example.txt
Expand Up @@ -4,6 +4,18 @@
Example of using the built-in comments app Example of using the built-in comments app
=========================================== ===========================================


.. warning::

Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.

The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.

__ https://disqus.com/
__ https://github.com/django/django-contrib-comments

Follow the first three steps of the quick start guide in the Follow the first three steps of the quick start guide in the
:doc:`documentation </ref/contrib/comments/index>`. :doc:`documentation </ref/contrib/comments/index>`.


Expand Down
14 changes: 13 additions & 1 deletion docs/ref/contrib/comments/forms.txt
Expand Up @@ -5,6 +5,18 @@ Comment form classes
.. module:: django.contrib.comments.forms .. module:: django.contrib.comments.forms
:synopsis: Forms for dealing with the built-in comment model. :synopsis: Forms for dealing with the built-in comment model.


.. warning::

Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.

The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.

__ https://disqus.com/
__ https://github.com/django/django-contrib-comments

The ``django.contrib.comments.forms`` module contains a handful of forms The ``django.contrib.comments.forms`` module contains a handful of forms
you'll use when writing custom views dealing with comments, or when writing you'll use when writing custom views dealing with comments, or when writing
:doc:`custom comment apps </ref/contrib/comments/custom>`. :doc:`custom comment apps </ref/contrib/comments/custom>`.
Expand Down Expand Up @@ -43,4 +55,4 @@ forms that you can subclass to reuse pieces of the form handling logic:
Handles the details of the comment itself. Handles the details of the comment itself.


This class contains the ``name``, ``email``, ``url``, and the ``comment`` This class contains the ``name``, ``email``, ``url``, and the ``comment``
field itself, along with the associated validation logic. field itself, along with the associated validation logic.
12 changes: 12 additions & 0 deletions docs/ref/contrib/comments/index.txt
Expand Up @@ -7,6 +7,18 @@ Django's comments framework


.. highlightlang:: html+django .. highlightlang:: html+django


.. warning::

Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.

The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.

__ https://disqus.com/
__ https://github.com/django/django-contrib-comments

Django includes a simple, yet customizable comments framework. The built-in Django includes a simple, yet customizable comments framework. The built-in
comments framework can be used to attach comments to any model, so you can use comments framework can be used to attach comments to any model, so you can use
it for comments on blog entries, photos, book chapters, or anything else. it for comments on blog entries, photos, book chapters, or anything else.
Expand Down
12 changes: 12 additions & 0 deletions docs/ref/contrib/comments/models.txt
Expand Up @@ -5,6 +5,18 @@ The built-in comment models
.. module:: django.contrib.comments.models .. module:: django.contrib.comments.models
:synopsis: The built-in comment models :synopsis: The built-in comment models


.. warning::

Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.

The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.

__ https://disqus.com/
__ https://github.com/django/django-contrib-comments

.. class:: Comment .. class:: Comment


Django's built-in comment model. Has the following fields: Django's built-in comment model. Has the following fields:
Expand Down
12 changes: 12 additions & 0 deletions docs/ref/contrib/comments/moderation.txt
Expand Up @@ -5,6 +5,18 @@ Generic comment moderation
.. module:: django.contrib.comments.moderation .. module:: django.contrib.comments.moderation
:synopsis: Support for automatic comment moderation. :synopsis: Support for automatic comment moderation.


.. warning::

Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.

The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.

__ https://disqus.com/
__ https://github.com/django/django-contrib-comments

Django's bundled comments application is extremely useful on its own, Django's bundled comments application is extremely useful on its own,
but the amount of comment spam circulating on the Web today but the amount of comment spam circulating on the Web today
essentially makes it necessary to have some sort of automatic essentially makes it necessary to have some sort of automatic
Expand Down
12 changes: 12 additions & 0 deletions docs/ref/contrib/comments/signals.txt
Expand Up @@ -5,6 +5,18 @@ Signals sent by the comments app
.. module:: django.contrib.comments.signals .. module:: django.contrib.comments.signals
:synopsis: Signals sent by the comment module. :synopsis: Signals sent by the comment module.


.. warning::

Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.

The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.

__ https://disqus.com/
__ https://github.com/django/django-contrib-comments

The comment app sends a series of :doc:`signals </topics/signals>` to allow for The comment app sends a series of :doc:`signals </topics/signals>` to allow for
comment moderation and similar activities. See :doc:`the introduction to signals comment moderation and similar activities. See :doc:`the introduction to signals
</topics/signals>` for information about how to register for and receive these </topics/signals>` for information about how to register for and receive these
Expand Down
13 changes: 13 additions & 0 deletions docs/releases/1.6.txt
Expand Up @@ -271,6 +271,19 @@ current APIs are deprecated:
The reasons for this change and the upgrade path are described in the The reasons for this change and the upgrade path are described in the
:ref:`transactions documentation <transactions-upgrading-from-1.5>`. :ref:`transactions documentation <transactions-upgrading-from-1.5>`.


``django.contrib.comments``
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Django's comment framework has been deprecated and is no longer supported. It
will be available in Django 1.6 and 1.7, and removed in Django 1.8. Most users
will be better served with a custom solution, or a hosted product like Disqus__.

The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.

__ https://disqus.com/
__ https://github.com/django/django-contrib-comments

Changes to :ttag:`cycle` and :ttag:`firstof` Changes to :ttag:`cycle` and :ttag:`firstof`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Expand Down
10 changes: 6 additions & 4 deletions tests/comment_tests/tests/comment_utils_moderators_tests.py
Expand Up @@ -4,6 +4,7 @@
from django.contrib.comments.moderation import (moderator, CommentModerator, from django.contrib.comments.moderation import (moderator, CommentModerator,
AlreadyModerated) AlreadyModerated)
from django.core import mail from django.core import mail
from django.test.utils import override_settings


from . import CommentTestCase from . import CommentTestCase
from ..models import Entry from ..models import Entry
Expand Down Expand Up @@ -67,9 +68,10 @@ def testRegisterExistingModel(self):
self.assertRaises(AlreadyModerated, moderator.register, Entry, EntryModerator1) self.assertRaises(AlreadyModerated, moderator.register, Entry, EntryModerator1)


def testEmailNotification(self): def testEmailNotification(self):
moderator.register(Entry, EntryModerator1) with override_settings(MANAGERS=("test@example.com",)):
self.createSomeComments() moderator.register(Entry, EntryModerator1)
self.assertEqual(len(mail.outbox), 2) self.createSomeComments()
self.assertEqual(len(mail.outbox), 2)


def testCommentsEnabled(self): def testCommentsEnabled(self):
moderator.register(Entry, EntryModerator2) moderator.register(Entry, EntryModerator2)
Expand All @@ -94,4 +96,4 @@ def testAutoModerateFieldImmediate(self):
def testAutoCloseFieldImmediate(self): def testAutoCloseFieldImmediate(self):
moderator.register(Entry, EntryModerator6) moderator.register(Entry, EntryModerator6)
c1, c2 = self.createSomeComments() c1, c2 = self.createSomeComments()
self.assertEqual(Comment.objects.all().count(), 0) self.assertEqual(Comment.objects.all().count(), 0)
4 changes: 0 additions & 4 deletions tests/runtests.py
Expand Up @@ -80,10 +80,6 @@ def setup(verbosity, test_labels):
settings.TEMPLATE_DIRS = (os.path.join(RUNTESTS_DIR, TEST_TEMPLATE_DIR),) settings.TEMPLATE_DIRS = (os.path.join(RUNTESTS_DIR, TEST_TEMPLATE_DIR),)
settings.LANGUAGE_CODE = 'en' settings.LANGUAGE_CODE = 'en'
settings.SITE_ID = 1 settings.SITE_ID = 1
# For testing comment-utils, we require the MANAGERS attribute
# to be set, so that a test email is sent out which we catch
# in our tests.
settings.MANAGERS = ("admin@djangoproject.com",)


# Load all the ALWAYS_INSTALLED_APPS. # Load all the ALWAYS_INSTALLED_APPS.
get_apps() get_apps()
Expand Down

0 comments on commit faabf36

Please sign in to comment.