Skip to content

Commit

Permalink
Upgrade to use django.urls.path in routing (#634)
Browse files Browse the repository at this point in the history
  • Loading branch information
ad-m committed Sep 8, 2019
1 parent d3a3c60 commit 5a97f63
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 41 deletions.
12 changes: 6 additions & 6 deletions example_project/articles/urls.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
from django.conf.urls import url
from django.urls import path
from . import views


app_name = 'articles'
urlpatterns = [
url(r'^$', views.ArticleListView.as_view(),
path('', views.ArticleListView.as_view(),
name="list"),
url(r'^~create$', views.ArticleCreateView.as_view(),
path('~create', views.ArticleCreateView.as_view(),
name="create"),
url(r'^(?P<slug>[\w-]+)$', views.ArticleDetailView.as_view(),
path('<slug:slug>', views.ArticleDetailView.as_view(),
name="details"),
url(r'^(?P<slug>[\w-]+)/~update$', views.ArticleUpdateView.as_view(),
path('<slug:slug>/~update', views.ArticleUpdateView.as_view(),
name="update"),
url(r'^(?P<slug>[\w-]+)/~delete$', views.ArticleDeleteView.as_view(),
path('<slug:slug>/~delete', views.ArticleDeleteView.as_view(),
name="delete"),
]
6 changes: 3 additions & 3 deletions example_project/posts/urls.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from guardian.compat import url
from django.urls import path

from posts import views

urlpatterns = [
url(r'^$', views.post_list, name='posts_post_list'),
url(r'^(?P<slug>[-\w]+)/$', views.post_detail, name='posts_post_detail'),
path('', views.post_list, name='posts_post_list'),
path('<slug:slug>', views.post_detail, name='posts_post_detail'),
]
16 changes: 8 additions & 8 deletions example_project/urls.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
from guardian.compat import include, url, handler404, handler500
from guardian.compat import include, handler404, handler500
from django.conf import settings
from django.urls import path
from django.contrib import admin
from django.contrib.auth.views import LogoutView

__all__ = ['handler404', 'handler500']


admin.autodiscover()

urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^logout/$', LogoutView.as_view(next_page='/'), name='logout'),
url(r'^article/', include('articles.urls', namespace='articles')),
url(r'^', include('posts.urls')),
path('admin/', admin.site.urls),
path('logout/', LogoutView.as_view(next_page='/'), name='logout'),
path('article/', include('articles.urls', namespace='articles')),
path('', include('posts.urls')),
]

if 'grappelli' in settings.INSTALLED_APPS:
urlpatterns += [url(r'^grappelli/', include('grappelli.urls')), ]
urlpatterns += [path('grappelli/', include('grappelli.urls')), ]

if 'rosetta' in settings.INSTALLED_APPS:
urlpatterns += [url(r'^rosetta/', include('rosetta.urls')), ]
urlpatterns += [path('rosetta/', include('rosetta.urls')), ]
40 changes: 21 additions & 19 deletions guardian/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
from django.contrib.admin.widgets import FilteredSelectMultiple
from django.contrib.auth import get_user_model
from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse
from django.urls import reverse, path
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ugettext
from guardian.compat import url
from guardian.forms import GroupObjectPermissionsForm, UserObjectPermissionsForm
from guardian.models import Group
from guardian.shortcuts import (get_group_perms, get_groups_with_perms, get_perms_for_model, get_user_perms,
Expand Down Expand Up @@ -90,18 +89,18 @@ def get_urls(self):
if self.include_object_permissions_urls:
info = self.model._meta.app_label, self.model._meta.model_name
myurls = [
url(r'^(?P<object_pk>.+)/permissions/$',
view=self.admin_site.admin_view(
self.obj_perms_manage_view),
name='%s_%s_permissions' % info),
url(r'^(?P<object_pk>.+)/permissions/user-manage/(?P<user_id>\-?\d+)/$',
view=self.admin_site.admin_view(
self.obj_perms_manage_user_view),
name='%s_%s_permissions_manage_user' % info),
url(r'^(?P<object_pk>.+)/permissions/group-manage/(?P<group_id>\-?\d+)/$',
view=self.admin_site.admin_view(
self.obj_perms_manage_group_view),
name='%s_%s_permissions_manage_group' % info),
path('<object_pk>/permissions/',
view=self.admin_site.admin_view(
self.obj_perms_manage_view),
name='%s_%s_permissions' % info),
path('<object_pk>/permissions/user-manage/<user_id>/',
view=self.admin_site.admin_view(
self.obj_perms_manage_user_view),
name='%s_%s_permissions_manage_user' % info),
path('<object_pk>/permissions/group-manage/<group_id>/',
view=self.admin_site.admin_view(
self.obj_perms_manage_group_view),
name='%s_%s_permissions_manage_group' % info),
]
urls = myurls + urls
return urls
Expand Down Expand Up @@ -158,8 +157,10 @@ def obj_perms_manage_view(self, request, object_pk):
)

if request.method == 'POST' and 'submit_manage_user' in request.POST:
user_form = self.get_obj_perms_user_select_form(request)(request.POST)
group_form = self.get_obj_perms_group_select_form(request)(request.POST)
user_form = self.get_obj_perms_user_select_form(
request)(request.POST)
group_form = self.get_obj_perms_group_select_form(
request)(request.POST)
info = (
self.admin_site.name,
self.model._meta.app_label,
Expand All @@ -173,8 +174,10 @@ def obj_perms_manage_view(self, request, object_pk):
)
return redirect(url)
elif request.method == 'POST' and 'submit_manage_group' in request.POST:
user_form = self.get_obj_perms_user_select_form(request)(request.POST)
group_form = self.get_obj_perms_group_select_form(request)(request.POST)
user_form = self.get_obj_perms_user_select_form(
request)(request.POST)
group_form = self.get_obj_perms_group_select_form(
request)(request.POST)
info = (
self.admin_site.name,
self.model._meta.app_label,
Expand Down Expand Up @@ -281,7 +284,6 @@ def get_obj_perms_group_select_form(self, request):
"""
return GroupManage


def get_obj_perms_manage_user_form(self, request):
"""
Returns form class for user object permissions management. By default
Expand Down
2 changes: 1 addition & 1 deletion guardian/compat.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from django.conf import settings
from django.conf.urls import handler404, handler500, include, url
from django.conf.urls import handler404, handler500, include
from django.contrib.auth import get_user_model
from django.contrib.auth.models import AnonymousUser, Group, Permission

Expand Down
9 changes: 5 additions & 4 deletions guardian/testapp/tests/urls.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# handler404 and handler500 are needed for admin tests
from guardian.compat import url, handler404, handler500 # pyflakes:ignore
from django.urls import path
from guardian.compat import handler404, handler500 # pyflakes:ignore
from guardian.mixins import PermissionRequiredMixin
from django.contrib import admin
from django.contrib.auth.views import LoginView
Expand All @@ -12,7 +13,7 @@ class TestClassRedirectView(PermissionRequiredMixin, View):
permission_required = 'testapp.change_project'

urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^accounts/login/', LoginView.as_view(template_name='blank.html')),
url(r'^permission_required/', TestClassRedirectView.as_view()),
path('admin/', admin.site.urls),
path('accounts/login/', LoginView.as_view(template_name='blank.html')),
path('permission_required/', TestClassRedirectView.as_view()),
]

0 comments on commit 5a97f63

Please sign in to comment.