Commit Graph

147 Commits

Author SHA1 Message Date
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
bb6a827f28 Add LazyExtraFieldsHyperlinkedModelSerializer
This class is a mixin of LazyExtraFieldsSerializerMixin and
serializers.HyperlinkedModelSerializer. It allows adding fields
to a 3rd party app serializer without having to import the serializer.
Referencing is done using the dotted path of the serializer.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-15 04:18:33 -04:00
Roberto Rosario
863a2680a9 Fix id_list splitting
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-15 04:17:48 -04:00
Roberto Rosario
efde174b1a Add MayanAPIGenericViewSet
This viewset allow adding generic action API endpoints.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-15 04:16:30 -04:00
Roberto Rosario
6eb986f7d1 Add HyperlinkField for serializers
This field allow adding URLs to ModelSerializers.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-15 04:15:19 -04:00
Roberto Rosario
fb608bba98 Fix issue in ExternalObjectListSerializerMixin
Fix error when only an ID list field is specified.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-12 03:40:55 -04:00
Roberto Rosario
b633238610 Fix pk_list_field processing
This field was being ignored. Improved the code to check for
values in sequence.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-08 00:53:57 -04:00
Roberto Rosario
61ebda6e63 REST API app updates
- Add back support for API views but using the
api_urlpatterns list. Needed for the current user
API until a dynamic route router is implemented that
can allow a viewset action to specify its entire URL.

- Make sure the user is authenticated before
trying to the user permissions.

- Improve how external_object_list options are read from
the class.

- None authenticated users will get a blank queryset if the
view doesn't require a permission.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-07 20:13:35 -04:00
Roberto Rosario
627056f1ae Refactor the REST API app
Remove the APIRoot view.

Remove the Endpoint class.

Remove the EndpointSerializer.

Move API documentation generation from the root urls module
to the app's urls module.

Update the app API URL generation to be based on viewsets
instead of an custom api_urls list.

Remove MayanObjectPermissionsFilter and replace it with
MayanViewSetObjectPermissionsFilter which allows mapping
a required permission to a specific viewset action.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-06 05:19:07 -04:00
Roberto Rosario
65ccbd3b7b Reorganize reusable test code
Extract test views and user code into their own separate test case
mixins. Append TestCase to test case mixins with base test code
to differentiate them from test mixins with reusable view calls.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-01-03 14:49:48 -04:00
Roberto Rosario
8e0a2bbdbc Move the base test ACL mixin to the ACLs app
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-01-02 02:44:50 -04:00
Roberto Rosario
8e69178e07 Project: Switch to full app paths
Instead of inserting the path of the apps into the Python app,
the apps are now referenced by their full import path.

This app name claves with external or native Python libraries.
Example: Mayan statistics app vs. Python new statistics library.

Every app reference is now prepended with 'mayan.apps'.

Existing config.yml files need to be updated manually.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-12-05 02:04:20 -04:00
Roberto Rosario
5a8455bfc2 Update translation files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-29 13:24:07 -04:00
Roberto Rosario
26ac7de70b Synchronize and compile translations
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 22:50:48 -04:00
Roberto Rosario
3c2557fb47 Update translation source files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 22:29:54 -04:00
Roberto Rosario
a986b58338 Prepare release files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 18:52:26 -04:00
Roberto Rosario
55930689bb Update language files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 03:45:51 -04:00
Roberto Rosario
6594756c5b Replace use of mayan.__title__ with common project title to ensure the overrided name is displayed in all views.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-28 03:48:51 -04:00
Roberto Rosario
e400327770 Language translation synchonization.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 21:12:11 -04:00
Roberto Rosario
fd87e28113 French and Polish language translation updates.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-07-08 02:35:43 -04:00
Roberto Rosario
aa4e8e3507 Update the common, django_gpg, document_comments, document_indexing, document_parsing, document_signatures, document_states, event, linking, mailer, permissions, rest_api, smart_settings, sources and task manager apps to use the new Icon class.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-28 23:19:49 -04:00
Roberto Rosario
0f6d33140a Synchronize translation files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-07 23:49:43 -04:00
Roberto Rosario
f7ca35c9b6 Download and compile translations from Transifex.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-04-11 20:39:30 -04:00
Roberto Rosario
0641b568ee Update translation sources and compiled files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-04-11 15:18:50 -04:00
Roberto Rosario
3484dc8f33 Update translation source and compiled files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-04-10 04:23:16 -04:00
Michael Price
4c1ae55410 Update compiled translation files.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 20:36:52 -04:00
Michael Price
59d746db97 Update translation source files.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 20:36:45 -04:00
Michael Price
26fe832bd9 Move openapi_info definition to the rest_api app.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 20:27:54 -04:00
Michael Price
de65d96fe2 Update cabinets and document_index api views docstrings. Update multi level docstrings as per Python best practices.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 20:27:45 -04:00
Michael Price
c69147bdc5 Checking for access also checks for permission. Remove reduntant check.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 20:24:11 -04:00
Michael Price
1fc06a350b Consolidate the docstring of the API methods into a class docstring.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 20:22:35 -04:00
Michael Price
ff9e291cd7 Re-enable the API root path and exclude it from schema introspection.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 20:22:26 -04:00
Michael Price
17acb444bd Add link to API documentation generated by ReDoc.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 20:22:21 -04:00
Michael Price
d173f9f863 Disable the root API path as this confuses Swagger which then groups all endpoints into a single dropdown.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 20:22:13 -04:00
Michael Price
49bb7c879e Add root API showing the new endpoints.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 20:00:38 -04:00
Michael Price
4378b28777 Update API vies and serializers for the latest Django REST framework version. Replace DRF Swagger with DRF-YASG.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 18:31:22 -04:00
Michael Price
e1956f8d80 Get rids of the APIEndPoint and APIResource classes. Register API url using the 'has_rest_api' AppConfig variable.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 18:30:59 -04:00
Michael Price
744976e8a1 Fix flake8 warnings.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 18:30:27 -04:00
Michael Price
b4bf9bfaee Switch to a resource and service based API from previous app based one.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 18:28:40 -04:00
Michael Price
eae881c35a Update the user management app API tests to test for fail and success scenarios
based on permissions and access. The tests were also updated to comform
with the new API test class interface.

Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 01:18:58 -04:00
Roberto Rosario
05c5151c38 Improve BaseAPITestCase to support normal user login, access
granting and permission granting.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-10-23 14:22:04 -04:00
Roberto Rosario
f0baa16cde Backport support for global and object event notification. GitLab issue #262.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-09-17 03:12:40 -04:00
Roberto Rosario
9147b34409 Fix text typos. Update translations.
Merged: Remove PDFMiner from the requirments.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-27 13:50:13 -04:00
Roberto Rosario
6fae3152a9 Synchronize translations.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-25 00:00:47 -04:00
Roberto Rosario
f2cdd52024 Make the document parsing app translatable. Sync translations.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-24 21:01:42 -04:00
Roberto Rosario
6aa47a26ae Remove the folders app. Reset English translation source files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-15 02:57:54 -04:00
Roberto Rosario
9147e30804 Remove the folders app from the transifex client config file.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-15 02:37:01 -04:00
Roberto Rosario
4560009927 Synchronize translations.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-03 02:30:08 -04:00
Roberto Rosario
8f023a03e5 Synchronize translations.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-07-15 00:38:02 -04:00