Compare commits

...

4 Commits

Author SHA1 Message Date
Roberto Rosario
ebc0a5f449 Update build string
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-10-01 13:32:38 -04:00
Roberto Rosario
415d3bcd2f Bump version to 3.2.8
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-10-01 13:31:40 -04:00
Roberto Rosario
b985f2ef05 Update changelog and release notes
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-10-01 13:30:28 -04:00
Roberto Rosario
15c953815e Improve linking app tests
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-10-01 00:54:10 -04:00
10 changed files with 351 additions and 288 deletions

View File

@@ -1,4 +1,4 @@
3.2.8 (2019-XX-XX) 3.2.8 (2019-10-01)
================== ==================
- Fix error when accessing some API entry points without - Fix error when accessing some API entry points without
being authenticated. being authenticated.

View File

@@ -1 +1 @@
3.2.7 3.2.8

View File

@@ -1,12 +1,21 @@
Version 3.2.8 Version 3.2.8
============= =============
Released: XX, 2019 Released: October 1, 2019
Changes Changes
------- -------
API
^^^
Fix an error when accessing some API entry points without
being authenticated. Accessing API endpoints without being authenticated
will now always return empty results.
Cabinets Cabinets
^^^^^^^^ ^^^^^^^^
@@ -14,26 +23,43 @@ Tweaked the jstree component's appearance to cope with long labels.
Added a scrollbar, reduced the font size, switched to a sans serif font, Added a scrollbar, reduced the font size, switched to a sans serif font,
and reduced padding. Thanks for forum user @briboe for the report. and reduced padding. Thanks for forum user @briboe for the report.
Workflow actions to add and remove documents from cabinets was added.
Other changes
^^^^^^^^^^^^^
- Fix error when accessing some API entry points without Dependencies
being authenticated. ^^^^^^^^^^^^
- Add cabinet add and remove workflow actions.
- Update Django to version 1.11.24. The Django version used was updated to version 1.11.24. The jQuery version
- Update jQuery to version 3.4.1 used was updated to version 3.4.1. Both as fully backwards compatible with
- Add support for deleting the OCR content of a document their previous versions.
or selection of documents.
- Add OCR content deleted event.
- Add missing recursive option to Docker entrypoint OCR
chown. GitLab issue #668. Thanks to John Wice (@brilthor) ^^^
for the report.
- Add support for deleting the parsed content of a document Support was added to delete the content of document's OCR or parsed content.
of selection of documents. Events for both situations was added allowing content deletion to be used
- Add parsed content deleted event. as workflow transition triggers.
- Allow scaling of UI on mobile devices.
- Add Chinese fonts to the Docker image
Docker
^^^^^^
A missing recursive option was added to the Docker entrypoint
command "chown" to change the ownership of files when specifying a custom
UID or GID. Closes GitLab issue #668. Thanks to John Wice (@brilthor)
for the report.
Two fonts were added to the Docker image to support rendering Chinese office
documents. Closes GitLab issue #666. Thanks to javawcy (@javawcy) and forum
user @leoliu for the report and help closing this issue.
Usability
^^^^^^^^^
Descriptions for screenreaders was added via image alt tag. The user interface
will also now allow scaling.
Removals Removals

View File

@@ -1,9 +1,9 @@
from __future__ import unicode_literals from __future__ import unicode_literals
__title__ = 'Mayan EDMS' __title__ = 'Mayan EDMS'
__version__ = '3.2.7' __version__ = '3.2.8'
__build__ = 0x030207 __build__ = 0x030208
__build_string__ = 'v3.2.7_Wed Aug 28 17:31:08 2019 -0400' __build_string__ = 'v3.2.8_Tue Oct 1 13:31:40 2019 -0400'
__django_version__ = '1.11' __django_version__ = '1.11'
__author__ = 'Roberto Rosario' __author__ = 'Roberto Rosario'
__author_email__ = 'roberto.rosario@mayan-edms.com' __author_email__ = 'roberto.rosario@mayan-edms.com'

View File

@@ -73,5 +73,3 @@ class TarGzArchiveClassTestCase(TarArchiveClassTestCase):
class TarBz2ArchiveClassTestCase(TarArchiveClassTestCase): class TarBz2ArchiveClassTestCase(TarArchiveClassTestCase):
archive_path = TEST_TAR_BZ2_FILE_PATH archive_path = TEST_TAR_BZ2_FILE_PATH
cls = TarArchive cls = TarArchive

