Finish conversion of the folders app to organizations.
This commit is contained in:
@@ -55,7 +55,7 @@ class APIFolderListView(generics.ListCreateAPIView):
|
||||
mayan_object_permissions = {'GET': (permission_folder_view,)}
|
||||
mayan_view_permissions = {'POST': (permission_folder_create,)}
|
||||
permission_classes = (MayanPermission,)
|
||||
queryset = Folder.objects.all()
|
||||
queryset = Folder.on_organization.all()
|
||||
|
||||
def get_serializer_class(self):
|
||||
if self.request.method == 'GET':
|
||||
@@ -85,7 +85,7 @@ class APIFolderView(generics.RetrieveUpdateDestroyAPIView):
|
||||
'DELETE': (permission_folder_delete,)
|
||||
}
|
||||
permission_classes = (MayanPermission,)
|
||||
queryset = Folder.objects.all()
|
||||
queryset = Folder.on_organization.all()
|
||||
serializer_class = FolderSerializer
|
||||
|
||||
def delete(self, *args, **kwargs):
|
||||
|
||||
@@ -60,7 +60,9 @@ class NewFolderDocumentSerializer(serializers.Serializer):
|
||||
|
||||
def create(self, validated_data):
|
||||
try:
|
||||
document = Document.objects.get(pk=validated_data['document'])
|
||||
document = Document.on_organization.get(
|
||||
pk=validated_data['document']
|
||||
)
|
||||
validated_data['folder'].documents.add(document)
|
||||
except Exception as exception:
|
||||
raise ValidationError(exception)
|
||||
|
||||
@@ -37,40 +37,40 @@ class FolderAPITestCase(APITestCase):
|
||||
reverse('rest_api:folder-list'), {'label': TEST_FOLDER_LABEL}
|
||||
)
|
||||
|
||||
folder = Folder.objects.first()
|
||||
folder = Folder.on_organization.first()
|
||||
|
||||
self.assertEqual(response.data['id'], folder.pk)
|
||||
self.assertEqual(response.data['label'], TEST_FOLDER_LABEL)
|
||||
|
||||
self.assertEqual(Folder.objects.count(), 1)
|
||||
self.assertEqual(Folder.on_organization.count(), 1)
|
||||
self.assertEqual(folder.label, TEST_FOLDER_LABEL)
|
||||
|
||||
def test_folder_delete(self):
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
self.client.delete(
|
||||
reverse('rest_api:folder-detail', args=(folder.pk,))
|
||||
)
|
||||
|
||||
self.assertEqual(Folder.objects.count(), 0)
|
||||
self.assertEqual(Folder.on_organization.count(), 0)
|
||||
|
||||
def test_folder_edit(self):
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
self.client.put(
|
||||
reverse('rest_api:folder-detail', args=(folder.pk,)),
|
||||
{'label': TEST_FOLDER_EDITED_LABEL}
|
||||
)
|
||||
|
||||
folder = Folder.objects.first()
|
||||
folder = Folder.on_organization.first()
|
||||
|
||||
self.assertEqual(folder.label, TEST_FOLDER_EDITED_LABEL)
|
||||
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
def test_folder_add_document(self):
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
document_type = DocumentType.objects.create(
|
||||
document_type = DocumentType.on_organization.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
|
||||
@@ -88,9 +88,9 @@ class FolderAPITestCase(APITestCase):
|
||||
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
def test_folder_remove_document(self):
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
document_type = DocumentType.objects.create(
|
||||
document_type = DocumentType.on_organization.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ class FolderTestCase(TestCase):
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
self.assertEqual(Folder.on_organization.all().count(), 1)
|
||||
self.assertEqual(list(Folder.objects.all()), [folder])
|
||||
self.assertEqual(list(Folder.on_organization.all()), [folder])
|
||||
|
||||
def test_addition_of_documents(self):
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
@@ -26,7 +26,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
)
|
||||
|
||||
self.assertEquals(response.status_code, 403)
|
||||
self.assertEqual(Folder.objects.count(), 0)
|
||||
self.assertEqual(Folder.on_organization.count(), 0)
|
||||
|
||||
def test_folder_create_view_with_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
@@ -41,11 +41,13 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
}, follow=True
|
||||
)
|
||||
self.assertContains(response, text='created', status_code=200)
|
||||
self.assertEqual(Folder.objects.count(), 1)
|
||||
self.assertEqual(Folder.objects.first().label, TEST_FOLDER_LABEL)
|
||||
self.assertEqual(Folder.on_organization.count(), 1)
|
||||
self.assertEqual(
|
||||
Folder.on_organization.first().label, TEST_FOLDER_LABEL
|
||||
)
|
||||
|
||||
def test_folder_create_duplicate_view_with_permission(self):
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
|
||||
@@ -60,17 +62,17 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
)
|
||||
|
||||
self.assertContains(response, text='exists', status_code=200)
|
||||
self.assertEqual(Folder.objects.count(), 1)
|
||||
self.assertEqual(Folder.objects.first().pk, folder.pk)
|
||||
self.assertEqual(Folder.on_organization.count(), 1)
|
||||
self.assertEqual(Folder.on_organization.first().pk, folder.pk)
|
||||
|
||||
def test_folder_delete_view_no_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
response = self.post('folders:folder_delete', args=(folder.pk,))
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertEqual(Folder.objects.count(), 1)
|
||||
self.assertEqual(Folder.on_organization.count(), 1)
|
||||
|
||||
def test_folder_delete_view_with_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
@@ -79,19 +81,19 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
permission_folder_delete.stored_permission
|
||||
)
|
||||
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
response = self.post(
|
||||
'folders:folder_delete', args=(folder.pk,), follow=True
|
||||
)
|
||||
|
||||
self.assertContains(response, text='deleted', status_code=200)
|
||||
self.assertEqual(Folder.objects.count(), 0)
|
||||
self.assertEqual(Folder.on_organization.count(), 0)
|
||||
|
||||
def test_folder_edit_view_no_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
response = self.post(
|
||||
'folders:folder_edit', args=(folder.pk,), data={
|
||||
@@ -99,7 +101,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
}
|
||||
)
|
||||
self.assertEqual(response.status_code, 403)
|
||||
folder = Folder.objects.get(pk=folder.pk)
|
||||
folder = Folder.on_organization.get(pk=folder.pk)
|
||||
self.assertEqual(folder.label, TEST_FOLDER_LABEL)
|
||||
|
||||
def test_folder_edit_view_with_permission(self):
|
||||
@@ -109,7 +111,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
permission_folder_edit.stored_permission
|
||||
)
|
||||
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
response = self.post(
|
||||
'folders:folder_edit', args=(folder.pk,), data={
|
||||
@@ -117,7 +119,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
}, follow=True
|
||||
)
|
||||
|
||||
folder = Folder.objects.get(pk=folder.pk)
|
||||
folder = Folder.on_organization.get(pk=folder.pk)
|
||||
self.assertContains(response, text='update', status_code=200)
|
||||
self.assertEqual(folder.label, TEST_FOLDER_EDITED_LABEL)
|
||||
|
||||
@@ -126,7 +128,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
|
||||
self.role.permissions.add(permission_folder_view.stored_permission)
|
||||
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
response = self.post(
|
||||
'folders:folder_add_document', args=(self.document.pk,), data={
|
||||
@@ -150,7 +152,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
permission_document_view.stored_permission
|
||||
)
|
||||
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
response = self.post(
|
||||
'folders:folder_add_document', args=(self.document.pk,), data={
|
||||
@@ -158,7 +160,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
}, follow=True
|
||||
)
|
||||
|
||||
folder = Folder.objects.get(pk=folder.pk)
|
||||
folder = Folder.on_organization.get(pk=folder.pk)
|
||||
self.assertContains(response, text='added', status_code=200)
|
||||
self.assertEqual(folder.documents.count(), 1)
|
||||
self.assertQuerysetEqual(
|
||||
@@ -170,7 +172,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
|
||||
self.role.permissions.add(permission_folder_view.stored_permission)
|
||||
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
response = self.post(
|
||||
'folders:folder_add_multiple_documents', data={
|
||||
@@ -190,7 +192,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
permission_folder_add_document.stored_permission
|
||||
)
|
||||
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
response = self.post(
|
||||
'folders:folder_add_multiple_documents', data={
|
||||
@@ -198,7 +200,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
}, follow=True
|
||||
)
|
||||
|
||||
folder = Folder.objects.get(pk=folder.pk)
|
||||
folder = Folder.on_organization.get(pk=folder.pk)
|
||||
self.assertContains(response, text='added', status_code=200)
|
||||
self.assertEqual(folder.documents.count(), 1)
|
||||
self.assertQuerysetEqual(
|
||||
@@ -208,7 +210,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
def test_folder_remove_document_view_no_permission(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
folder.documents.add(self.document)
|
||||
|
||||
@@ -223,7 +225,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
folder = Folder.objects.get(pk=folder.pk)
|
||||
folder = Folder.on_organization.get(pk=folder.pk)
|
||||
self.assertEqual(folder.documents.count(), 1)
|
||||
|
||||
def test_folder_remove_document_view_with_permission(self):
|
||||
@@ -233,7 +235,7 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
permission_folder_remove_document.stored_permission
|
||||
)
|
||||
|
||||
folder = Folder.objects.create(label=TEST_FOLDER_LABEL)
|
||||
folder = Folder.on_organization.create(label=TEST_FOLDER_LABEL)
|
||||
|
||||
folder.documents.add(self.document)
|
||||
self.assertEqual(folder.documents.count(), 1)
|
||||
@@ -245,6 +247,6 @@ class FolderViewTestCase(GenericDocumentViewTestCase):
|
||||
}, follow=True
|
||||
)
|
||||
|
||||
folder = Folder.objects.get(pk=folder.pk)
|
||||
folder = Folder.on_organization.get(pk=folder.pk)
|
||||
self.assertContains(response, text='removed', status_code=200)
|
||||
self.assertEqual(folder.documents.count(), 0)
|
||||
|
||||
@@ -39,7 +39,7 @@ class FolderCreateView(SingleObjectCreateView):
|
||||
|
||||
def form_valid(self, form):
|
||||
try:
|
||||
Folder.objects.get(label=form.cleaned_data['label'])
|
||||
Folder.on_organization.get(label=form.cleaned_data['label'])
|
||||
except Folder.DoesNotExist:
|
||||
instance = form.save(commit=False)
|
||||
instance.user = self.request.user
|
||||
@@ -128,7 +128,7 @@ class FolderListView(SingleObjectListView):
|
||||
class DocumentFolderListView(FolderListView):
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
self.document = get_object_or_404(
|
||||
Document.objects.filter(document_type__organization__id=settings.ORGANIZATION_ID), pk=self.kwargs['pk']
|
||||
Document.on_organization, pk=self.kwargs['pk']
|
||||
)
|
||||
|
||||
try:
|
||||
@@ -154,7 +154,7 @@ class DocumentFolderListView(FolderListView):
|
||||
|
||||
|
||||
def folder_add_document(request, document_id=None, document_id_list=None):
|
||||
queryset = Document.objects.filter(document_type__organization__id=settings.ORGANIZATION_ID)
|
||||
queryset = Document.on_organization.all()
|
||||
|
||||
if document_id:
|
||||
queryset = queryset.filter(pk=document_id)
|
||||
@@ -243,9 +243,9 @@ def folder_document_remove(request, folder_id, document_id=None, document_id_lis
|
||||
folder = get_object_or_404(Folder.on_organization, pk=folder_id)
|
||||
|
||||
if document_id:
|
||||
queryset = Document.objects.filter(pk=document_id)
|
||||
queryset = Document.on_organization.filter(pk=document_id)
|
||||
elif document_id_list:
|
||||
queryset = Document.objects.filter(pk__in=document_id_list)
|
||||
queryset = Document.on_organization.filter(pk__in=document_id_list)
|
||||
|
||||
if not queryset:
|
||||
messages.error(request, _('Must provide at least one folder document.'))
|
||||
|
||||
Reference in New Issue
Block a user