Skip to content
Snippets Groups Projects
Commit 61cb6c00 authored by Sylvain Le Bon's avatar Sylvain Le Bon
Browse files

update: renamed LDPPermissions into ACLPermissions

parent fa9064dc
No related branches found
Tags v0.8.0-beta.1
1 merge request!259New permissions
...@@ -121,7 +121,7 @@ class ReadAndCreate(LDPBasePermission): ...@@ -121,7 +121,7 @@ class ReadAndCreate(LDPBasePermission):
"""Users can only view and create""" """Users can only view and create"""
permissions = {'view', 'add'} permissions = {'view', 'add'}
class LDPPermissions(DjangoObjectPermissions, LDPBasePermission): class ACLPermissions(DjangoObjectPermissions, LDPBasePermission):
"""Permissions based on the rights given in db, on model for container requests or on object for resource requests""" """Permissions based on the rights given in db, on model for container requests or on object for resource requests"""
filter_backend = ObjectPermissionsFilter filter_backend = ObjectPermissionsFilter
perms_map = permission_map perms_map = permission_map
......
from django.urls import path from django.urls import path
from djangoldp.tests.models import Message, Conversation, Dummy, PermissionlessDummy, Task, DateModel, LDPDummy from djangoldp.tests.models import Message, Conversation, Dummy, PermissionlessDummy, Task, DateModel, LDPDummy
from djangoldp.permissions import LDPPermissions,AnonymousReadOnly,ReadAndCreate,OwnerPermissions from djangoldp.permissions import ACLPermissions
from djangoldp.views import LDPViewSet from djangoldp.views import LDPViewSet
urlpatterns = [ urlpatterns = [
path('messages/', LDPViewSet.urls(model=Message, fields=["@id", "text", "conversation"], nested_fields=['conversation'])), path('messages/', LDPViewSet.urls(model=Message, fields=["@id", "text", "conversation"], nested_fields=['conversation'])),
path('tasks/', LDPViewSet.urls(model=Task)), path('tasks/', LDPViewSet.urls(model=Task)),
# # path('dates/', LDPViewSet.urls(model=DateModel)),
path('conversations/', LDPViewSet.urls(model=Conversation, nested_fields=["message_set", "observers"])), path('conversations/', LDPViewSet.urls(model=Conversation, nested_fields=["message_set", "observers"])),
path('dummys/', LDPViewSet.urls(model=Dummy, lookup_field='slug',)), path('dummys/', LDPViewSet.urls(model=Dummy, lookup_field='slug',)),
# path('ldpdummys/', LDPViewSet.urls(model=LDPDummy, nested_fields=['anons'], permission_classes=[AnonymousReadOnly,ReadAndCreate|OwnerPermissions])), path('permissionless-dummys/', LDPViewSet.urls(model=PermissionlessDummy, lookup_field='slug', permission_classes=[ACLPermissions])),
path('permissionless-dummys/', LDPViewSet.urls(model=PermissionlessDummy, lookup_field='slug', permission_classes=[LDPPermissions])),
] ]
...@@ -4,7 +4,7 @@ from django.db import models ...@@ -4,7 +4,7 @@ from django.db import models
from django.utils.datetime_safe import date from django.utils.datetime_safe import date
from djangoldp.models import Model from djangoldp.models import Model
from djangoldp.permissions import LDPPermissions, AuthenticatedOnly, ReadOnly, \ from djangoldp.permissions import ACLPermissions, AuthenticatedOnly, ReadOnly, \
ReadAndCreate, AnonymousReadOnly, OwnerPermissions, InheritPermissions ReadAndCreate, AnonymousReadOnly, OwnerPermissions, InheritPermissions
from .permissions import Only2WordsForToto, ReadOnlyStartsWithA from .permissions import Only2WordsForToto, ReadOnlyStartsWithA
...@@ -193,7 +193,7 @@ class PermissionlessDummy(Model): ...@@ -193,7 +193,7 @@ class PermissionlessDummy(Model):
class Meta(Model.Meta): class Meta(Model.Meta):
ordering = ['pk'] ordering = ['pk']
permission_classes = [LDPPermissions] permission_classes = [ACLPermissions]
lookup_field='slug' lookup_field='slug'
permissions = (('custom_permission_permissionlessdummy', 'Custom Permission'),) permissions = (('custom_permission_permissionlessdummy', 'Custom Permission'),)
...@@ -264,7 +264,7 @@ class Circle(Model): ...@@ -264,7 +264,7 @@ class Circle(Model):
ordering = ['pk'] ordering = ['pk']
auto_author = 'owner' auto_author = 'owner'
depth = 1 depth = 1
permission_classes = [AnonymousReadOnly,ReadAndCreate|OwnerPermissions|LDPPermissions] permission_classes = [AnonymousReadOnly,ReadAndCreate|OwnerPermissions|ACLPermissions]
permission_roles = { permission_roles = {
'members': {'perms': ['view'], 'add_author': True}, 'members': {'perms': ['view'], 'add_author': True},
'admins': {'perms': ['view', 'change', 'control'], 'add_author': True}, 'admins': {'perms': ['view', 'change', 'control'], 'add_author': True},
...@@ -283,7 +283,7 @@ class RestrictedCircle(Model): ...@@ -283,7 +283,7 @@ class RestrictedCircle(Model):
class Meta(Model.Meta): class Meta(Model.Meta):
ordering = ['pk'] ordering = ['pk']
auto_author = 'owner' auto_author = 'owner'
permission_classes = [LDPPermissions] permission_classes = [ACLPermissions]
permission_roles = { permission_roles = {
'members': {'perms': ['view'], 'add_author': True}, 'members': {'perms': ['view'], 'add_author': True},
'admins': {'perms': ['view', 'change', 'control'], 'add_author': True}, 'admins': {'perms': ['view', 'change', 'control'], 'add_author': True},
...@@ -370,7 +370,7 @@ class MyAbstractModel(Model): ...@@ -370,7 +370,7 @@ class MyAbstractModel(Model):
class Meta(Model.Meta): class Meta(Model.Meta):
ordering = ['pk'] ordering = ['pk']
permission_classes = [LDPPermissions] permission_classes = [ACLPermissions]
abstract = True abstract = True
rdf_type = "wow:defaultrdftype" rdf_type = "wow:defaultrdftype"
...@@ -378,4 +378,4 @@ class MyAbstractModel(Model): ...@@ -378,4 +378,4 @@ class MyAbstractModel(Model):
class NoSuperUsersAllowedModel(Model): class NoSuperUsersAllowedModel(Model):
class Meta(Model.Meta): class Meta(Model.Meta):
ordering = ['pk'] ordering = ['pk']
permission_classes = [LDPPermissions] permission_classes = [ACLPermissions]
\ No newline at end of file \ No newline at end of file
...@@ -331,7 +331,7 @@ class MyModel(models.Model): ...@@ -331,7 +331,7 @@ class MyModel(models.Model):
author_user = models.ForeignKey(settings.AUTH_USER_MODEL) author_user = models.ForeignKey(settings.AUTH_USER_MODEL)
related = models.ForeignKey(SomeOtherModel) related = models.ForeignKey(SomeOtherModel)
class Meta: class Meta:
permission_classes = [InheritPermissions, AuthenticatedOnly&(ReadOnly|OwnerPermissions|LDPPermissions)] permission_classes = [InheritPermissions, AuthenticatedOnly&(ReadOnly|OwnerPermissions|ACLPermissions)]
inherit_permissions = 'related inherit_permissions = 'related
owner_field = 'author_user' owner_field = 'author_user'
auto_author_field = 'profile' auto_author_field = 'profile'
...@@ -339,7 +339,7 @@ class MyModel(models.Model): ...@@ -339,7 +339,7 @@ class MyModel(models.Model):
### Role based permissions ### Role based permissions
Permissions can also be defind through roles defined in the Meta option `permission_roles`. When set, DjangoLDP will automatically create groups and assigne permissions on these groups when the object is created. The author can also be added automatically using the option `add_author`. The permission class `LDPPermissions` must be applied in order for the data base permission to be taken into account. Permissions can also be defind through roles defined in the Meta option `permission_roles`. When set, DjangoLDP will automatically create groups and assigne permissions on these groups when the object is created. The author can also be added automatically using the option `add_author`. The permission class `ACLPermissions` must be applied in order for the data base permission to be taken into account.
```python ```python
class Circle(Model): class Circle(Model):
...@@ -350,7 +350,7 @@ class Circle(Model): ...@@ -350,7 +350,7 @@ class Circle(Model):
class Meta(Model.Meta): class Meta(Model.Meta):
auto_author = 'owner' auto_author = 'owner'
permission_classes = [LDPPermissions] permission_classes = [ACLPermissions]
permission_roles = { permission_roles = {
'members': {'perms': ['view'], 'add_author': True}, 'members': {'perms': ['view'], 'add_author': True},
'admins': {'perms': ['view', 'change', 'control'], 'add_author': True}, 'admins': {'perms': ['view', 'change', 'control'], 'add_author': True},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment