Commit 9da85bddb4ec6df5a2497486a1baf16f704d022c

Authored by Claude Paroz
Committed by GitHub
1 parent fd96281a

Added compatibility with latest Django master

... ... @@ -2,8 +2,11 @@ from importlib import import_module
2 2
3 3 from django.apps import apps
4 4 from django.conf import settings
5   -from django.core import urlresolvers
6 5 from django.core.exceptions import ImproperlyConfigured
  6 +try:
  7 + from django.urls import reverse
  8 +except ImportError:
  9 + from django.core.urlresolvers import reverse # Django < 1.10
7 10
8 11
9 12 DEFAULT_COMMENTS_APP = 'django_comments'
... ... @@ -68,7 +71,7 @@ def get_form_target():
68 71 if get_comment_app_name() != DEFAULT_COMMENTS_APP and hasattr(get_comment_app(), "get_form_target"):
69 72 return get_comment_app().get_form_target()
70 73 else:
71   - return urlresolvers.reverse("comments-post-comment")
  74 + return reverse("comments-post-comment")
72 75
73 76
74 77 def get_flag_url(comment):
... ... @@ -78,7 +81,7 @@ def get_flag_url(comment):
78 81 if get_comment_app_name() != DEFAULT_COMMENTS_APP and hasattr(get_comment_app(), "get_flag_url"):
79 82 return get_comment_app().get_flag_url(comment)
80 83 else:
81   - return urlresolvers.reverse("comments-flag", args=(comment.id,))
  84 + return reverse("comments-flag", args=(comment.id,))
82 85
83 86
84 87 def get_delete_url(comment):
... ... @@ -88,7 +91,7 @@ def get_delete_url(comment):
88 91 if get_comment_app_name() != DEFAULT_COMMENTS_APP and hasattr(get_comment_app(), "get_delete_url"):
89 92 return get_comment_app().get_delete_url(comment)
90 93 else:
91   - return urlresolvers.reverse("comments-delete", args=(comment.id,))
  94 + return reverse("comments-delete", args=(comment.id,))
92 95
93 96
94 97 def get_approve_url(comment):
... ... @@ -98,4 +101,4 @@ def get_approve_url(comment):
98 101 if get_comment_app_name() != DEFAULT_COMMENTS_APP and hasattr(get_comment_app(), "get_approve_url"):
99 102 return get_comment_app().get_approve_url(comment)
100 103 else:
101   - return urlresolvers.reverse("comments-approve", args=(comment.id,))
  104 + return reverse("comments-approve", args=(comment.id,))
... ...
... ... @@ -4,11 +4,14 @@ from django.conf import settings
4 4 from django.contrib.contenttypes.fields import GenericForeignKey
5 5 from django.contrib.contenttypes.models import ContentType
6 6 from django.contrib.sites.models import Site
7   -from django.core import urlresolvers
8 7 from django.db import models
9 8 from django.utils import timezone
10 9 from django.utils.encoding import python_2_unicode_compatible
11 10 from django.utils.translation import ugettext_lazy as _
  11 +try:
  12 + from django.urls import reverse
  13 +except ImportError:
  14 + from django.core.urlresolvers import reverse # Django < 1.10
12 15
13 16 from .managers import CommentManager
14 17
... ... @@ -39,7 +42,7 @@ class BaseCommentAbstractModel(models.Model):
39 42 """
40 43 Get a URL suitable for redirecting to the content object.
41 44 """
42   - return urlresolvers.reverse(
  45 + return reverse(
43 46 "comments-url-redirect",
44 47 args=(self.content_type_id, self.object_pk)
45 48 )
... ...
... ... @@ -40,7 +40,11 @@ def post_comment(request, next=None, using=None):
40 40 """
41 41 # Fill out some initial data fields from an authenticated user, if present
42 42 data = request.POST.copy()
43   - if request.user.is_authenticated():
  43 + try:
  44 + user_is_authenticated = request.user.is_authenticated()
  45 + except TypeError: # Django >= 1.11
  46 + user_is_authenticated = request.user.is_authenticated
  47 + if user_is_authenticated:
44 48 if not data.get('name', ''):
45 49 data["name"] = request.user.get_full_name() or request.user.get_username()
46 50 if not data.get('email', ''):
... ... @@ -103,7 +107,7 @@ def post_comment(request, next=None, using=None):
103 107 # Otherwise create the comment
104 108 comment = form.get_comment_object(site_id=get_current_site(request).id)
105 109 comment.ip_address = request.META.get("REMOTE_ADDR", None)
106   - if request.user.is_authenticated():
  110 + if user_is_authenticated:
107 111 comment.user = request.user
108 112
109 113 # Signal that the comment is about to be saved
... ...
1   -from django.core import urlresolvers
  1 +try:
  2 + from django.urls import reverse
  3 +except ImportError:
  4 + from django.core.urlresolvers import reverse # Django < 1.10
2 5
3 6 from . import views
4 7 from .forms import CustomCommentForm
... ... @@ -14,16 +17,16 @@ def get_form():
14 17
15 18
16 19 def get_form_target():
17   - return urlresolvers.reverse(views.custom_submit_comment)
  20 + return reverse(views.custom_submit_comment)
18 21
19 22
20 23 def get_flag_url(c):
21   - return urlresolvers.reverse(views.custom_flag_comment, args=(c.id,))
  24 + return reverse(views.custom_flag_comment, args=(c.id,))
22 25
23 26
24 27 def get_delete_url(c):
25   - return urlresolvers.reverse(views.custom_delete_comment, args=(c.id,))
  28 + return reverse(views.custom_delete_comment, args=(c.id,))
26 29
27 30
28 31 def get_approve_url(c):
29   - return urlresolvers.reverse(views.custom_approve_comment, args=(c.id,))
  32 + return reverse(views.custom_approve_comment, args=(c.id,))
... ...
... ... @@ -25,11 +25,16 @@ settings.configure(
25 25 "testapp",
26 26 "custom_comments",
27 27 ],
28   - MIDDLEWARE_CLASSES=(
  28 + MIDDLEWARE=(
29 29 'django.contrib.sessions.middleware.SessionMiddleware',
30 30 'django.contrib.auth.middleware.AuthenticationMiddleware',
31 31 'django.contrib.messages.middleware.MessageMiddleware',
32 32 ),
  33 + MIDDLEWARE_CLASSES=(
  34 + 'django.contrib.sessions.middleware.SessionMiddleware',
  35 + 'django.contrib.auth.middleware.AuthenticationMiddleware',
  36 + 'django.contrib.messages.middleware.MessageMiddleware',
  37 + ), # Django < 1.10
33 38 ROOT_URLCONF='testapp.urls',
34 39 TEMPLATES=[
35 40 {
... ...
1   -from django.conf.urls import include, url
  1 +from django.conf.urls import url
2 2 from django.contrib import admin
3 3 from django_comments.admin import CommentsAdmin
4 4 from django_comments.models import Comment
... ... @@ -14,6 +14,6 @@ admin_site2.disable_action('delete_selected')
14 14 admin_site2.register(Comment, CommentsAdmin)
15 15
16 16 urlpatterns = [
17   - url(r'^admin/', include(admin_site.urls)),
18   - url(r'^admin2/', include(admin_site2.urls)),
  17 + url(r'^admin/', admin_site.urls),
  18 + url(r'^admin2/', admin_site2.urls),
19 19 ]
... ...
Please register or login to post a comment