Commit Graph

101 Commits

Author SHA1 Message Date
Roberto Rosario
66670a5d59 Update fallback to redirect view
When there is no HTTP referer fallback to
common.settings_home_view instead of LOGIN_REDIRECT_URL.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-01-31 01:10:59 -04:00
Roberto Rosario
7532429b0b Refactor common generic views
Add keyword arguments.

Sort arguments.

Unify the ObjectListPermissionFilterMixin and
ObjectPermissionCheckMixin into the RestrictedQuerysetMixin.

Add MultipleObjectDownloadView.

Update SingleObjectDownloadView to do queryset filtering.

The method that returns the base queryset for views is
now named get_source_queryset().

The views now use .get_object_list as a multi object
homologous of get_object. The queryset returned by
.get_object_list is restricted by access.

Make MultipleObjectMixin a subclass of Django's
SingleObjectMixin to reduce repeated code.

All generic views are now imported from common.generics and not
from common.views.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-01-28 05:18:33 -04:00
Roberto Rosario
383d0fcc38 Remove support for raising 404
Remove explict support for raising 404 error when the
object access fails.

The new method to use is to restrict the queryset using
the .restrict_queryset manager method and then .get() the
desired object. If the object access control failed then
the desired object will not be found in the queryset
and an error 404 will be raised. The end result is the same:
error 404, the method to raise the error is what differs now.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-01-19 01:12:39 -04:00
Roberto Rosario
125c133334 Audit common app
Add support to override settings of the FilteredSelectionForm
via subclass attributes. Add keyword arguments to calls.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-01-02 14:34:41 -04:00
Roberto Rosario
fd7e937cef Move current user views and add user events
Move the current user detail and edit views from the common app
to the user_management app. Add the user created and edited events.
Add an user detail view.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-24 04:21:25 -04:00
Roberto Rosario
64e1c6bb67 Add widget support to SourceColumn
Allow passing a widget class to SourceColumn. This makes
using lambdas to render model column unnecesary and are
mostly removed too.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-22 05:35:31 -04:00
Roberto Rosario
4d84b5f28f Common app: Move HOME_VIEW setting
The HOME_VIEW setting is not a Django setting but a setting from the
common app. Move the HOME_VIEW to the COMMON namespace and rename it
to COMMON_HOME_VIEW.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-06 15:58:19 -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
fafdb538b3 Generalize the Javascript menu rendering into an API for templates that only refresh the menu when there are changes. Closes GitLab issue #511. Thanks to Daniel Carrico @daniel1113 for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-16 21:48:37 -04:00
Roberto Rosario
4eb3c47457 Implement partial refresh of the main menu.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-03 19:47:41 -04:00
Roberto Rosario
9273eccbd6 Add support for extended templates when there are no results. Add help messages and useful links to several apps when there are no results available.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 19:45:48 -04:00
Roberto Rosario
57e1fe8cf0 Unify template title rendering. Add support for template subtitles.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-14 03:32:19 -04:00
Roberto Rosario
238595e1bc Don't error out if it is not possible to check for the latest current version.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-04-16 17:08:22 -04:00
Roberto Rosario
d7ecdac6b0 Fix PEP8 warnings.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-04-06 01:26:06 -04:00
Roberto Rosario
fb2ba25f23 Remove the data filters feature.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-04-03 01:40:34 -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
Eric Riggs
f3f4dcd84a - Make Mayan behave like a Single Page App by using partials.
- Add URI.js, Ajax form.
- Split base.js into mayan_app.js, mayan_image.js, partial_navigation.js.
- Add a HOME_VIEW setting. Use it for the default view to be loaded.
- New template loading order root.html -> base.html -> any template. root.html is only loaded once. Other templates are loaded and merged with base.html via ajax load.
- Fix bug in document page view. Was storing the URL and the querystring as a single url variable.

