summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-08-26 06:58:43 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-08-26 06:58:43 +0000
commitccb37ce74cae13115a65b4cb73db156d40131765 (patch)
tree9893da4e4d399778b6743876d10c6e61f7d5d8d0
parent47ed499a5db8d7c41d6139fa9d797538b92f5cd5 (diff)
The comments app was unconditionally accessing various settings that didn't
exist in Django's global settings. Changed those accesses to conditional lookups with default fallbacks. The comment_test tests now pass without needing to add any extra settings. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8573 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/contrib/comments/__init__.py17
-rw-r--r--django/contrib/comments/templatetags/comments.py2
2 files changed, 13 insertions, 6 deletions
diff --git a/django/contrib/comments/__init__.py b/django/contrib/comments/__init__.py
index 2455d40e92..55b8bac94a 100644
--- a/django/contrib/comments/__init__.py
+++ b/django/contrib/comments/__init__.py
@@ -10,14 +10,14 @@ def get_comment_app():
Get the comment app (i.e. "django.contrib.comments") as defined in the settings
"""
# Make sure the app's in INSTALLED_APPS
- comments_app = getattr(settings, 'COMMENTS_APP', 'django.contrib.comments')
+ comments_app = get_comment_app_name()
if comments_app not in settings.INSTALLED_APPS:
raise ImproperlyConfigured("The COMMENTS_APP (%r) "\
"must be in INSTALLED_APPS" % settings.COMMENTS_APP)
# Try to import the package
try:
- package = __import__(settings.COMMENTS_APP, '', '', [''])
+ package = __import__(comments_app, '', '', [''])
except ImportError:
raise ImproperlyConfigured("The COMMENTS_APP setting refers to "\
"a non-existing package.")
@@ -31,6 +31,13 @@ def get_comment_app():
return package
+def get_comment_app_name():
+ """
+ Returns the name of the comment app (either the setting value, if it
+ exists, or the default).
+ """
+ return getattr(settings, 'COMMENTS_APP', 'django.contrib.comments')
+
def get_model():
from django.contrib.comments.models import Comment
return Comment
@@ -46,7 +53,7 @@ def get_flag_url(comment):
"""
Get the URL for the "flag this comment" view.
"""
- if settings.COMMENTS_APP != __name__ and hasattr(get_comment_app(), "get_flag_url"):
+ if get_comment_app_name() != __name__ and hasattr(get_comment_app(), "get_flag_url"):
return get_comment_app().get_flag_url(comment)
else:
return urlresolvers.reverse("django.contrib.comments.views.moderation.flag", args=(comment.id,))
@@ -55,7 +62,7 @@ def get_delete_url(comment):
"""
Get the URL for the "delete this comment" view.
"""
- if settings.COMMENTS_APP != __name__ and hasattr(get_comment_app(), "get_delete_url"):
+ if get_comment_app_name() != __name__ and hasattr(get_comment_app(), "get_delete_url"):
return get_comment_app().get_flag_url(get_delete_url)
else:
return urlresolvers.reverse("django.contrib.comments.views.moderation.delete", args=(comment.id,))
@@ -64,7 +71,7 @@ def get_approve_url(comment):
"""
Get the URL for the "approve this comment from moderation" view.
"""
- if settings.COMMENTS_APP != __name__ and hasattr(get_comment_app(), "get_approve_url"):
+ if get_comment_app_name() != __name__ and hasattr(get_comment_app(), "get_approve_url"):
return get_comment_app().get_approve_url(comment)
else:
return urlresolvers.reverse("django.contrib.comments.views.moderation.approve", args=(comment.id,))
diff --git a/django/contrib/comments/templatetags/comments.py b/django/contrib/comments/templatetags/comments.py
index 78f2819678..c2a99c843b 100644
--- a/django/contrib/comments/templatetags/comments.py
+++ b/django/contrib/comments/templatetags/comments.py
@@ -81,7 +81,7 @@ class BaseCommentNode(template.Node):
site__pk = settings.SITE_ID,
is_public = True,
)
- if settings.COMMENTS_HIDE_REMOVED:
+ if getattr(settings, 'COMMENTS_HIDE_REMOVED', True):
qs = qs.filter(is_removed=False)
return qs