Split Permission and StoredPermission class and model into different modules. Simplified the Permission class.

This commit is contained in:
Roberto Rosario
2015-06-28 01:03:29 -04:00
parent d26402974a
commit 1c084aa07b
58 changed files with 354 additions and 386 deletions
+3 -3
View File
@@ -15,7 +15,7 @@ from converter.exceptions import UnkownConvertError, UnknownFileFormat
from converter.literals import (
DEFAULT_PAGE_NUMBER, DEFAULT_ROTATION, DEFAULT_ZOOM_LEVEL
)
from permissions.models import Permission
from permissions import Permission
from rest_api.filters import MayanObjectPermissionsFilter
from rest_api.permissions import MayanPermission
@@ -184,7 +184,7 @@ class APIDocumentImageView(generics.GenericAPIView):
document = get_object_or_404(Document, pk=pk)
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_view, request.user, document)
@@ -315,7 +315,7 @@ class APIDocumentTypeDocumentListView(generics.ListAPIView):
def get_queryset(self):
document_type = get_object_or_404(DocumentType, pk=self.kwargs['pk'])
try:
Permission.objects.check_permissions(self.request.user, [permission_document_type_view])
Permission.check_permissions(self.request.user, [permission_document_type_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_type_view, self.request.user, document_type)
+1 -1
View File
@@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals
from django.utils.translation import ugettext_lazy as _
from permissions.models import PermissionNamespace
from permissions import PermissionNamespace
namespace = PermissionNamespace('documents', _('Documents'))
+29 -29
View File
@@ -26,7 +26,7 @@ from converter.literals import (
from converter.models import Transformation
from converter.permissions import permission_transformation_delete
from filetransfers.api import serve_file
from permissions.models import Permission
from permissions import Permission
from .events import (
event_document_properties_edit, event_document_type_change
@@ -105,7 +105,7 @@ def document_list(request, object_list=None, title=None, extra_context=None):
pre_object_list = object_list if not (object_list is None) else Document.objects.all()
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
# If user doesn't have global permission, get a list of document
# for which he/she does hace access use it to filter the
@@ -131,7 +131,7 @@ def document_properties(request, document_id):
document = get_object_or_404(Document, pk=document_id)
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_view, request.user, document)
@@ -168,7 +168,7 @@ def document_preview(request, document_id):
document = get_object_or_404(Document, pk=document_id)
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_view, request.user, document)
@@ -199,7 +199,7 @@ def document_delete(request, document_id=None, document_id_list=None):
return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL)))
try:
Permission.objects.check_permissions(request.user, [permission_document_delete])
Permission.check_permissions(request.user, [permission_document_delete])
except PermissionDenied:
documents = AccessEntry.objects.filter_objects_by_access(permission_document_delete, request.user, documents, exception_on_empty=True)
@@ -245,7 +245,7 @@ def document_multiple_delete(request):
def document_edit(request, document_id):
document = get_object_or_404(Document, pk=document_id)
try:
Permission.objects.check_permissions(request.user, [permission_document_properties_edit])
Permission.check_permissions(request.user, [permission_document_properties_edit])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_properties_edit, request.user, document)
@@ -290,7 +290,7 @@ def document_document_type_edit(request, document_id=None, document_id_list=None
return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL)))
try:
Permission.objects.check_permissions(request.user, [permission_document_properties_edit])
Permission.check_permissions(request.user, [permission_document_properties_edit])
except PermissionDenied:
documents = AccessEntry.objects.filter_objects_by_access(permission_document_properties_edit, request.user, documents, exception_on_empty=True)
@@ -340,7 +340,7 @@ def document_multiple_document_type_edit(request):
def get_document_image(request, document_id, size=setting_preview_size.value):
document = get_object_or_404(Document, pk=document_id)
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_view, request.user, document)
@@ -376,7 +376,7 @@ def document_download(request, document_id=None, document_id_list=None, document
document_versions = [get_object_or_404(DocumentVersion, pk=document_version_pk)]
try:
Permission.objects.check_permissions(request.user, [permission_document_download])
Permission.check_permissions(request.user, [permission_document_download])
except PermissionDenied:
document_versions = AccessEntry.objects.filter_objects_by_access(permission_document_download, request.user, document_versions, related='document', exception_on_empty=True)
@@ -484,7 +484,7 @@ def document_update_page_count(request, document_id=None, document_id_list=None)
return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL)))
try:
Permission.objects.check_permissions(request.user, [permission_document_tools])
Permission.check_permissions(request.user, [permission_document_tools])
except PermissionDenied:
documents = AccessEntry.objects.filter_objects_by_access(permission_document_tools, request.user, documents, exception_on_empty=True)
@@ -536,7 +536,7 @@ def document_clear_transformations(request, document_id=None, document_id_list=N
return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL)))
try:
Permission.objects.check_permissions(request.user, [permission_transformation_delete])
Permission.check_permissions(request.user, [permission_transformation_delete])
except PermissionDenied:
documents = AccessEntry.objects.filter_objects_by_access(permission_transformation_delete, request.user, documents, exception_on_empty=True)
@@ -582,7 +582,7 @@ def document_page_view(request, document_page_id):
document_page = get_object_or_404(DocumentPage, pk=document_page_id)
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_view, request.user, document_page.document)
@@ -617,7 +617,7 @@ def document_page_navigation_next(request, document_page_id):
document_page = get_object_or_404(DocumentPage, pk=document_page_id)
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_view, request.user, document_page.document)
@@ -635,7 +635,7 @@ def document_page_navigation_previous(request, document_page_id):
document_page = get_object_or_404(DocumentPage, pk=document_page_id)
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_view, request.user, document_page.document)
@@ -654,7 +654,7 @@ def document_page_navigation_first(request, document_page_id):
document_page = get_object_or_404(document_page.siblings, page_number=1)
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_view, request.user, document_page.document)
@@ -668,7 +668,7 @@ def document_page_navigation_last(request, document_page_id):
document_page = get_object_or_404(document_page.siblings, page_number=document_page.siblings.count())
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_view, request.user, document_page.document)
@@ -681,7 +681,7 @@ def transform_page(request, document_page_id, zoom_function=None, rotation_funct
document_page = get_object_or_404(DocumentPage, pk=document_page_id)
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_view, request.user, document_page.document)
@@ -744,7 +744,7 @@ def document_print(request, document_id):
document = get_object_or_404(Document, pk=document_id)
try:
Permission.objects.check_permissions(request.user, [permission_document_print])
Permission.check_permissions(request.user, [permission_document_print])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_print, request.user, document)
@@ -784,7 +784,7 @@ def document_print(request, document_id):
def document_type_list(request):
Permission.objects.check_permissions(request.user, [permission_document_type_view])
Permission.check_permissions(request.user, [permission_document_type_view])
context = {
'object_list': DocumentType.objects.all(),
@@ -800,7 +800,7 @@ def document_type_list(request):
def document_type_edit(request, document_type_id):
Permission.objects.check_permissions(request.user, [permission_document_type_edit])
Permission.check_permissions(request.user, [permission_document_type_edit])
document_type = get_object_or_404(DocumentType, pk=document_type_id)
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('documents:document_type_list'))))
@@ -827,7 +827,7 @@ def document_type_edit(request, document_type_id):
def document_type_delete(request, document_type_id):
Permission.objects.check_permissions(request.user, [permission_document_type_delete])
Permission.check_permissions(request.user, [permission_document_type_delete])
document_type = get_object_or_404(DocumentType, pk=document_type_id)
post_action_redirect = reverse('documents:document_type_list')
@@ -860,7 +860,7 @@ def document_type_delete(request, document_type_id):
def document_type_create(request):
Permission.objects.check_permissions(request.user, [permission_document_type_create])
Permission.check_permissions(request.user, [permission_document_type_create])
if request.method == 'POST':
form = DocumentTypeForm(request.POST)
@@ -882,7 +882,7 @@ def document_type_create(request):
def document_type_filename_list(request, document_type_id):
Permission.objects.check_permissions(request.user, [permission_document_type_view])
Permission.check_permissions(request.user, [permission_document_type_view])
document_type = get_object_or_404(DocumentType, pk=document_type_id)
context = {
@@ -904,7 +904,7 @@ def document_type_filename_list(request, document_type_id):
def document_type_filename_edit(request, document_type_filename_id):
Permission.objects.check_permissions(request.user, [permission_document_type_edit])
Permission.check_permissions(request.user, [permission_document_type_edit])
document_type_filename = get_object_or_404(DocumentTypeFilename, pk=document_type_filename_id)
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('documents:document_type_filename_list', args=[document_type_filename.document_type_id]))))
@@ -936,7 +936,7 @@ def document_type_filename_edit(request, document_type_filename_id):
def document_type_filename_delete(request, document_type_filename_id):
Permission.objects.check_permissions(request.user, [permission_document_type_edit])
Permission.check_permissions(request.user, [permission_document_type_edit])
document_type_filename = get_object_or_404(DocumentTypeFilename, pk=document_type_filename_id)
post_action_redirect = reverse('documents:document_type_filename_list', args=[document_type_filename.document_type_id])
@@ -971,7 +971,7 @@ def document_type_filename_delete(request, document_type_filename_id):
def document_type_filename_create(request, document_type_id):
Permission.objects.check_permissions(request.user, [permission_document_type_edit])
Permission.check_permissions(request.user, [permission_document_type_edit])
document_type = get_object_or_404(DocumentType, pk=document_type_id)
@@ -1002,7 +1002,7 @@ def document_type_filename_create(request, document_type_id):
def document_clear_image_cache(request):
Permission.objects.check_permissions(request.user, [permission_document_tools])
Permission.check_permissions(request.user, [permission_document_tools])
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL))))
@@ -1022,7 +1022,7 @@ def document_version_list(request, document_pk):
document = get_object_or_404(Document, pk=document_pk)
try:
Permission.objects.check_permissions(request.user, [permission_document_view])
Permission.check_permissions(request.user, [permission_document_view])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_view, request.user, document)
@@ -1062,7 +1062,7 @@ def document_version_revert(request, document_version_pk):
document_version = get_object_or_404(DocumentVersion, pk=document_version_pk)
try:
Permission.objects.check_permissions(request.user, [permission_document_version_revert])
Permission.check_permissions(request.user, [permission_document_version_revert])
except PermissionDenied:
AccessEntry.objects.check_access(permission_document_version_revert, request.user, document_version.document)