Skip to content
Snippets Groups Projects

Feature/add ipopenperm to djangoldp

Merged Benoit Alessandroni requested to merge feature/add-ipopenperm-to-djangoldp into master
1 file
+ 1
1
Compare changes
  • Side-by-side
  • Inline
+ 17
3
@@ -4,8 +4,9 @@ from django.http import Http404
from rest_framework.permissions import BasePermission, DjangoObjectPermissions, OR, AND
from rest_framework.filters import BaseFilterBackend
from rest_framework_guardian.filters import ObjectPermissionsFilter
from djangoldp.filters import OwnerFilterBackend, NoFilterBackend, PublicFilterBackend
from djangoldp.utils import is_anonymous_user, is_authenticated_user
from djangoldp.filters import OwnerFilterBackend, NoFilterBackend, PublicFilterBackend, IPFilterBackend
from djangoldp.utils import is_anonymous_user, is_authenticated_user, check_client_ip
DEFAULT_DJANGOLDP_PERMISSIONS = {'view', 'add', 'change', 'delete', 'control'}
DEFAULT_RESOURCE_PERMISSIONS = {'view', 'change', 'delete', 'control'}
@@ -229,8 +230,21 @@ class JoinMembersPermission(LDPBasePermission):
new_ids = {user['@id'] for user in new_members}
old_ids = {user.urlid for user in obj.members.user_set.all()}
return self.check_patch(new_ids, old_ids, request.user) and self.check_patch(old_ids, new_ids, request.user)
def get_permissions(self, user, model, obj=None):
return set()
class IPOpenPermissions(LDPBasePermission):
filter_backend = IPFilterBackend
def has_permission(self, request, view):
return check_client_ip(request)
def has_object_permission(self, request, view, obj):
return check_client_ip(request)
def get_permissions(self, user, model, obj=None):
#Will always say there is no migrations, not taking the IP into accounts
return set()
Loading