Commit Graph

7235 Commits

Author SHA1 Message Date
Roberto Rosario
7aa4b480d7 Fix failing ACL test
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-16 21:55:47 -04:00
Roberto Rosario
490bbee81e Fix metadata wizard step
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-16 21:55:21 -04:00
Roberto Rosario
5850ea99d4 Add workflow state API views
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-16 15:10:42 -04:00
Roberto Rosario
952380502b Complete basic workflow CRUD API views
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-15 19:43:54 -04:00
Roberto Rosario
97c9cfda6a Start workflow app API refactor
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-15 19:29:39 -04:00
Roberto Rosario
c152156a11 Refactor metadata app API
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-15 04:49:51 -04:00
Roberto Rosario
0c312b343e Unify BaseAPITestCase with GenericViewTestCase
Make BaseAPITestCase a subclass of GenericViewTestCase.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-15 03:04:17 -04:00
Roberto Rosario
7e141c1d04 Add FilteredPrimaryKeyRelatedField
FilteredPrimaryKeyRelatedField is a subclass of PrimaryKeyRelatedField
that filters its queryset by a permission.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-15 03:03:06 -04:00
Roberto Rosario
50d4aa0e22 Allow disabling test's expected_content_type
Setting expected_content_type to None will now disable
the reponse HTTP content type checking. Added
to allow API tests to be a subclass of the test view test
case and support all the mixins without having to declare
them separately.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-15 02:56:34 -04:00
Roberto Rosario
bf733be4c5 Display full trace during app loading exceptions
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-15 02:55:27 -04:00
Roberto Rosario
da2ff0bdd8 Allowing adding an additional test permission
For tests that required using two test permission, like
the tests for .restrict_queryset_by_accesses().

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-05 20:32:31 -04:00
Roberto Rosario
4b444a75cc Add support for multi access filtering
This change allows filtering a queryset by multiple permission
following a logic operator to define the relationship.

Example: In order to access an instance of MetadataTypeDocumentType
the document type view and metadata type view permissions are
required. The computation for this access control can now be
coded using .restrict_queryset_by_accesses. Custom permission
checking in the view is no longer required.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-05 20:30:26 -04:00
Roberto Rosario
378511aea3 Finish fixing failing ACL app tests
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-04 16:20:12 -04:00
Roberto Rosario
2a1e060907 TestModelMixin: Perform stateless model creation
Don't delete test models at the end of the test case.
Failed test cases don't execute the tearDown() method.
Instead perform model registry cleanup before creating
any new test model.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-04 16:18:39 -04:00
Roberto Rosario
2cfd4a9095 Add new ACL app API tests
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-03 20:02:36 -04:00
Roberto Rosario
711a28dccf Test models: Clear ContentType cache
Clear the ContentType cache when adding or removing
test models.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-03 20:01:50 -04:00
Roberto Rosario
b99cf97558 Improve REST mixins and add a new one
Add type casting to ExternalObjectListSerializerMixin via
the external_object_list_pk_type option.

Add an ExternalObjectSerializeMixin for related objects.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-03 14:31:48 -04:00
Roberto Rosario
442faca915 Update test models to generate random PK
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-02 17:32:38 -04:00
Roberto Rosario
0f84b7a723 Merge branch 'features/mercs_5_6' of gitlab.com:mayan-edms/mayan-edms into features/mercs_5_6 2019-03-02 17:10:25 -04:00
Roberto Rosario
2a67cf271e Refactor ACL app API
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-02 16:03:29 -04:00
Roberto Rosario
0cbd9e0d45 ACLs: Make get_inherited_permissions recursive
Update .get_inherited_permissions() to grab the permissions
of an object up the parent tree. Also add the role
permissions. Finally filter all the permissions by those
that apply to the object.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-02 01:51:23 -04:00
Roberto Rosario
48aad4f356 Add mixin to provide temporary test models
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-03-02 01:49:30 -04:00
Roberto Rosario
5c5979c5af Sort import
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-25 21:10:09 -04:00
Roberto Rosario
54100f7538 Role permissions API: Add permission checking and tests
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-25 21:09:21 -04:00
Roberto Rosario
8599d69d23 Refactor dynamic search app API
Convert the API to use viewsets.

The search function is now a service of the search model
resource.

