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