server/python2/django/renkanmanager/permissions.py
changeset 587 fb0041aa74d3
equal deleted inserted replaced
586:e2e952fcaf7c 587:fb0041aa74d3
       
     1 from rest_framework import permissions
       
     2 
       
     3 
       
     4 class CanCreateRenkan(permissions.BasePermission):
       
     5     
       
     6     def has_permission(self, request, view):
       
     7         if request.method in permissions.SAFE_METHODS:
       
     8             return True
       
     9         
       
    10         if (request.method == 'POST') and not request.user.has_perm('add_renkan'):
       
    11             return False
       
    12         
       
    13         return True
       
    14 
       
    15 
       
    16 class CanEditRenkan(permissions.BasePermission):
       
    17     
       
    18     def has_object_permission(self, request, view, obj):
       
    19         if not request.user.has_perm('view_renkan', obj):
       
    20             return False
       
    21         if request.method in permissions.SAFE_METHODS:
       
    22             return True
       
    23         
       
    24         if (request.method == 'PUT') and not request.user.has_perm('change_renkan', obj):
       
    25             return False
       
    26         
       
    27         return True
       
    28 
       
    29 
       
    30 class CanDeleteRenkan(permissions.BasePermission):
       
    31     
       
    32     def has_object_permission(self, request, view, obj):
       
    33         if not request.user.has_perm('view_renkan', obj):
       
    34             return False
       
    35         if request.method in permissions.SAFE_METHODS:
       
    36             return True
       
    37         
       
    38         if (request.method == 'DELETE') and not request.user.has_perm('delete_renkan', obj):
       
    39             return False
       
    40         
       
    41         return True
       
    42 
       
    43 
       
    44 class CanCreateWorkspace(permissions.BasePermission):
       
    45     
       
    46     def has_permission(self, request, view):
       
    47         if request.method in permissions.SAFE_METHODS:
       
    48             return True
       
    49         if (request.method == 'POST') and not request.user.has_perm('add_workspace'):
       
    50             return False
       
    51         
       
    52         return True
       
    53 
       
    54 
       
    55 class CanEditWorkspace(permissions.BasePermission):
       
    56     
       
    57     def has_object_permission(self, request, view, obj):
       
    58         if not request.user.has_perm('view_workspace', obj):
       
    59             return False
       
    60         if request.method in permissions.SAFE_METHODS:
       
    61             return True
       
    62         
       
    63         if (request.method == 'PUT') and not request.user.has_perm('change_workspace', obj):
       
    64             return False
       
    65         
       
    66         return True
       
    67 
       
    68 
       
    69 class CanDeleteWorkspace(permissions.BasePermission):
       
    70     
       
    71     def has_object_permission(self, request, view, obj):
       
    72         if not request.user.has_perm('view_workspace', obj):
       
    73             return False
       
    74         if request.method in permissions.SAFE_METHODS:
       
    75             return True
       
    76         
       
    77         if (request.method == 'DELETE') and not request.user.has_perm('delete_workspace', obj):
       
    78             return False
       
    79         
       
    80         return True
       
    81 
       
    82 
       
    83 class CanDeleteRevision(permissions.BasePermission):
       
    84     
       
    85     def has_object_permission(self, request, view, obj):
       
    86         if not request.user.has_perm('view_revision', obj):
       
    87             return False
       
    88         if request.method in permissions.SAFE_METHODS:
       
    89             return True
       
    90         
       
    91         if (request.method == 'DELETE') and not request.user.has_perm('delete_revision', obj):
       
    92             return False
       
    93         
       
    94         return True