View File

@@ -3,6 +3,7 @@ from __future__ import unicode_literals
from django import forms from django import forms
from django.urls import reverse from django.urls import reverse
from django.utils.html import format_html_join, mark_safe from django.utils.html import format_html_join, mark_safe
from django.utils.translation import ugettext_lazy as _
def widget_transition_events(transition): def widget_transition_events(transition):

View File

@@ -10,6 +10,14 @@ from .literals import (
) )
class SmartLinkDocumentViewTestMixin(object):
def _request_test_smart_link_document_instances_view(self):
return self.get(
viewname='linking:smart_link_instances_for_document',
kwargs={'pk': self.test_document.pk}
)
class SmartLinkTestMixin(object): class SmartLinkTestMixin(object):
def _create_test_smart_link(self, add_test_document_type=False): def _create_test_smart_link(self, add_test_document_type=False):
self.test_smart_link = SmartLink.objects.create( self.test_smart_link = SmartLink.objects.create(

File diff suppressed because it is too large Load Diff

View File

@@ -14,10 +14,15 @@ from .literals import (
TEST_SMART_LINK_DYNAMIC_LABEL, TEST_SMART_LINK_LABEL_EDITED, TEST_SMART_LINK_DYNAMIC_LABEL, TEST_SMART_LINK_LABEL_EDITED,
TEST_SMART_LINK_LABEL TEST_SMART_LINK_LABEL
) )
from .mixins import SmartLinkTestMixin, SmartLinkViewTestMixin from .mixins import (
SmartLinkDocumentViewTestMixin, SmartLinkTestMixin,
SmartLinkViewTestMixin
)
class SmartLinkViewTestCase(SmartLinkTestMixin, SmartLinkViewTestMixin, GenericViewTestCase): class SmartLinkViewTestCase(
SmartLinkTestMixin, SmartLinkViewTestMixin, GenericViewTestCase
):
def test_smart_link_create_view_no_permission(self): def test_smart_link_create_view_no_permission(self):
response = self._request_test_smart_link_create_view() response = self._request_test_smart_link_create_view()
self.assertEqual(response.status_code, 403) self.assertEqual(response.status_code, 403)
@@ -74,10 +79,15 @@ class SmartLinkViewTestCase(SmartLinkTestMixin, SmartLinkViewTestMixin, GenericV
self.assertEqual(response.status_code, 302) self.assertEqual(response.status_code, 302)
self.test_smart_link.refresh_from_db() self.test_smart_link.refresh_from_db()
self.assertEqual(self.test_smart_link.label, TEST_SMART_LINK_LABEL_EDITED) self.assertEqual(
self.test_smart_link.label, TEST_SMART_LINK_LABEL_EDITED
)
class SmartLinkDocumentViewTestCase(SmartLinkTestMixin, GenericDocumentViewTestCase): class SmartLinkDocumentViewTestCase(
SmartLinkTestMixin, SmartLinkDocumentViewTestMixin,
GenericDocumentViewTestCase
):
def setUp(self): def setUp(self):
super(SmartLinkDocumentViewTestCase, self).setUp() super(SmartLinkDocumentViewTestCase, self).setUp()
self._create_test_smart_link() self._create_test_smart_link()
@@ -89,12 +99,6 @@ class SmartLinkDocumentViewTestCase(SmartLinkTestMixin, GenericDocumentViewTestC
) )
self.test_smart_link_2.document_types.add(self.test_document_type) self.test_smart_link_2.document_types.add(self.test_document_type)
def _request_test_smart_link_document_instances_view(self):
return self.get(
viewname='linking:smart_link_instances_for_document',
kwargs={'pk': self.test_document.pk}
)
def test_document_smart_link_list_view_no_permission(self): def test_document_smart_link_list_view_no_permission(self):
self.grant_access( self.grant_access(
obj=self.test_document, permission=permission_document_view obj=self.test_document, permission=permission_document_view

View File

@@ -56,7 +56,7 @@ def find_packages(directory):
return packages return packages
install_requires = """ install_requires = """
django==1.11.22 django==1.11.24
Pillow==6.0.0 Pillow==6.0.0
PyPDF2==1.26.0 PyPDF2==1.26.0
PyYAML==5.1.1 PyYAML==5.1.1