Refactor metadata app

Update permission variable name from
"permission_document_metadata_" to "permission_metadata_".

Fix failing tests.

Add test for same metadata type mixin.

Split metadata add and remove test into test for GET and
POST requests.

Remove use of urlencode and instead use furl.

Simplify view using self.action_count and
self.action_id_list.

Use ExternalObjectMixin to remove repeated code.

Move the repeated code to test for all documents to
be of the same type into its own mixin.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-02-03 23:37:52 -04:00
parent dcea32ae38
commit aa95a61451
8 changed files with 266 additions and 309 deletions

View File

@@ -14,8 +14,8 @@ from mayan.apps.rest_api.permissions import MayanPermission
from .models import MetadataType
from .permissions import (
permission_document_metadata_add, permission_document_metadata_remove,
permission_document_metadata_edit, permission_document_metadata_view,
permission_metadata_add, permission_metadata_remove,
permission_metadata_edit, permission_metadata_view,
permission_metadata_type_create, permission_metadata_type_delete,
permission_metadata_type_edit, permission_metadata_type_view
)
@@ -34,9 +34,9 @@ class APIDocumentMetadataListView(generics.ListCreateAPIView):
"""
def get_document(self):
if self.request.method == 'GET':
permission_required = permission_document_metadata_view
permission_required = permission_metadata_view
else:
permission_required = permission_document_metadata_add
permission_required = permission_metadata_add
document = get_object_or_404(
klass=Document, pk=self.kwargs['document_pk']
@@ -90,13 +90,13 @@ class APIDocumentMetadataView(generics.RetrieveUpdateDestroyAPIView):
def get_document(self):
if self.request.method == 'GET':
permission_required = permission_document_metadata_view
permission_required = permission_metadata_view
elif self.request.method == 'PUT':
permission_required = permission_document_metadata_edit
permission_required = permission_metadata_edit
elif self.request.method == 'PATCH':
permission_required = permission_document_metadata_edit
permission_required = permission_metadata_edit
elif self.request.method == 'DELETE':
permission_required = permission_document_metadata_remove
permission_required = permission_metadata_remove
document = get_object_or_404(
klass=Document, pk=self.kwargs['document_pk']