8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-26 22:52:26 +00:00

Add permission for API view

This commit is contained in:
Maël Kervella 2018-04-20 22:09:33 +00:00
parent 6478a0aed9
commit 0c7e944b07
4 changed files with 29 additions and 2 deletions

17
api/initial_perm.py Normal file
View file

@ -0,0 +1,17 @@
from django.contrib.contenttypes.models import ContentType
from django.contrib.auth.models import Permission
from django.conf import settings
api_content_type, created = ContentType.objects.get_or_create(
app_label=settings.API_CONTENT_TYPE_APP_LABEL,
model=settings.API_CONTENT_TYPE_MODEL
)
if created:
api_content_type.save()
api_permission, created = Permission.objects.get_or_create(
name=settings.API_PERMISSION_NAME,
content_type=api_content_type,
codename=settings.API_PERMISSION_CODENAME
)
if created:
api_permission.save()

View file

@ -35,3 +35,9 @@ REST_FRAMEWORK = {
'api.permissions.DefaultACLPermission', 'api.permissions.DefaultACLPermission',
) )
} }
# API permission settings
API_CONTENT_TYPE_APP_LABEL = 'api'
API_CONTENT_TYPE_MODEL = 'api'
API_PERMISSION_NAME = 'Can use the API'
API_PERMISSION_CODENAME = 'use_api'

View file

@ -28,6 +28,7 @@ from django.conf.urls import url, include
from rest_framework.routers import DefaultRouter from rest_framework.routers import DefaultRouter
from . import views from . import views
from . import initial_perm
router = DefaultRouter() router = DefaultRouter()
router.register(r'users', views.UserViewSet) router.register(r'users', views.UserViewSet)

View file

@ -42,6 +42,7 @@ Including another URLconf
""" """
from __future__ import unicode_literals from __future__ import unicode_literals
from django.conf import settings
from django.conf.urls import include, url from django.conf.urls import include, url
from django.contrib import admin from django.contrib import admin
from django.contrib.auth import views as auth_views from django.contrib.auth import views as auth_views
@ -70,6 +71,8 @@ urlpatterns = [
r'^preferences/', r'^preferences/',
include('preferences.urls', namespace='preferences') include('preferences.urls', namespace='preferences')
), ),
url(r'^api/', include('api.urls', namespace='api')),
] ]
if 'api' in settings.INSTALLED_APPS:
urlpatterns += [
url(r'^api/', include('api.urls', namespace='api')),
]