mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-22 11:23:10 +00:00
Add permission for API view
This commit is contained in:
parent
6478a0aed9
commit
0c7e944b07
4 changed files with 29 additions and 2 deletions
17
api/initial_perm.py
Normal file
17
api/initial_perm.py
Normal 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()
|
|
@ -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'
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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')),
|
||||||
|
]
|
||||||
|
|
Loading…
Reference in a new issue