The simple and advance search are now the same service. The
difference is determined by the URL query. A ?q= means a
simple search. For advanced search pass the search model
fields in the URL query, example: ?q=document_type__label=

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-23 05:08:39 -04:00
Roberto Rosario
23d56c3147 Improve ClientMethodsTestCaseMixin
Reduce repeated code.

Add support for passing query string dictionary to
the test client.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-23 05:04:28 -04:00
Roberto Rosario
7e1de2623c Update OCR app
Normalize API base names.

Update ViewSet base class, model classes are not needed
the OCR API views.

Split API tests into content and submit tests.

Puntuate view test strings.

Make use of success and title strings.

Make use of external object mixin in document type
settings view.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 23:49:48 -04:00
Roberto Rosario
21da6742b0 Increate default maximum title lenght to 120
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 23:48:04 -04:00
Roberto Rosario
d546967d1d Refactor the parsing app API
Add additional API and view tests.

Add success and multi document titles strings.

Make use of external mixin in the document type submit view.

Puntuate all view text strings.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 23:46:15 -04:00
Roberto Rosario
3917ca667a Fix typo in docstring
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 04:09:11 -04:00
Roberto Rosario
5c20a92f27 Add the RecentDocument mixin
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 04:07:42 -04:00
Roberto Rosario
a91bc6716d Register the Tag serializer
Register the Tag model to TagSerializer relationship
used by the events API.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 04:06:36 -04:00
Roberto Rosario
3fc463bb1c Fix event commit
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 04:06:06 -04:00
Roberto Rosario
2654c96e1c Update success message and external object usage
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 04:05:24 -04:00
Roberto Rosario
744d252640 Update classes and API URLs for uniformity
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 04:04:16 -04:00
Roberto Rosario
d74d13450c Use underscore in API resource for uniformity
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 04:02:52 -04:00
Roberto Rosario
b975c75c2f ContentTypeViewMixin allow chaging URL kwargs
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 04:01:46 -04:00
Roberto Rosario
1cb3f9fe60 Remove AJAX workers
Specified in ef415ef826.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 04:00:47 -04:00
Roberto Rosario
68c67abaa3 Improve how to get queryset from a content type
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 03:58:48 -04:00
Roberto Rosario
ef415ef826 Refactor the events app API
Use viewsets for the events app API.

Use new link badge support for the unread notification
count display.

Remove AJAX workers support now that it is now needed
anymore.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 03:57:07 -04:00
Roberto Rosario
5a8e691388 Navigation: Add support for link badges
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-22 03:56:29 -04:00
Roberto Rosario
5f264e2aae Initial refactor of the event's app API
Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@mayan-edms.com>
2019-02-20 04:21:56 -04:00
Roberto Rosario
0e524e44ed Fix failing mailer tests
Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@mayan-edms.com>
2019-02-19 03:38:09 -04:00
Roberto Rosario
023d82c96c Update document API to use new MayanAPIviewset
Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@mayan-edms.com>
2019-02-19 03:37:16 -04:00
Roberto Rosario
9370b2effb Update documents app serializers
Update serializers to be a subclass of
LazyExtraFieldsHyperlinkedModelSerializer to allow adding
more fields remotely.

Update URL fields to use MultiKwargHyperlinkedIdentityField.

Rename URL fields for uniformity.

Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@mayan-edms.com>
2019-02-19 03:34:56 -04:00
Roberto Rosario
30e8327db9 Update document API sub URLs for uniformity
Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@mayan-edms.com>
2019-02-19 03:27:23 -04:00
Roberto Rosario
7eaa096ad7 Convert the success header generation to a mixin
Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@mayan-edms.com>
2019-02-19 03:25:43 -04:00
Roberto Rosario
495cd18e34 Add multiple argument support to HyperlinkField
Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@mayan-edms.com>
2019-02-19 03:25:09 -04:00
Roberto Rosario
8c3e4fa5c0 Improve Document Tag API URL
Update the API routers registration to not duplicate
the document's URL parameter definition.

Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@mayan-edms.com>
2019-02-19 03:23:51 -04:00
Roberto Rosario
c2dd01d51e Refactor the OCR app API
This refactor adds two new endpoints to view the OCR
content of versions and documents.

Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@mayan-edms.com>
2019-02-19 03:21:36 -04:00