diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index 65a637072a..b7293b7c57 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -9,8 +9,7 @@ from rest_framework import generics from mayan.apps.acls.models import AccessControlList from mayan.apps.documents.models import Document, DocumentType from mayan.apps.documents.permissions import permission_document_type_view -from mayan.apps.rest_api.filters import MayanObjectPermissionsFilter -from mayan.apps.rest_api.permissions import MayanPermission +from mayan.apps.rest_api.viewsets import MayanAPIModelViewSet from .literals import WORKFLOW_IMAGE_TASK_TIMEOUT from .models import Workflow @@ -19,17 +18,35 @@ from .permissions import ( permission_workflow_edit, permission_workflow_view ) from .serializers import ( - NewWorkflowDocumentTypeSerializer, WorkflowDocumentTypeSerializer, - WorkflowInstanceLogEntrySerializer, WorkflowInstanceSerializer, - WorkflowSerializer, WorkflowStateSerializer, WorkflowTransitionSerializer, - WritableWorkflowInstanceLogEntrySerializer, WritableWorkflowSerializer, - WritableWorkflowTransitionSerializer + WorkflowSerializer + + #NewWorkflowDocumentTypeSerializer, WorkflowDocumentTypeSerializer, + #WorkflowInstanceLogEntrySerializer, WorkflowInstanceSerializer, + #, WorkflowStateSerializer, WorkflowTransitionSerializer, + #WritableWorkflowInstanceLogEntrySerializer, WritableWorkflowSerializer, + #WritableWorkflowTransitionSerializer ) from .settings import settings_workflow_image_cache_time from .storages import storage_workflowimagecache from .tasks import task_generate_workflow_image +class WorkflowAPIViewSet(MayanAPIModelViewSet): + lookup_url_kwarg = 'workflow_id' + object_permission_map = { + 'destroy': permission_workflow_delete, + 'list': permission_workflow_view, + 'partial_update': permission_workflow_edit, + 'retrieve': permission_workflow_view, + 'update': permission_workflow_edit, + } + queryset = Workflow.objects.all() + serializer_class = WorkflowSerializer + view_permission_map = { + 'create': permission_workflow_create + } + +''' class APIDocumentTypeWorkflowListView(generics.ListAPIView): """ get: Returns a list of all the document type workflows. @@ -566,3 +583,4 @@ class APIWorkflowInstanceLogEntryListView(generics.ListCreateAPIView): ) return workflow +''' diff --git a/mayan/apps/document_states/serializers.py b/mayan/apps/document_states/serializers.py index 8d89577c5e..a8b7ccc917 100644 --- a/mayan/apps/document_states/serializers.py +++ b/mayan/apps/document_states/serializers.py @@ -17,6 +17,35 @@ from .models import ( ) +class WorkflowSerializer(serializers.HyperlinkedModelSerializer): + #document_types_url = serializers.HyperlinkedIdentityField( + # view_name='rest_api:workflow-document-type-list' + #) + #image_url = serializers.SerializerMethodField() + #states = WorkflowStateSerializer(many=True, required=False) + #transitions = WorkflowTransitionSerializer(many=True, required=False) + + class Meta: + #extra_kwargs = { + # 'url': {'view_name': 'rest_api:workflow-detail'}, + #} + fields = ( + #'document_types_url', 'image_url', 'id', 'internal_name', 'label', + 'id', 'internal_name', 'label', + #'states', 'transitions', 'url' + #'states', 'transitions', 'url' + ) + model = Workflow + + #def get_image_url(self, instance): + # return reverse( + # viewname='rest_api:workflow-image', kwargs={ + # 'workflow_pk': instance.pk + # }, request=self.context['request'], format=self.context['format'] + # ) + +""" + class NewWorkflowDocumentTypeSerializer(serializers.Serializer): document_type_pk = serializers.IntegerField( help_text=_('Primary key of the document type to be added.') @@ -170,30 +199,6 @@ class WritableWorkflowTransitionSerializer(serializers.ModelSerializer): ) -class WorkflowSerializer(serializers.HyperlinkedModelSerializer): - document_types_url = serializers.HyperlinkedIdentityField( - view_name='rest_api:workflow-document-type-list' - ) - image_url = serializers.SerializerMethodField() - states = WorkflowStateSerializer(many=True, required=False) - transitions = WorkflowTransitionSerializer(many=True, required=False) - - class Meta: - extra_kwargs = { - 'url': {'view_name': 'rest_api:workflow-detail'}, - } - fields = ( - 'document_types_url', 'image_url', 'id', 'internal_name', 'label', - 'states', 'transitions', 'url' - ) - model = Workflow - - def get_image_url(self, instance): - return reverse( - viewname='rest_api:workflow-image', kwargs={ - 'workflow_pk': instance.pk - }, request=self.context['request'], format=self.context['format'] - ) class WorkflowInstanceLogEntrySerializer(serializers.ModelSerializer): @@ -360,3 +365,4 @@ class WritableWorkflowInstanceLogEntrySerializer(serializers.ModelSerializer): raise ValidationError(exception) return attrs +""" diff --git a/mayan/apps/document_states/tests/literals.py b/mayan/apps/document_states/tests/literals.py index 870cd1817e..3fa616840d 100644 --- a/mayan/apps/document_states/tests/literals.py +++ b/mayan/apps/document_states/tests/literals.py @@ -3,8 +3,9 @@ from __future__ import unicode_literals TEST_INDEX_LABEL = 'test workflow index' TEST_WORKFLOW_LABEL = 'test workflow label' -TEST_WORKFLOW_INTERNAL_NAME = 'test_workflow_name' TEST_WORKFLOW_LABEL_EDITED = 'test workflow label edited' +TEST_WORKFLOW_INTERNAL_NAME = 'test_workflow_name' +TEST_WORKFLOW_INTERNAL_NAME_EDITED = 'test_workflow_name_edited' TEST_WORKFLOW_INITIAL_STATE_LABEL = 'test initial state' TEST_WORKFLOW_INITIAL_STATE_COMPLETION = 33 TEST_WORKFLOW_INSTANCE_LOG_ENTRY_COMMENT = 'test workflow instance log entry comment' diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index 4a83a7de09..da103d3e19 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -1,5 +1,7 @@ from __future__ import absolute_import, unicode_literals +import copy + from rest_framework import status from mayan.apps.documents.models import DocumentType @@ -19,60 +21,189 @@ from ..permissions import ( from .literals import ( TEST_WORKFLOW_INITIAL_STATE_COMPLETION, TEST_WORKFLOW_INITIAL_STATE_LABEL, TEST_WORKFLOW_INSTANCE_LOG_ENTRY_COMMENT, TEST_WORKFLOW_INTERNAL_NAME, - TEST_WORKFLOW_LABEL, TEST_WORKFLOW_LABEL_EDITED, - TEST_WORKFLOW_STATE_COMPLETION, TEST_WORKFLOW_STATE_LABEL, - TEST_WORKFLOW_STATE_LABEL_EDITED, TEST_WORKFLOW_TRANSITION_LABEL, - TEST_WORKFLOW_TRANSITION_LABEL_EDITED + TEST_WORKFLOW_INTERNAL_NAME_EDITED, TEST_WORKFLOW_LABEL, + TEST_WORKFLOW_LABEL_EDITED, TEST_WORKFLOW_STATE_COMPLETION, + TEST_WORKFLOW_STATE_LABEL, TEST_WORKFLOW_STATE_LABEL_EDITED, + TEST_WORKFLOW_TRANSITION_LABEL, TEST_WORKFLOW_TRANSITION_LABEL_EDITED ) -class WorkflowAPITestCase(BaseAPITestCase): - def setUp(self): - super(WorkflowAPITestCase, self).setUp() - self.login_user() - self.document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE_LABEL - ) - with open(TEST_SMALL_DOCUMENT_PATH, mode='rb') as file_object: - self.document = self.document_type.new_document( - file_object=file_object - ) +class WorkflowAPIViewTestCase(BaseAPITestCase): + #def setUp(self): + # super(WorkflowAPIViewTestCase, self).setUp() - def tearDown(self): - if hasattr(self, 'document_type'): - self.document_type.delete() - super(WorkflowAPITestCase, self).tearDown() - - def _create_workflow(self): - return Workflow.objects.create( - label=TEST_WORKFLOW_LABEL, - internal_name=TEST_WORKFLOW_INTERNAL_NAME - ) - - def _request_workflow_create_view(self): + def _request_workflow_create_api_view(self): return self.post( viewname='rest_api:workflow-list', data={ + 'internal_name': TEST_WORKFLOW_INTERNAL_NAME, 'label': TEST_WORKFLOW_LABEL } ) - def test_workflow_create_view_no_permission(self): - response = self._request_workflow_create_view() + def test_workflow_create_api_view_no_permission(self): + response = self._request_workflow_create_api_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) + self.assertEqual(Workflow.objects.count(), 0) - def test_workflow_create_view_with_permission(self): + def test_workflow_create_api_view_with_permission(self): self.grant_permission(permission=permission_workflow_create) - response = self._request_workflow_create_view() - self.assertEqual(response.status_code, status.HTTP_201_CREATED) - self.assertEqual(Workflow.objects.count(), 1) + response = self._request_workflow_create_api_view() + self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertEqual( response.data['label'], TEST_WORKFLOW_LABEL ) + self.assertEqual(Workflow.objects.count(), 1) + + def _create_test_workflow(self): + self.test_workflow = Workflow.objects.create( + label=TEST_WORKFLOW_LABEL, + internal_name=TEST_WORKFLOW_INTERNAL_NAME + ) + + def _request_workflow_delete_api_view(self): + return self.delete( + viewname='rest_api:workflow-detail', kwargs={ + 'workflow_id': self.test_workflow.pk, + } + ) + + def test_workflow_delete_api_view_no_permission(self): + self._create_test_workflow() + + response = self._request_workflow_delete_api_view() + self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) + + self.assertEqual(Workflow.objects.count(), 1) + + def test_workflow_delete_api_view_with_access(self): + self.expected_content_type = None + + self._create_test_workflow() + self.grant_access( + obj=self.test_workflow, permission=permission_workflow_delete + ) + + response = self._request_workflow_delete_api_view() + self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) + + self.assertEqual(Workflow.objects.count(), 0) + + + def _request_workflow_detail_api_view(self): + return self.get( + api_viewname='rest_api:workflow-detail', kwargs={ + 'workflow_id': self.test_workflow.pk, + } + ) + + def test_workflow_detail_api_view_no_permission(self): + self._create_test_workflow() + + response = self._request_workflow_detail_api_view() + self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) + + self.assertFalse('label' in response.json()) + + def test_workflow_detail_api_view_with_access(self): + self._create_test_workflow() + self.grant_access( + obj=self.test_workflow, permission=permission_workflow_view + ) + + response = self._request_workflow_detail_api_view() + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(response.json()['label'], self.test_workflow.label) + + + + def _request_workflow_edit_patch_api_view(self): + return self.patch( + viewname='rest_api:workflow-detail', kwargs={ + 'workflow_id': self.test_workflow.pk, + }, data={ + 'label': TEST_WORKFLOW_LABEL_EDITED, + 'internal_name': TEST_WORKFLOW_INTERNAL_NAME_EDITED + } + ) + + def test_workflow_edit_patch_api_view_no_permission(self): + self._create_test_workflow() + test_workflow = copy.copy(self.test_workflow) + + response = self._request_workflow_edit_patch_api_view() + self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) + + self.test_workflow.refresh_from_db() + self.assertEqual(self.test_workflow.label, test_workflow.label) + self.assertEqual( + self.test_workflow.internal_name, test_workflow.internal_name + ) + + def test_workflow_edit_patch_api_view_with_access(self): + self._create_test_workflow() + test_workflow = copy.copy(self.test_workflow) + self.grant_access( + obj=self.test_workflow, permission=permission_workflow_edit + ) + + response = self._request_workflow_edit_patch_api_view() + self.assertEqual(response.status_code, status.HTTP_200_OK) + + self.test_workflow.refresh_from_db() + self.assertNotEqual(self.test_workflow.label, test_workflow.label) + self.assertNotEqual( + self.test_workflow.internal_name, test_workflow.internal_name + ) + + def _request_workflow_edit_put_api_view(self): + return self.put( + viewname='rest_api:workflow-detail', kwargs={ + 'workflow_id': self.test_workflow.pk, + }, data={ + 'label': TEST_WORKFLOW_LABEL_EDITED, + 'internal_name': TEST_WORKFLOW_INTERNAL_NAME_EDITED + } + ) + + def test_workflow_edit_put_api_view_no_permission(self): + self._create_test_workflow() + test_workflow = copy.copy(self.test_workflow) + + response = self._request_workflow_edit_put_api_view() + self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) + + self.test_workflow.refresh_from_db() + self.assertEqual(self.test_workflow.label, test_workflow.label) + self.assertEqual( + self.test_workflow.internal_name, test_workflow.internal_name + ) + + def test_workflow_edit_put_api_view_with_access(self): + self._create_test_workflow() + test_workflow = copy.copy(self.test_workflow) + self.grant_access( + obj=self.test_workflow, permission=permission_workflow_edit + ) + + response = self._request_workflow_edit_put_api_view() + self.assertEqual(response.status_code, status.HTTP_200_OK) + + self.test_workflow.refresh_from_db() + self.assertNotEqual(self.test_workflow.label, test_workflow.label) + self.assertNotEqual( + self.test_workflow.internal_name, test_workflow.internal_name + ) + + + + """ + + def _request_workflow_create_view_with_document_type(self): return self.post( viewname='rest_api:workflow-list', data={ @@ -97,43 +228,7 @@ class WorkflowAPITestCase(BaseAPITestCase): ) self.assertEqual(response.data['id'], workflow.pk) - def _request_workflow_delete_view(self): - return self.delete( - viewname='rest_api:workflow-detail', args=(self.workflow.pk,) - ) - def test_workflow_delete_view_no_permission(self): - self.workflow = self._create_workflow() - response = self._request_workflow_delete_view() - self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) - self.assertEqual(Workflow.objects.count(), 1) - - def test_workflow_delete_view_with_permission(self): - self.workflow = self._create_workflow() - self.grant_access( - permission=permission_workflow_delete, obj=self.workflow - ) - response = self._request_workflow_delete_view() - self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) - self.assertEqual(Workflow.objects.count(), 0) - - def _request_workflow_detail_view(self): - return self.get( - viewname='rest_api:workflow-detail', args=(self.workflow.pk,) - ) - - def test_workflow_detail_view_no_access(self): - self.workflow = self._create_workflow() - response = self._request_workflow_detail_view() - self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) - self.assertFalse('label' in response.data) - - def test_workflow_detail_view_with_access(self): - self.workflow = self._create_workflow() - self.grant_access(permission=permission_workflow_view, obj=self.workflow) - response = self._request_workflow_detail_view() - self.assertEqual(response.status_code, status.HTTP_200_OK) - self.assertEqual(response.data['label'], self.workflow.label) def _request_workflow_document_type_list_create_view(self): return self.post( @@ -144,13 +239,13 @@ class WorkflowAPITestCase(BaseAPITestCase): ) def test_workflow_document_type_create_view_no_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() response = self._request_workflow_document_type_list_create_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) self.assertEqual(self.workflow.document_types.count(), 0) def test_workflow_document_type_create_view_with_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.grant_access(permission=permission_workflow_edit, obj=self.workflow) response = self._request_workflow_document_type_list_create_view() self.assertEqual(response.status_code, status.HTTP_201_CREATED) @@ -165,7 +260,7 @@ class WorkflowAPITestCase(BaseAPITestCase): ) def test_workflow_document_type_delete_view_no_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) response = self._request_workflow_document_type_delete_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) @@ -174,7 +269,7 @@ class WorkflowAPITestCase(BaseAPITestCase): self.assertEqual(self.workflow.document_types.count(), 1) def test_workflow_document_type_delete_view_with_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) self.grant_access(permission=permission_workflow_edit, obj=self.workflow) response = self._request_workflow_document_type_delete_view() @@ -190,14 +285,14 @@ class WorkflowAPITestCase(BaseAPITestCase): ) def test_workflow_document_type_detail_view_no_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) response = self._request_workflow_document_type_detail_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) self.assertFalse('label' in response.data) def test_workflow_document_type_detail_view_with_workflow_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) self.grant_access(permission=permission_workflow_view, obj=self.workflow) response = self._request_workflow_document_type_detail_view() @@ -205,7 +300,7 @@ class WorkflowAPITestCase(BaseAPITestCase): self.assertFalse('label' in response.data) def test_workflow_document_type_detail_view_with_document_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) self.grant_access(permission=permission_document_type_view, obj=self.document_type) response = self._request_workflow_document_type_detail_view() @@ -213,7 +308,7 @@ class WorkflowAPITestCase(BaseAPITestCase): self.assertFalse('label' in response.data) def test_workflow_document_type_detail_view_with_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) self.grant_access(permission=permission_document_type_view, obj=self.document_type) self.grant_access(permission=permission_workflow_view, obj=self.workflow) @@ -229,13 +324,13 @@ class WorkflowAPITestCase(BaseAPITestCase): ) def test_workflow_document_type_list_view_no_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) response = self._request_workflow_document_type_list_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_workflow_document_type_list_view_with_workflow_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) self.grant_access(permission=permission_workflow_view, obj=self.workflow) response = self._request_workflow_document_type_list_view() @@ -243,14 +338,14 @@ class WorkflowAPITestCase(BaseAPITestCase): self.assertEqual(response.data['count'], 0) def test_workflow_document_type_list_view_with_document_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) self.grant_access(permission=permission_document_type_view, obj=self.document_type) response = self._request_workflow_document_type_list_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_workflow_document_type_list_view_with_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) self.grant_access(permission=permission_document_type_view, obj=self.document_type) self.grant_access(permission=permission_workflow_view, obj=self.workflow) @@ -262,38 +357,18 @@ class WorkflowAPITestCase(BaseAPITestCase): return self.get(viewname='rest_api:workflow-list') def test_workflow_list_view_no_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() response = self._request_workflow_list_view() self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data['count'], 0) def test_workflow_list_view_with_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.grant_access(permission=permission_workflow_view, obj=self.workflow) response = self._request_workflow_list_view() self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data['results'][0]['label'], self.workflow.label) - def _request_workflow_edit_view_via_patch(self): - return self.patch( - viewname='rest_api:workflow-detail', args=(self.workflow.pk,), - data={'label': TEST_WORKFLOW_LABEL_EDITED} - ) - - def test_workflow_patch_view_no_access(self): - self.workflow = self._create_workflow() - response = self._request_workflow_edit_view_via_patch() - self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) - self.workflow.refresh_from_db() - self.assertEqual(self.workflow.label, TEST_WORKFLOW_LABEL) - - def test_workflow_patch_view_with_access(self): - self.workflow = self._create_workflow() - self.grant_access(permission=permission_workflow_edit, obj=self.workflow) - response = self._request_workflow_edit_view_via_patch() - self.assertEqual(response.status_code, status.HTTP_200_OK) - self.workflow.refresh_from_db() - self.assertEqual(self.workflow.label, TEST_WORKFLOW_LABEL_EDITED) def _request_workflow_edit_view_via_put(self): return self.put( @@ -302,14 +377,14 @@ class WorkflowAPITestCase(BaseAPITestCase): ) def test_workflow_put_view_no_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() response = self._request_workflow_edit_view_via_put() self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) self.workflow.refresh_from_db() self.assertEqual(self.workflow.label, TEST_WORKFLOW_LABEL) def test_workflow_put_view_with_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.grant_access(permission=permission_workflow_edit, obj=self.workflow) response = self._request_workflow_edit_view_via_put() self.assertEqual(response.status_code, status.HTTP_200_OK) @@ -323,14 +398,14 @@ class WorkflowAPITestCase(BaseAPITestCase): ) def test_document_type_workflow_list_no_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) response = self._request_document_type_workflow_list_view() self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) self.assertFalse('results' in response.data) def test_document_type_workflow_list_with_workflow_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) self.grant_access(permission=permission_workflow_view, obj=self.workflow) response = self._request_document_type_workflow_list_view() @@ -338,7 +413,7 @@ class WorkflowAPITestCase(BaseAPITestCase): self.assertFalse('results' in response.data) def test_document_type_workflow_list_with_document_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) self.grant_access( permission=permission_document_type_view, obj=self.document_type @@ -348,7 +423,7 @@ class WorkflowAPITestCase(BaseAPITestCase): self.assertEqual(response.data['count'], 0) def test_document_type_workflow_list_with_access(self): - self.workflow = self._create_workflow() + self._create_test_workflow() self.workflow.document_types.add(self.document_type) self.grant_access(permission=permission_workflow_view, obj=self.workflow) self.grant_access( @@ -965,3 +1040,4 @@ class DocumentWorkflowsAPITestCase(BaseAPITestCase): response.data['results'][0]['transition']['label'], TEST_WORKFLOW_TRANSITION_LABEL ) + """ diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index d7447a08f7..026efd8ee9 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -2,14 +2,7 @@ from __future__ import unicode_literals from django.conf.urls import url -from .api_views import ( - APIDocumentTypeWorkflowListView, APIWorkflowDocumentTypeList, - APIWorkflowDocumentTypeView, APIWorkflowImageView, - APIWorkflowInstanceListView, APIWorkflowInstanceLogEntryListView, - APIWorkflowInstanceView, APIWorkflowListView, APIWorkflowStateListView, - APIWorkflowStateView, APIWorkflowTransitionListView, - APIWorkflowTransitionView, APIWorkflowView -) +from .api_views import WorkflowAPIViewSet from .views import ( DocumentWorkflowInstanceListView, ToolLaunchAllWorkflows, WorkflowCreateView, WorkflowDeleteView, WorkflowDocumentTypesView, @@ -181,6 +174,23 @@ urlpatterns = [ ) ] +api_router_entries = ( + { + 'prefix': r'workflows', 'viewset': WorkflowAPIViewSet, + 'basename': 'workflow' + }, + #{ + # 'prefix': r'metadata_types/(?P[^/.]+)/document_type_relations', + # 'viewset': MetadataTypeDocumentTypeRelationAPIViewSet, + # 'basename': 'metadata_type-document_type_relation' + #}, + #{ + # 'prefix': r'documents/(?P[^/.]+)/metadata', + # 'viewset': DocumentMetadataAPIViewSet, 'basename': 'document-metadata' + #} +) + +''' api_urls = [ url( regex=r'^workflows/$', name='workflow-list', @@ -244,3 +254,4 @@ api_urls = [ view=APIDocumentTypeWorkflowListView.as_view() ) ] +'''