Skip to content

Commit 1ae2cb9

Browse files
author
David Krisch
authored
Merge pull request #30 from RealGeeks/issue-26
Django 1.8 compatible ModelAdmin.get_urls
2 parents bdd8014 + 650171a commit 1ae2cb9

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

modelclone/admin.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,19 @@ def get_urls(self):
4646
self.model._meta.app_label,
4747
getattr(self.model._meta, 'module_name', getattr(self.model._meta, 'model_name', '')))
4848

49-
new_urlpatterns = [
50-
url(r'^(.+)/change/clone/$',
51-
self.admin_site.admin_view(self.clone_view),
52-
name=url_name)
53-
]
49+
if VERSION[1] < 9:
50+
from django.conf.urls import patterns
51+
new_urlpatterns = patterns('',
52+
url(r'^(.+)/clone/$',
53+
self.admin_site.admin_view(self.clone_view),
54+
name=url_name)
55+
)
56+
else:
57+
new_urlpatterns = [
58+
url(r'^(.+)/change/clone/$',
59+
self.admin_site.admin_view(self.clone_view),
60+
name=url_name)
61+
]
5462

5563
original_urlpatterns = super(ClonableModelAdmin, self).get_urls()
5664

tests/test_admin.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,10 @@ def test_clone_view_is_wrapped_as_admin_view(self):
8585

8686
def test_clone_view_url_name(self):
8787
post_id = self.post.id
88-
expected_url = '/admin/posts/post/{0}/change/clone/'.format(post_id)
88+
if django.VERSION[1] < 9:
89+
expected_url = '/admin/posts/post/{0}/clone/'.format(post_id)
90+
else:
91+
expected_url = '/admin/posts/post/{0}/change/clone/'.format(post_id)
8992

9093
assert reverse('admin:posts_post_clone', args=(post_id,)) == expected_url
9194

0 commit comments

Comments
 (0)