Commit Graph
43 Commits
Author SHA1 Message Date
Roberto Rosario d5fc50272d Enable pre save hook
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-01-31 06:07:29 -04:00
Roberto Rosario e007af6b3f Refactor checkouts app
Change "checkin" usage to "check_in".

Update URL parameters to the "_id" form.

Add support to checkout and check in multiple documents.

Optimize queries that used an ID list of documents for
filtering using values_list('pk', flat=True). These
queries now use .values('pk') as a subquery.

Add pre save hooks to block new document version uploads.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-01-31 05:57:01 -04:00
Roberto Rosario 3a6a250d1b Move dashboard code to its own app
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-16 00:34:21 -04:00
Roberto Rosario c2f10fd38d Styling: Unify styling of signal handlers
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-15 23:57:33 -04:00
Roberto Rosario 0e86f2ad8a Refactor the model accesors
Refactor the accesors to behave like methods instead of properties.
This means all accesors will be prepended with the string
"get_" and will include a set of parenthesis.

Improve the ModeAttribute class to use the method's
short_description. This commit also adds support for a
new method .help_text attribute has been added.

Move accessors to their own module, named "methods.py".

Remove the PropertyHelper class as the accessors no longer
need it.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-15 04:49:40 -04:00
Roberto Rosario 15180e95bf Styling: Add keyword arguments to add_to_class usage
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-14 02:44:50 -04:00
Roberto Rosario 55e9b2263c Celery: Update Celery to version 4.1.1
Upgrade Celery version used from 3.1.26 to 4.1.1. The following
settings have been renamed: CELERY_ALWAYS_EAGER to
CELERY_TASK_ALWAYS_EAGER, BROKER_URL to CELERY_BROKER_URL.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-08 22:49:15 -04:00
Roberto Rosario 55a30379bd Various apps: Sort imports
Run imports as per Mayan EDMS best practices.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-06 01:57:24 -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 f11eef7445 Add new class based dashboard widget. This new widget supports subclassing and is template based. All exising widgets have been converted. ACL filtering was added to the widget results.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 03:30:06 -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
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 2052caada4 Remove PreserveGetQuerySet mixin. Update SingleObjectList and
MultipleObjectFormActionView views to use a new get_object_list method.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-16 22:12:24 -04:00
Roberto Rosario 6ec235afc0 Add support for multiple dashboards.
Add support for removing dashboard widgets.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-10 02:56:40 -04:00
Roberto Rosario f09321f6ab Fix deprecation warnings for Django 1.11 and Django 2.0.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-07-21 00:25:18 -04:00
Roberto Rosario 739596e4ee Add task manager app.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-06-21 02:25:28 -04:00
Roberto Rosario 8179c35189 Simplify test runner by adding a new option '--mayan-apps' that
automatically tests all Mayan apps that report to have tests.
Change the app flag that indicates when an app has test
from 'test' to the more explicit 'has_test'.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-03-14 23:47:40 -04:00
Roberto Rosario 1e194e04fa Move new version creation blocking from the documents app to the checkouts app.
Closes GitLab #294.
2016-12-22 01:45:43 -04:00
Roberto Rosario 44531bd92a Add plugable locking backend support. Add threadsafe file lock backend. 2016-11-13 03:50:09 -04:00
Roberto Rosario c5ab1a22a9 Add checkedout documents dashboard widget 2016-11-13 00:07:08 -04:00
Roberto Rosario aa91bce3ab Add support for drop down menu in the navigation bar. Simplify the home screen. 2016-11-12 01:56:31 -04:00
Roberto Rosario 45e90da219 Convert the checkout detail view to use the DetailView CBV. Update usage the DetailView CBV in the DocumentProperties view. Add checkout details view permission. 2016-03-09 23:27:02 -04:00
Roberto Rosario 27d8644438 Silence 90% of remaining Django 1.8 model warnings. 2016-01-28 05:43:08 -04:00
Roberto Rosario b19225e95d Load models by calling AppConfig.get_model method instead. 2016-01-22 03:59:42 -04:00
Roberto Rosario a1a0a6da52 PEP8 Cleanups. 2015-10-28 02:14:48 -04:00
Roberto Rosario da4c41c5b2 Change the way new document version are blocked, moving the logic to the documents app from the checkouts app signal handler. Disable the upload new document version button and have the new version upload view redirect to the document version list with a message. GitLab issue #231. 2015-10-23 06:06:59 -04:00
Roberto Rosario 976a86947e Add management command to run tests from app list built dynamically. 2015-10-10 03:24:57 -04:00
Roberto Rosario 49ec79b36a Code style updates. 2015-08-12 03:55:50 -04:00
Roberto Rosario 960d60c39d Refactor rest_api app and the method end points are registered. All apps API URL endpoints are now registered under the 'rest_api' namespace.
Update DRF and DRF swagger versions. Update all apps API registration method.
2015-08-06 02:56:17 -04:00
Roberto Rosario 54f3cef7ba Replace unnecessary lists with tuples. 2015-07-28 00:49:07 -04:00
Roberto Rosario 4527563d89 PEP8 cleanups, specially E501 line too long. 2015-07-22 18:21:37 -04:00
Roberto Rosario d88bb1266a More explicit comment. 2015-07-11 01:49:37 -04:00
Roberto Rosario a2cedc3f9b Fix queue typos. Add a default queue as required by celery. 2015-07-11 00:50:55 -04:00
Roberto Rosario e891fe9525 PEP8 cleanups and code style cleanups. 2015-07-10 17:19:36 -04:00
Roberto Rosario c3be4bef53 Move stray magic values to literals.py in the checkout app. gh-issue #225. 2015-07-10 16:14:21 -04:00
Roberto Rosario ee1b05fb57 Refactor code to associate a model with a set of permissions. Update related apps. 2015-06-30 22:00:14 -04:00
Roberto Rosario d26402974a Allow registering permission from the permission namespace. Replace all permission variables to be lowercase (style guide reserver uppercase variables for constants and literals). 2015-06-28 00:19:49 -04:00
Roberto Rosario 50e547dc98 Allow app to auto add their urlpatterns via MayanAppConfig AppConfig subclass 2015-06-19 20:42:34 -04:00
Roberto Rosario c8268b1a5b Move new document version blocking logic to the checkouts app. Remove PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE, overriding checkout restrictions even for admin users has the potential to confuse or corrupt data, removing it. Even admins must now checkin a document before trying to perform a restricted operation. 2015-06-16 20:38:45 -04:00
Roberto Rosario 51ce5ca057 Consolidate navigation tags, consolidate setup and tool link 2015-04-03 20:51:02 -04:00
Roberto Rosario 0246068cd0 Initial commit of the new class based and menu based navigation system 2015-04-03 07:09:51 -04:00
Roberto Rosario bd041457c9 Update project to use Django 1.7.7. Issue #33 2015-03-30 03:43:56 -04:00