Signed-off-by: Eric Riggs <ericriggs42@gmail.com>
2018-04-01 19:54:15 -04:00
Roberto Rosario
69514767b6 Code cleanups.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-28 21:52:51 -04:00
Roberto Rosario
8d76120ac7 Add support for clearing the generic object error log.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-28 17:56:54 -04:00
Roberto Rosario
eb7b189970 Add generic error log model.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-25 04:12:52 -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
c7afc85826 Cleanups.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-08 02:47:49 -04:00
Roberto Rosario
45bfb8961e Include the dynamic form views in the view.py module.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-07 05:22:20 -04:00
Roberto Rosario
d49a5f43ed Add missing replacements of reverse to resolve_url.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-07-25 08:23:26 -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
c3d4884d34 Remove debug statement.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-07-13 03:32:19 -04:00
Roberto Rosario
2817ec17be Add support for logging errors during in production mode.
Add COMMON_PRODUCTION_ERROR_LOG_PATH to control path of log file.
Defaults to mayan/error.log.
Add support logging request exceptions.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-07-13 03:31:34 -04:00
Roberto Rosario
6d5d102984 Translations synchronization.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-05-28 16:02:01 -04:00
Roberto Rosario
579595fe7f Add support for check for the latest released version of Mayan.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-05-26 17:37:23 -04:00
Roberto Rosario
c598f87d7f Hide the static tag import to avoid errors with static file
processors

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-03-09 02:21:00 -04:00
Roberto Rosario
7a4a78c2ca Move favicon redirect code from common.urls to common.views as
FaviconRedirectView. This removed the
django.contrib.staticfiles.templatetags.staticfiles.static URL runtime
computation from common.urls. GitLab issue #340.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-03-07 00:43:32 -04:00
Roberto Rosario
eaa9af55c4 Silence the PEP8 warning F405 "may be undefined, or defined from star imports".
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-02-22 17:17:02 -04:00
Roberto Rosario
352457f576 Don't add the current user to the template context to avoid triggering user managment action links. 2016-05-14 01:49:29 -04:00
Roberto Rosario
6f02d96212 Update current user detail view to use DetailView CBV. 2016-03-09 23:26:00 -04:00
Roberto Rosario
09f4d674a4 Pass the request instance to properly resolve the setup and tools links. 2016-01-28 04:40:31 -04:00
Roberto Rosario
86ff835839 PEP8 Cleanups. 2015-10-07 22:24:44 -04:00
Roberto Rosario
6480489086 Add view displaying all 3rd party apps and packages' licenses. 2015-09-23 03:32:14 -04:00
Roberto Rosario
6ca6cd9f21 PEP8 Cleanusp (549 warnings). 2015-09-16 04:15:10 -04:00
Roberto Rosario
1f32aa3c0b Add extensible data filtering feature allowing to remove hard coded listing of documents with missing required metadata. Closes gl-issue #178. 2015-08-24 17:33:24 -04:00
Roberto Rosario
68f3c6eee7 PEP8 cleanups. 2015-08-19 14:50:44 -04:00
Roberto Rosario
b632b69d08 Simplify home view by redirecting to results view. 2015-08-14 14:50:29 -04:00
Roberto Rosario
3b728328ad PEP8 cleanups, E501. 2015-07-23 04:05:29 -04:00
Roberto Rosario
4527563d89 PEP8 cleanups, specially E501 line too long. 2015-07-22 18:21:37 -04:00
Roberto Rosario
e891fe9525 PEP8 cleanups and code style cleanups. 2015-07-10 17:19:36 -04:00
Roberto Rosario
bc3eed143c Add permission inheritance by parent object. Add ACLs app model tests. 2015-07-10 01:40:21 -04:00
Roberto Rosario
a5b7747619 Update current user detail edit and locale views to CBV. 2015-07-09 02:11:33 -04:00
Roberto Rosario
857cf7b1b2 Add browser cookie support for timezone middleware. 2015-07-08 00:17:44 -04:00
Roberto Rosario
8f30932b6f Fix locale and language not updating on edit or on login 2015-07-04 04:36:55 -04:00
Roberto Rosario
ad5709c8ce Remove maintenance tools menu entry, apps now register tools directly to the tools menu. 2015-07-02 02:47:46 -04:00