Compare commits

..

264 Commits

Author SHA1 Message Date
Roberto Rosario
36b89cf0ea Merge branch 'versions/minor' into features/workflow_email_action
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-13 02:56:02 -04:00
Roberto Rosario
6bcf35bef5 Add database conversion removal explanation
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-12 05:17:15 -04:00
Roberto Rosario
7ef6102876 Update release notes
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-12 04:52:34 -04:00
Roberto Rosario
4363bba0fe Remove encapsulate
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-12 04:50:37 -04:00
Roberto Rosario
e2f2181ebb Complete multiple check in/out support
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-12 04:49:39 -04:00
Roberto Rosario
d4f7e2cd16 Support creating multiple test users
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-12 04:49:09 -04:00
Roberto Rosario
058e36b4a9 Introspect proxy's parent only it is a model
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-12 04:48:00 -04:00
Roberto Rosario
1ddd5f26b1 Support menu inheritance
Proxy models will now inherit the menus from their parents.
Added to allow checked out documents to show multi item links
of their parents.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-12 04:40:48 -04:00
Roberto Rosario
44652d49fb Add test utility to return an id_list
Makes creating an id_list for testing from a list test instances
easier.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-12 04:39:48 -04:00
Roberto Rosario
119c1bde76 Add user test mixin to base test class
Allow tests to create test users.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-12 04:39:18 -04:00
Roberto Rosario
ed227b4111 Emphasize source column labels
Use the same CSS style as the view's extra_columns.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-12 04:38:06 -04:00
Roberto Rosario
c44090aca6 Initial commit to support multidocument checkouts
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-11 20:00:17 -04:00
Roberto Rosario
8a7da6a103 Update release notes closed issues
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-11 02:26:24 -04:00
Roberto Rosario
3e3b1f75a0 Remove django-environ
Work done in 9564db398f

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-11 02:02:45 -04:00
Roberto Rosario
1ab7b7b9b1 Backport FakeStorageSubclass from versions/next
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-11 01:56:06 -04:00
Roberto Rosario
3fab5c1427 Return empty dict if there is no config file
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-11 01:31:37 -04:00
Roberto Rosario
516c3aeb2c Add default for OCR backend argument setting
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-11 01:31:05 -04:00
Roberto Rosario
3ac1000b46 Merge remote-tracking branch 'origin/features/move_django_settings' into merge_features 2019-07-11 01:21:40 -04:00
Roberto Rosario
4adeefc978 Merge remote-tracking branch 'origin/features/move_yaml_code' into merge_features
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-11 01:21:23 -04:00
Roberto Rosario
8bc4b6a95e Move YAML code to its own module
Code now resides in common.serialization in the form
of two new functions: yaml_load and yaml_dump.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-10 19:35:42 -04:00
Roberto Rosario
37e85590e8 Move Django and Celery settings
Django settings now reside in the smart settings app.
Celery settings now reside in the task manager app.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-10 19:02:22 -04:00
Roberto Rosario
3621af7e7d Update build string
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-10 03:19:09 -04:00
Roberto Rosario
1e1e930e88 Bump version to 3.2.6
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-10 03:18:15 -04:00
Roberto Rosario
d04f1eb9a5 Improve Setting check changed test
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-10 03:17:04 -04:00
Roberto Rosario
6dde3e1ac3 PEP8 cleanup
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-10 03:14:12 -04:00
Roberto Rosario
efb8a35ea4 Update changelog, add release notes for v3.2.6
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-10 03:08:16 -04:00
Giacomo Cariello
5c91ab2d73 Fix thumbnail generation issue (#637). 2019-07-10 02:51:11 -04:00
Roberto Rosario
6d0b7b1fc0 Speed up document indexing view tests
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-10 01:59:23 -04:00
Roberto Rosario
627e9cb1f0 Update changelog
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-10 01:47:35 -04:00
Roberto Rosario
4fcd60194e Add trashed date time label and position
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-10 01:47:01 -04:00
Roberto Rosario
644cd57a0f Fix document icon used in workflow runtime links
Links are using the document type instead of the document icon.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-10 01:44:37 -04:00
Roberto Rosario
f6febdd221 Remove the smart settings app * import
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-10 01:40:13 -04:00
Roberto Rosario
78a0189e1c Add YAML env variables support to platform app
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-10 00:34:09 -04:00
Roberto Rosario
91b0b2d9c3 Update smart setting's app URLs for uniformity
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-09 15:46:09 -04:00
Roberto Rosario
8a54deba3d Unify individual database configuration options
All database configuration is now done using MAYAN_DATABASES to
mirror Django way of doing database setup.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-09 15:45:30 -04:00
Roberto Rosario
22da1e0a78 Update import
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-09 15:43:39 -04:00
Roberto Rosario
c9668d62e5 Move mailer defaults to the literals module
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-09 15:43:15 -04:00
Roberto Rosario
7a01a77c43 Remove smart_settings * import
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-09 15:42:57 -04:00
Roberto Rosario
9564db398f Backport configuration file improvements
Remove support for quoted entried. Support unquoted entries. Support
custom location for the config files.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-09 15:40:20 -04:00
Roberto Rosario
7faa24eb7b Remove database conversion command
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 02:42:11 -04:00
Roberto Rosario
51f278301b Sort list of apps
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 02:40:24 -04:00
Roberto Rosario
2cc35c3c61 Remove outdated contrib scripts
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 02:37:58 -04:00
Roberto Rosario
8c73fda1ae Rename installjavascript to installdependencies
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 02:35:14 -04:00
Roberto Rosario
8811c8269f Rename document states apps view and URLs.
Object layout: WorkflowTemplate, WorkflowInstance, WorkflowRuntimeProxy,
WorkflowTemplateState, WorkflowTemplateTransition.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 02:21:58 -04:00
Roberto Rosario
f36f99c5fb Split workflow URL patterns
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 01:23:49 -04:00
Roberto Rosario
0e972eff06 Fix typos and PEP8 warnings
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 01:12:25 -04:00
Roberto Rosario
7913b5ddcc Sort dictionary entry
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 01:06:58 -04:00
Roberto Rosario
1c86ea5b5b Backport individual index rebuild support
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 01:03:39 -04:00
Roberto Rosario
ec6a3bd960 Move AJAX spinner to the left of the top bar
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 00:43:14 -04:00
Roberto Rosario
080553c797 Add trashed date time label and position
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 00:38:47 -04:00
Roberto Rosario
08ee07e652 Remove duplicated trashed document previews
Side effect of source column inheritance added in
06c3ef6583.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 00:37:47 -04:00
Roberto Rosario
d7d77fcb55 Backport workflow email action
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 00:27:29 -04:00
Roberto Rosario
601bff304f Merge branch 'versions/minor' into features/workflow_email_action
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-07 00:20:38 -04:00
Roberto Rosario
929cc7d374 Encode settings YAML before hashing
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-07-06 17:16:04 -04:00
Roberto Rosario
bb5324ef50 Encode settings YAML before hashing
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-07-06 17:14:44 -04:00
Roberto Rosario
4c212f6ea4 Backport workflow context and field support
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-06 04:13:26 -04:00
Roberto Rosario
941356ed69 Add a general use YAML validator
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-06 04:11:43 -04:00
Roberto Rosario
97804b255b Add and exclude Index instance columns
Exclude inherited columns from the Index models.
Add the label columns to Index instances.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-06 04:10:41 -04:00
Roberto Rosario
06c3ef6583 Add source column inheritance and exclusions
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-06 04:09:44 -04:00
Roberto Rosario
6cd857e2bf Use Select2 widget for the document type selection form
This was committed in 109fcba795 without
adding the actual change.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-06 02:44:00 -04:00
Roberto Rosario
fbb0f0b9bd Backport workflow preview refactor
GitLab issue #532.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-06 02:41:16 -04:00
Roberto Rosario
9e068c3e83 Add topbar shadow
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-06 02:01:48 -04:00
Roberto Rosario
72a3807354 Add vertical main menu
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-06 01:53:45 -04:00
Roberto Rosario
109fcba795 Use Select2 for the document type selection form
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-05 23:26:11 -04:00
Roberto Rosario
01380e0572 Merge branch 'versions/minor' of gitlab.com:mayan-edms/mayan-edms into versions/minor 2019-07-05 23:23:50 -04:00
Roberto Rosario
5146c6d202 Tweak setup buttom border and tag shadows
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-05 23:23:34 -04:00
Roberto Rosario
300bdbfc8a Tweak setup buttom border and tag shadows
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-05 21:34:20 -04:00
Roberto Rosario
a0331e0236 Add support for icon shadows
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-05 21:26:45 -04:00
Roberto Rosario
b405896a44 Update build string
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-05 16:40:01 -04:00
Roberto Rosario
fbe043b4eb Bump version to 3.2.5
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-05 16:39:17 -04:00
Roberto Rosario
3a8fade8f8 Disable test suit on master branch pushes
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-05 16:38:20 -04:00
Roberto Rosario
3fb1e079b9 Code cleanups
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-05 16:35:43 -04:00
Roberto Rosario
40b44cba35 Update release notes
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-05 16:33:34 -04:00
Roberto Rosario
d5b1c02310 Update depedencies to their latest bug fix version
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-05 15:45:24 -04:00
Roberto Rosario
38c33b6703 Update Django to version 1.11.22
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-05 15:28:39 -04:00
Roberto Rosario
557a20d6cc Update translations
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-05 03:10:42 -04:00
Roberto Rosario
68a3483470 Merge branch 'pt-locale-msg' into 'master'
Pt locale msg

Translations for pt-PT

See merge request mayan-edms/mayan-edms!56
2019-07-05 05:18:26 +00:00
David Miguel
4de13f23b7 Pt locale msg 2019-07-05 05:18:26 +00:00
Roberto Rosario
fba6d3b101 Update release notes
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-05 01:02:53 -04:00
Roberto Rosario
7902074390 Add alert when settings are changed
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-05 00:58:50 -04:00
Roberto Rosario
3ce08cc9c0 Merge branch 'versions/minor' into features/setting_change_warning 2019-07-05 00:48:37 -04:00
Roberto Rosario
1ae5b8c420 Update release notes
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-05 00:47:36 -04:00
Roberto Rosario
2af03eeca8 Fix cabinet and tags upload wizard steps
Steps were missing some entries. Closes GitLab issue #632.
Thanks to Matthias Urhahn (@d4rken) for the report.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-07-05 00:28:01 -04:00
Roberto Rosario
b8345797d6 Merge branch 'versions/minor' into features/fix_cabinet_wizard 2019-07-04 01:34:55 -04:00
Roberto Rosario
1377ff0504 Add class method to detect setting changes
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-07-03 11:10:35 -04:00
Roberto Rosario
5aa3886867 Fix cabinet upload wizard step
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-07-02 21:24:12 -04:00
Roberto Rosario
1fe45e2613 Add data migration to the file metadata app
Synchronizes the document type settings model of existing
document types.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-02 14:47:12 -04:00
Roberto Rosario
68966e4ad0 Update troubleshooting topic
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-02 14:34:54 -04:00
Roberto Rosario
a8fcc862f1 Don't register the create event to the instance
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-01 15:45:15 -04:00
Roberto Rosario
f9e539f25c Don't error out if the settings are set to blank
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-07-01 01:13:02 -04:00
Roberto Rosario
96d631a395 Update build string
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-29 02:51:45 -04:00
Roberto Rosario
f5bbd484cd Bump version to 3.2.4
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-29 02:50:51 -04:00
Roberto Rosario
8b2690c785 Remove unused import
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-29 02:50:23 -04:00
Roberto Rosario
4cf28af5cf Update release notes
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-29 02:48:52 -04:00
Roberto Rosario
d48f2628a3 Add sources app metadata help text migration
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-29 02:48:23 -04:00
Roberto Rosario
e3d2fef687 Update compiled translation files
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-29 02:47:05 -04:00
Roberto Rosario
6eb105be94 Update source translation files
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-29 02:21:29 -04:00
Roberto Rosario
24dcdfd328 Improve email metadata support
The feature can now work on emails with nested parts.
Also the metadata.yaml attachment no longer needs to be the
first attachment.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-29 02:12:54 -04:00
Roberto Rosario
305f4d1afd Reduce code used to set bulk metadata
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-29 02:10:22 -04:00
Roberto Rosario
ff03186a2c Remove the INSTALLED_APPS setting
The INSTALLED APPS setting is now replaced by the
new COMMON_EXTRA_APPS and COMMON_DISABLED_APPS.

Exposing the INSTALLED_APPS setting had the side effect
of blocking new apps that were added in new versions.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-28 23:26:29 -04:00
Roberto Rosario
8141748677 Add redirection after trashing a document
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-28 23:05:54 -04:00
Roberto Rosario
26fdaf867f Update changelog and release notes
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-28 23:04:17 -04:00
Roberto Rosario
bf4e499c9d Fix IMAP4 store flags argument, GitLab issue #606
Python's documentation is incorrect, argument name is flag_list.
Closes GitLab issue #606. Thanks to Samuel Aebi (@samuelaebi)
for the report and debug information.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-28 22:29:05 -04:00
Roberto Rosario
daef777173 Use polylines for the edge splines
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-28 15:49:25 -04:00
Roberto Rosario
0e8dbea244 Hightlight initial state
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-28 15:39:01 -04:00
Roberto Rosario
46eda1a20b Add actions to workflow preview
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-28 15:38:52 -04:00
Roberto Rosario
d2c89caece Add transition form comment help text
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-28 15:38:42 -04:00
Roberto Rosario
b03ea61fdb Merge branch features/user_management_dashboard_widgets
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-28 13:45:10 -04:00
Roberto Rosario
80065279cb Fix install typos and missing commands
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-28 11:46:49 -04:00
Roberto Rosario
744bfefa5c Add workflow email action template support
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 12:10:31 -04:00
Roberto Rosario
d636174c85 Add test case database connection check
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 11:52:11 -04:00
Roberto Rosario
850fb16c8c Add automatic execution test
Add test for automatic email action execution on document upload.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 11:51:21 -04:00
Roberto Rosario
72ba805fbb Add test case database connection check
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 11:35:58 -04:00
Roberto Rosario
3d7b40f029 Add email action tests
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 09:54:48 -04:00
Roberto Rosario
2039a9f13b Merge branch 'clients/bc' into features/workflow_email_action 2019-06-27 08:45:27 -04:00
Roberto Rosario
22aa14282b [Fix] Change to relative imports
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 08:42:03 -04:00
Roberto Rosario
bdde894765 [FIX] Remove tag create document registration
Make no sense to have the tag create event register to existing tags.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 08:41:14 -04:00
Roberto Rosario
bb8f12dd7a Update CHANGES file
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 08:40:43 -04:00
Roberto Rosario
40ab1f3665 [FIX] Remove tag create document registration
Make no sense to have the tag create event register to existing tags.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 08:39:48 -04:00
Roberto Rosario
fdef757fd0 Add redactions app JavaScript dependencies
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 08:22:53 -04:00
Roberto Rosario
3608ee1141 Remove included cropper.js files
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 08:17:50 -04:00
Roberto Rosario
7fb3d61dff [Fix] Change to relative imports
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 07:03:55 -04:00
Roberto Rosario
e9aa11673b Initial commit of the workflow mail action
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-27 07:03:31 -04:00
Roberto Rosario
03a7aa5daf Add missing migrations
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-26 15:04:30 -04:00
Roberto Rosario
755f20c5c4 Fix importer logging
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-26 14:20:00 -04:00
Roberto Rosario
64772e2e90 Update changes file
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-26 14:18:29 -04:00
Roberto Rosario
75a4a426e0 Remove duplicated trashed document preview
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-26 14:18:11 -04:00
Roberto Rosario
42a7ebeea2 Finish redactions app
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-26 14:16:11 -04:00
Roberto Rosario
3d22f48555 Add draw box by percentage
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-26 00:13:20 -04:00
Roberto Rosario
488e048d8f Remove old remarks and add redirect
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-26 00:12:41 -04:00
Roberto Rosario
2f82559a5c Add verbose name for the Redaction model
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-26 00:12:08 -04:00
Roberto Rosario
7d5b7b9fc4 Fix static media folder
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-26 00:11:52 -04:00
Roberto Rosario
7aa68b8bbf Initial commit of the redactions app
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-25 12:13:49 -04:00
Roberto Rosario
aecde926f2 Fix varaible typo
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-25 12:08:25 -04:00
Roberto Rosario
6b95628e56 Add rectangle drawing transformation
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-25 10:23:30 -04:00
Roberto Rosario
56a1b97b46 Update changes file
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-25 09:17:01 -04:00
Roberto Rosario
34a5a54c8b Add sortable index instance label column
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-25 09:15:52 -04:00
Roberto Rosario
0c17ab3f8a Improve source column exclusion
Improve for model subclasses in partial querysets.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-25 09:08:02 -04:00
Roberto Rosario
c967a25f82 Support exclusions from source columns
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-25 00:16:29 -04:00
Roberto Rosario
7562588c42 Fix typo
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-24 23:55:02 -04:00
Roberto Rosario
a1a706b7b9 Add link to sort individual indexes
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-24 23:50:01 -04:00
Roberto Rosario
d623cb2df5 Sort function
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-24 23:04:49 -04:00
Roberto Rosario
488ddcf1e1 Rename CHANGES file
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-24 23:04:07 -04:00
Roberto Rosario
3d39893f17 Add columns to show document count per workflow
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-24 23:03:06 -04:00
Roberto Rosario
3694839d97 Use Select2 for the document type selection form
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-24 19:29:12 -04:00
Roberto Rosario
cce27aceca Allow client builds
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-24 16:42:59 -04:00
Roberto Rosario
c73d251370 Generate metadata by name not label
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-24 16:32:14 -04:00
Roberto Rosario
091f0d1cfd Generate new metadata when label is ambiguous
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-24 16:20:56 -04:00
Roberto Rosario
4d7c0552bd Fix help text of the platformtemplate command
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-22 00:04:34 -04:00
Roberto Rosario
d2affdcf21 Merge branch 'feature/document_importer' into nightly
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-21 17:39:19 -04:00
Roberto Rosario
885d430b98 Merge branch 'versions/minor' into nightly 2019-06-21 17:38:08 -04:00
Roberto Rosario
39eabe1c54 Associate metadata to all types
Previously metadata types were associated to documents types
if the metadata type was newly created.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-21 17:37:00 -04:00
Roberto Rosario
575e42357a Update 3.2.2 release notes
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-21 14:43:04 -04:00
Roberto Rosario
f6ad579829 Merge branch 'versions/minor' into nightly
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-21 12:05:19 -04:00
Roberto Rosario
6fc9e46882 Merge branch 'versions/minor' into feature/document_importer 2019-06-21 11:53:09 -04:00
Roberto Rosario
2d326a679d Merge branch 'master' into feature/document_importer 2019-06-21 11:53:03 -04:00
Roberto Rosario
487c250f3e Merge branch 'master' into versions/minor 2019-06-21 11:52:40 -04:00
Roberto Rosario
0ae214f2fd Support configurable GUnicorn timeouts
Defaults to current value of 120 seconds.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-21 11:51:01 -04:00
Roberto Rosario
037b942c4a Update release date of version 3.2.3
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-21 11:48:01 -04:00
Roberto Rosario
dcbf777429 Merge branch 'defect/628-positional-arguments-for-mailbox' into 'master'
Defect/628 positional arguments for mailbox

Closes #628

See merge request mayan-edms/mayan-edms!51
2019-06-21 13:35:23 +00:00
Jesaja Everling
0c5a0b54c1 Defect/628 positional arguments for mailbox 2019-06-21 13:35:23 +00:00
Roberto Rosario
aa8c2db446 Merge branch 'master' into feature/document_importer
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-21 00:06:49 -04:00
Roberto Rosario
0f5f8c0dd1 Update build number
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-21 00:03:53 -04:00
Roberto Rosario
2d875ff044 Bump version to 3.2.3
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-21 00:01:37 -04:00
Roberto Rosario
a77708ebe6 Update release notes
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-20 23:52:00 -04:00
Roberto Rosario
440822896a Fix the Django SMTP backend username field name
Increase the Django STMP username. GitLab issue #625. Thanks to Jesaja
Everling (@jeverling) for the report and the research.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-20 23:42:16 -04:00
Roberto Rosario
6f4802ac6a Fix mailing profile log columns mappings
GitLab issue #626. Thanks to Jesaja Everling (@jeverling)
for the report.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-20 23:14:33 -04:00
Roberto Rosario
925b55d76d Support ignoring certain rows
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-20 10:12:53 -04:00
Roberto Rosario
5808d3653d Add support for ignoring import errors
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-20 10:05:24 -04:00
Roberto Rosario
c21a9afcfa Merge branch 'master' into versions/minor 2019-06-19 23:53:04 -04:00
Roberto Rosario
0494fa9e6a Merge branch 'defect/619-fix-poplib-initialization' into 'master'
Fix kwargs for poplib.POP3_SSL and poplib.POP3

Closes #619

See merge request mayan-edms/mayan-edms!50
2019-06-20 03:51:31 +00:00
Jesaja Everling
e09bd48d65 Fix kwargs for poplib.POP3_SSL and poplib.POP3 2019-06-20 03:51:31 +00:00
Roberto Rosario
97887c4e9c Allow disabling the random primary key test mixin
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-19 23:05:01 -04:00
Roberto Rosario
bc072f7b7e Add column mapping support
Add support for specifying metadata columns.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-19 17:47:32 -04:00
Roberto Rosario
b3d59eee39 Add MVP of the importer app
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-19 16:02:00 -04:00
Roberto Rosario
7d379a52af Add a reusable task to upload documents
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-19 16:00:59 -04:00
Roberto Rosario
499ab1f3e7 Allow disabling the random primary key test mixin
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-19 15:59:15 -04:00
Roberto Rosario
90e884e502 Fix test permission use
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-19 10:22:56 -04:00
Roberto Rosario
ea7b4e46ac Update build number
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-19 00:40:02 -04:00
Roberto Rosario
e0d74d54b1 Update release data and bump version to 3.2.2
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-19 00:39:13 -04:00
Roberto Rosario
fbd2b43b5e Update the task_check_interval_source reference
GitLab issue #617. Thanks to Lukas Gill (@lukkigi) for
the report and debug information.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-19 00:33:44 -04:00
Roberto Rosario
03e59ed964 Fix document parsing tool view typo
Closes GitLab issue #615. Thanks to Tyler Page (@iamtpage) for the
report.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-19 00:19:18 -04:00
Roberto Rosario
c3b1c4e173 Fix document type change view
Closes GitLab issue #614. Thanks to Christoph Roeder (@brightdroid)
for the report.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-06-18 22:15:13 -04:00
Roberto Rosario
43260b87c5 Remove OpenBSD from OS list
GitLab issues #594, #612.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-16 15:09:49 -04:00
Roberto Rosario
5b78a7c60c Remove old Docker READMEs
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-15 05:13:54 -04:00
Roberto Rosario
2e5ee2740a Remove repeated documentation entry
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-15 04:53:40 -04:00
Roberto Rosario
85b8d281cc Update translation files
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-15 04:53:23 -04:00
Roberto Rosario
69d33bef7c Fix workflow proxy no-result message
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-15 03:35:04 -04:00
Roberto Rosario
3f86dfc902 Fix typo
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-15 02:25:00 -04:00
Roberto Rosario
111250fd99 Update usage of "an user"
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-15 02:17:55 -04:00
Roberto Rosario
f17d13d68f Delete backup config without raising exceptions
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 03:29:21 -04:00
Roberto Rosario
1f5c81eaf5 Update build string
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 03:02:29 -04:00
Roberto Rosario
b4dafb20ad Bump version to 3.2.1
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 03:01:40 -04:00
Roberto Rosario
70dab1fd30 Update translation files
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 02:59:19 -04:00
Roberto Rosario
bb3e010a93 Collapse sidebar on small screen
Display sidebar at the bottom of the screen on small displays.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 02:38:39 -04:00
Roberto Rosario
4b9043b882 Remove sidebar floar right
Fixes GitLab issue #600. Thanks to Frédéric Sheedy
(@fsheedy) for the report and debug information.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 02:36:59 -04:00
Roberto Rosario
727fe78d8b Add check for app references
Point users to release notes for details when app references are not updated.
GitLab issue #603. Thanks to Vikas Kedia (@vikaskedia) for the report.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 02:16:37 -04:00
Roberto Rosario
7650ef17c0 Use YAML SafeDumper to avoid adding YAML tags
Closes GitLab issue #599. Thanks to Frédéric Sheedy
(@fsheedy) for the report and debug information.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 01:42:15 -04:00
Roberto Rosario
9558c5e6dc Update release notes
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 00:58:49 -04:00
Roberto Rosario
cb1e90e19b Add PostgreSQL troubleshooting entry
MAYAN_DATABASE_CONN_MAX_AGE when used with Gunicorn and a microthreads
backend will have the reverse effect of exhausting the connections
faster as they are not shared between threads.

GitLab issues #523 and #602

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 00:49:30 -04:00
Roberto Rosario
b5823358cb Remove repeated release notes entry
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 00:35:48 -04:00
Roberto Rosario
dcc8b8b174 Fix sub cabinet creation view
Thanks to Frédéric Sheedy (@fsheedy) for the report.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 00:31:46 -04:00
Roberto Rosario
891861eaf5 Raise errors when DEBUG is True
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-14 00:20:14 -04:00
Roberto Rosario
8d0f14a40c Fix documentation formatting
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-13 12:15:28 -04:00
Roberto Rosario
f53a3f7959 Fix docker version file path
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-13 04:12:54 -04:00
Roberto Rosario
1d5972da3b Update build string
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-13 02:43:03 -04:00
Roberto Rosario
8fe90ea7f1 Update release version of docs
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-13 02:42:00 -04:00
Roberto Rosario
037c2b6118 Bump version to 3.2
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-13 02:41:49 -04:00
Roberto Rosario
06307ff29c Remove unused import
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-13 02:39:41 -04:00
Roberto Rosario
0c37685302 Remove copyright date range
Copyright date ranges are not necessary. Berne Convention and all
copyright reciprocity pacts offer protection for at least 50 years
after the death of the author. Copyright is automatic for all countries
in the agreement and equally enforceable.
https://www.copyright.gov/circs/circ38a.pdf

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-13 02:33:13 -04:00
Roberto Rosario
4d52dbde39 Update documentation
Fix typos, expand and update FAQ.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-13 02:20:44 -04:00
Roberto Rosario
9836ca3ef3 Ignore documentation builds
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-13 02:19:23 -04:00
Roberto Rosario
538e0c6f3b Add watchfolder troubleshooting
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-12 03:55:53 -04:00
Roberto Rosario
0ced976b0c Update Docker watch folder chapter
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-12 03:45:11 -04:00
Roberto Rosario
7f43a8d5a3 Add support for locked files for watchfolder
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-12 03:40:13 -04:00
Roberto Rosario
0ae960d96c Add missing metadata app migration
Add migration to update the dotted path of the validators and parsers.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-12 01:28:09 -04:00
Roberto Rosario
2e80c6a00b Collect .html files, required by drf-yasg
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-12 01:16:36 -04:00
Roberto Rosario
590c76bf64 Fix text typos
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-12 00:51:21 -04:00
Roberto Rosario
41f86b35f2 Only patch the bootstrap CSS files
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-11 05:26:59 -04:00
Roberto Rosario
d70a1ef079 Open files using the Path object directly
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-11 05:26:27 -04:00
Roberto Rosario
fa678b09bc Improve settings descriptions
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-11 01:12:23 -04:00
Roberto Rosario
fe3d2e85c2 Transform the UUID search field based on database
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-11 01:11:46 -04:00
Roberto Rosario
2ce0528712 Only search pages for documents not in trash
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 03:50:22 -04:00
Roberto Rosario
e091c07ed6 PEP8 cleanups
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 03:43:45 -04:00
Roberto Rosario
f66328139e Add document ACLs workflow actions
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 03:43:39 -04:00
Roberto Rosario
505e0bd68b Use a queryset for the user search model
Avoid return super admin as search results.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 03:12:20 -04:00
Roberto Rosario
80ebe4ecce Support passing a queryset to the search model
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 03:11:56 -04:00
Roberto Rosario
0f9c226a1e Add sortable role label column
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 03:03:43 -04:00
Roberto Rosario
6789ecf1bb Switch page search to use the DocumentPage model
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 02:59:59 -04:00
Roberto Rosario
a008607d40 Support search model list mode
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 02:59:33 -04:00
Roberto Rosario
eb32820864 Support search model selection
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 02:30:37 -04:00
Roberto Rosario
3e48a422b7 Return sorted search models
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 02:28:33 -04:00
Roberto Rosario
f6c5a4f9cf Add labels for user and group search models
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 02:27:59 -04:00
Roberto Rosario
f160de4381 Allow passing search model via querystring
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 02:27:30 -04:00
Roberto Rosario
0d6462831a Deregister ephimeral models from ModelPermissions
Explictly delete the ephimeral models from ModelPermission
registry to avoid them being lookedup in a subsequent tests
where they don't exist.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-10 01:09:37 -04:00
Roberto Rosario
749208b5f8 Update patching code to work on Python 2.7
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-09 15:05:33 -04:00
Roberto Rosario
72ade29f77 Add Latvian translation
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-09 14:51:03 -04:00
Roberto Rosario
325fe3225a Update source translation files
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-09 03:25:30 -04:00
Roberto Rosario
30f3a0563c Update build string
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-09 03:16:21 -04:00
Roberto Rosario
62fdec575f Bump version to 3.2rc1
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-09 03:15:18 -04:00
Roberto Rosario
7407c67347 Improve access grant and remove action form
Sort content type list of the access grant and remove action.
Use select2 for the content type filed of the access
grant and remove action.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-09 03:12:17 -04:00
Roberto Rosario
cbfab25c94 Fix access grant and revoke workflow actions
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-09 03:04:36 -04:00
Roberto Rosario
2ae2dfd687 Add support for form media to DynamicFormMixin
Fix tag attach and remove action form media.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-09 02:30:13 -04:00
Roberto Rosario
e5c92487de Improve the transition trigger list view
Display event type namespaces in the transition trigger view.
Sort events type list in the transition trigger view.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-09 01:58:43 -04:00
Roberto Rosario
8c96567094 Disable hiding page navigation on idle
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-08 21:52:25 -04:00
Roberto Rosario
d3041eb2d5 Improve workflow views titles
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-08 21:35:43 -04:00
Roberto Rosario
047f48d39f Rename the label and description field for clarity
Add the 'document' prefix to the field labels for clarirty.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-08 21:28:43 -04:00
Roberto Rosario
34d7ff6e01 Fix tag attach and remove workflow actions
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-08 21:25:09 -04:00
Roberto Rosario
c7474cae1b Add support for search field transformations
Add search transformation to the document UUID field
to remove dashes.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-08 20:52:59 -04:00
Roberto Rosario
74f333d16c Improve search negation logic
Only dashes at the start of terms and outside of quotes are now
interpreted as negation.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-08 20:47:20 -04:00
Roberto Rosario
6f6ddfbc82 Allow searching documents by UUID
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-08 17:41:53 -04:00
Roberto Rosario
2fcb36c568 Support Google Font dependencies
Allow downloading fonts from Google Font at install time.
Closes GitLab issue #595, thanks to Martin (@efelon) for the
report. Closes re-opened GitLab issue #343.
Remove included Lato font.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-08 17:36:58 -04:00
Roberto Rosario
db5511127d Update HTTP workflow action to new requests API
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-04 16:00:19 -04:00
Roberto Rosario
807dd849c5 Add no-result for workflow instance detail view
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-03 20:48:54 -04:00
Roberto Rosario
602774a390 Add note about the new preparestatic command
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-03 20:37:18 -04:00
Roberto Rosario
0b044f1e21 Invert Action Object and Target columns
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-03 20:31:51 -04:00
Roberto Rosario
0440e1a838 Remove repeated EMAIL_TIMEOUT setting
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-06-03 20:29:41 -04:00
Roberto Rosario
eac9940207 Remove duplicated auth_token_obtain view URL
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-05-31 00:40:46 -04:00
Roberto Rosario
65aa6a8f38 Remove list check from .check_user_permissions()
All callers are expected to pass the correct argument.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-05-31 00:33:23 -04:00
Roberto Rosario
39af4f9f8a Fix trashed document previews
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-05-31 00:24:14 -04:00
Roberto Rosario
33929576fc Allow passing a manager
Add a manager argument to check_access to avoid using the
the default manager blindly. Used for models with more than one
manager like the Document model.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-05-31 00:22:52 -04:00
Roberto Rosario
18b42a03c8 Put deletion policies units before periods
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-05-30 23:40:44 -04:00
Roberto Rosario
d1f6a6b059 Update use of collectstatic to preparestatic
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-05-30 23:40:37 -04:00
Roberto Rosario
4252e37748 Fix text typo
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-05-28 16:38:19 -04:00
1588 changed files with 32783 additions and 31026 deletions

2
.gitignore vendored
View File

@@ -30,4 +30,6 @@ static_collected/
/venv/
/venv3/
/whoosh_index/
google_fonts/
node_modules/
docs/build/

View File

@@ -17,7 +17,7 @@ job_docker_build:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE" -f docker/Dockerfile .
- VERSION=`cat docker/version`
- VERSION=`cat docker/rootfs/version`
- docker tag "$CI_REGISTRY_IMAGE" "$CI_REGISTRY_IMAGE:$VERSION"
- docker run --rm "$CI_REGISTRY_IMAGE:$VERSION" run-tests
- docker push "$CI_REGISTRY_IMAGE:$VERSION"
@@ -37,7 +37,7 @@ job_docker_push:
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- VERSION=`cat docker/version`
- VERSION=`cat docker/rootfs/version`
- docker pull "$CI_REGISTRY_IMAGE:$VERSION"
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:"$VERSION"
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:latest
@@ -63,6 +63,7 @@ job_docker_nightly:
only:
- nightly
- staging
- /^clients\/.+$/
job_documentation_build:
stage: build_documentation
@@ -158,9 +159,9 @@ job_push_python:
- releases/all
- releases/docker
- releases/python
- master
- staging
- nightly
- /^clients\/.+$/
test-mysql:
<<: *test_base

14
CHANGES_BC.rst Normal file
View File

@@ -0,0 +1,14 @@
- Use Select2 widget for the document type selection form.
- Update source column matching to be additive and not exclusive.
- Add two columns to show the number of documents per workflow and
workflow state.
- Sort module.
- Add link to sort individual indexes.
- Support exclusions from source columns.
- Improve source column exclusion. Improve for model subclasses in partial querysets.
- Add sortable index instance label column.
- Add rectangle drawing transformation.
- Redactions app.
- Remove duplicated trashed document preview.
- Add label to trashed date and time document source column.
- Tag created event fix.

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
Copyright 2011-2018 Roberto Rosario
Copyright 2011 Roberto Rosario
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@@ -9,6 +9,6 @@ __author__ = 'Roberto Rosario'
__author_email__ = 'roberto.rosario@mayan-edms.com'
__description__ = 'Free Open Source Electronic Document Management System'
__license__ = 'Apache 2.0'
__copyright_short__ = '2011-2018 Roberto Rosario'
__copyright_short__ = '2011 Roberto Rosario'
__copyright__ = '{} {}'.format('Copyright', __copyright_short__)
__website__ = 'https://www.mayan-edms.com'

View File

@@ -1,72 +0,0 @@
#!/usr/bin/env bash
INSTALLATION_DIRECTORY=/home/vagrant/mayan-edms/
DB_NAME=mayan_edms
DB_PASSWORD=test123
cat << EOF | sudo tee -a /etc/motd.tail
**********************************sudo apt
Mayan EDMS Vagrant Development Box
**********************************
EOF
# Update sources
echo -e "\n -> Running apt-get update & upgrade \n"
sudo apt-get -qq update
sudo apt-get -y upgrade
echo -e "\n -> Installing core binaries \n"
sudo apt-get -y install git-core python-virtualenv gcc python-dev libjpeg-dev libpng-dev libtiff-dev tesseract-ocr poppler-utils libreoffice
echo -e "\n -> Cloning development branch of repository \n"
git clone /mayan-edms-repository/ $INSTALLATION_DIRECTORY
cd $INSTALLATION_DIRECTORY
git checkout development
git reset HEAD --hard
echo -e "\n -> Setting up virtual env \n"
virtualenv venv
source venv/bin/activate
echo -e "\n -> Installing python dependencies \n"
pip install -r requirements.txt
echo -e "\n -> Running Mayan EDMS initial setup \n"
./manage.py initialsetup
echo -e "\n -> Installing Redis server \n"
sudo apt-get install -y redis-server
pip install redis
echo -e "\n -> Installing testing software \n"
pip install coverage
echo -e "\n -> Installing MySQL \n"
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password '$DB_PASSWORD
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password '$DB_PASSWORD
sudo apt-get install -y mysql-server libmysqlclient-dev
# Create a passwordless root and travis users
mysql -u root -p$DB_PASSWORD -e "SET PASSWORD = PASSWORD('');"
mysql -u root -e "CREATE USER 'travis'@'localhost' IDENTIFIED BY '';GRANT ALL PRIVILEGES ON * . * TO 'travis'@'localhost';FLUSH PRIVILEGES;"
mysql -u travis -e "CREATE DATABASE $DB_NAME;"
pip install mysql-python
echo -e "\n -> Installing PostgreSQL \n"
sudo apt-get install -y postgresql postgresql-server-dev-all
sudo -u postgres psql -c 'create database mayan_edms;' -U postgres
sudo cat > /etc/postgresql/9.3/main/pg_hba.conf << EOF
local all postgres trust
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
EOF
pip install -q psycopg2

File diff suppressed because it is too large Load Diff

View File

@@ -1,171 +0,0 @@
#!/usr/bin/env bash
# ====== CONFIG ======
INSTALLATION_DIRECTORY=/usr/share/mayan-edms/
DB_NAME=mayan_edms
DB_USERNAME=mayan
DB_PASSWORD=test123
# ==== END CONFIG ====
cat << EOF | tee -a /etc/motd.tail
**********************************
Mayan EDMS Vagrant Production Box
**********************************
EOF
echo -e "\n -> Running apt-get update & upgrade \n"
apt-get -qq update
apt-get -y upgrade
echo -e "\n -> Installing core binaries \n"
apt-get install nginx supervisor redis-server postgresql libpq-dev libjpeg-dev libmagic1 libpng-dev libreoffice libtiff-dev gcc ghostscript gpgv python-dev python-virtualenv tesseract-ocr poppler-utils -y
echo -e "\n -> Setting up virtualenv \n"
rm -f ${INSTALLATION_DIRECTORY}
virtualenv ${INSTALLATION_DIRECTORY}
source ${INSTALLATION_DIRECTORY}bin/activate
echo -e "\n -> Installing Mayan EDMS from PyPI \n"
pip install mayan-edms
echo -e "\n -> Installing Python client for PostgreSQL, Redis, and uWSGI \n"
pip install psycopg2 redis uwsgi
echo -e "\n -> Creating the database for the installation \n"
echo "CREATE USER mayan WITH PASSWORD '$DB_PASSWORD';" | sudo -u postgres psql
sudo -u postgres createdb -O $DB_USERNAME $DB_NAME
echo -e "\n -> Creating the directories for the logs \n"
mkdir /var/log/mayan
echo -e "\n -> Making a convenience symlink \n"
cd ${INSTALLATION_DIRECTORY}
ln -s lib/python2.7/site-packages/mayan .
echo -e "\n -> Creating an initial settings file \n"
mayan-edms.py createsettings
echo -e "\n -> Updating the mayan/settings/local.py file \n"
cat >> mayan/settings/local.py << EOF
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '$DB_NAME',
'USER': '$DB_USERNAME',
'PASSWORD': '$DB_PASSWORD',
'HOST': 'localhost',
'PORT': '5432',
}
}
BROKER_URL = 'redis://127.0.0.1:6379/0'
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/0'
EOF
echo -e "\n -> Migrating the database or initialize the project \n"
mayan-edms.py initialsetup
echo -e "\n -> Disabling the default NGINX site \n"
rm -f /etc/nginx/sites-enabled/default
echo -e "\n -> Creating a uwsgi.ini file \n"
cat > uwsgi.ini << EOF
[uwsgi]
chdir = ${INSTALLATION_DIRECTORY}lib/python2.7/site-packages/mayan
chmod-socket = 664
chown-socket = www-data:www-data
env = DJANGO_SETTINGS_MODULE=mayan.settings.production
gid = www-data
logto = /var/log/uwsgi/%n.log
pythonpath = ${INSTALLATION_DIRECTORY}lib/python2.7/site-packages
master = True
max-requests = 5000
socket = ${INSTALLATION_DIRECTORY}uwsgi.sock
uid = www-data
vacuum = True
wsgi-file = ${INSTALLATION_DIRECTORY}lib/python2.7/site-packages/mayan/wsgi.py
EOF
echo -e "\n -> Creating the directory for the uWSGI log files \n"
mkdir -p /var/log/uwsgi
echo -e "\n -> Creating the NGINX site file for Mayan EDMS, /etc/nginx/sites-available/mayan \n"
cat > /etc/nginx/sites-available/mayan << EOF
server {
listen 80;
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass unix:${INSTALLATION_DIRECTORY}uwsgi.sock;
client_max_body_size 30M; # Increse if your plan to upload bigger documents
proxy_read_timeout 30s; # Increase if your document uploads take more than 30 seconds
}
location /static {
alias ${INSTALLATION_DIRECTORY}mayan/media/static;
expires 1h;
}
location /favicon.ico {
alias ${INSTALLATION_DIRECTORY}mayan/media/static/appearance/images/favicon.ico;
expires 1h;
}
}
EOF
echo -e "\n -> Enabling the NGINX site for Mayan EDMS \n"
ln -s /etc/nginx/sites-available/mayan /etc/nginx/sites-enabled/
echo -e "\n -> Creating the supervisor file for the uWSGI process, /etc/supervisor/conf.d/mayan-uwsgi.conf \n"
cat > /etc/supervisor/conf.d/mayan-uwsgi.conf << EOF
[program:mayan-uwsgi]
command = ${INSTALLATION_DIRECTORY}bin/uwsgi --ini ${INSTALLATION_DIRECTORY}uwsgi.ini
user = root
autostart = true
autorestart = true
redirect_stderr = true
EOF
echo -e "\n -> Creating the supervisor file for the Celery worker, /etc/supervisor/conf.d/mayan-celery.conf \n"
cat > /etc/supervisor/conf.d/mayan-celery.conf << EOF
[program:mayan-worker]
command = ${INSTALLATION_DIRECTORY}bin/python ${INSTALLATION_DIRECTORY}bin/mayan-edms.py celery --settings=mayan.settings.production worker -Ofair -l ERROR
directory = ${INSTALLATION_DIRECTORY}
user = www-data
stdout_logfile = /var/log/mayan/worker-stdout.log
stderr_logfile = /var/log/mayan/worker-stderr.log
autostart = true
autorestart = true
startsecs = 10
stopwaitsecs = 10
killasgroup = true
priority = 998
[program:mayan-beat]
command = ${INSTALLATION_DIRECTORY}bin/python ${INSTALLATION_DIRECTORY}bin/mayan-edms.py celery --settings=mayan.settings.production beat -l ERROR
directory = ${INSTALLATION_DIRECTORY}
user = www-data
numprocs = 1
stdout_logfile = /var/log/mayan/beat-stdout.log
stderr_logfile = /var/log/mayan/beat-stderr.log
autostart = true
autorestart = true
startsecs = 10
stopwaitsecs = 1
killasgroup = true
priority = 998
EOF
echo -e "\n -> Collecting the static files \n"
mayan-edms.py preparestatic --noinput
echo -e "\n -> Making the installation directory readable and writable by the webserver user \n"
chown www-data:www-data ${INSTALLATION_DIRECTORY} -R
echo -e "\n -> Restarting the services \n"
/etc/init.d/nginx restart
/etc/init.d/supervisor restart

View File

@@ -14,7 +14,7 @@ APP_LIST = (
'django_gpg', 'document_comments', 'document_indexing',
'document_parsing', 'document_signatures', 'document_states',
'documents', 'dynamic_search', 'events', 'file_metadata', 'linking',
'lock_manager', 'mayan_statistics', 'mailer', 'metadata', 'mirroring',
'lock_manager', 'mailer', 'mayan_statistics', 'metadata', 'mirroring',
'motd', 'navigation', 'ocr', 'permissions', 'platform', 'rest_api',
'smart_settings', 'sources', 'storage', 'tags', 'task_manager',
'user_management'
@@ -22,7 +22,7 @@ APP_LIST = (
LANGUAGE_LIST = (
'ar', 'bg', 'bs_BA', 'cs', 'da_DK', 'de_DE', 'en', 'es', 'el', 'fa', 'fr',
'hu', 'id', 'it', 'nl_NL', 'pl', 'pt', 'pt_BR', 'ro_RO', 'ru', 'sl_SI',
'hu', 'id', 'it', 'lv', 'nl_NL', 'pl', 'pt', 'pt_BR', 'ro_RO', 'ru', 'sl_SI',
'tr_TR', 'vi_VN', 'zh',
)

View File

@@ -1,35 +0,0 @@
#!/bin/bash
NAME="mayan-edms"
DJANGODIR=/usr/share/mayan-edms
SOCKFILE=/var/tmp/filesystem.sock
USER=www-data
GROUP=www-data
NUM_WORKERS=3
DJANGO_SETTINGS_MODULE=mayan.settings.production
DJANGO_WSGI_MODULE=mayan.wsgi
TIMEOUT=600
echo "Starting $NAME as `whoami`"
# Activate the virtual environment
cd $DJANGODIR
source bin/activate
export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE
export PYTHONPATH=$DJANGODIR:$PYTHONPATH
# Create the run directory if it doesn't exist
RUNDIR=$(dirname $SOCKFILE)
test -d $RUNDIR || mkdir -p $RUNDIR
# Start your Django Unicorn
# Programs meant to be run under supervisor should not daemonize themselves (do not use --daemon)
exec bin/gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $NUM_WORKERS \
--user=$USER --group=$GROUP \
--log-level=debug \
--bind=unix:$SOCKFILE \
--timeout=$TIMEOUT

View File

@@ -122,7 +122,7 @@ RUN python -m virtualenv "${PROJECT_INSTALL_DIR}" \
# Install the built Mayan EDMS package
&& pip install --no-cache-dir --no-use-pep517 dist/mayan* \
# Install the static content
&& mayan-edms.py installjavascript \
&& mayan-edms.py installdependencies \
&& MAYAN_STATIC_ROOT=${PROJECT_INSTALL_DIR}/static mayan-edms.py preparestatic --link --noinput
COPY --chown=mayan:mayan requirements/testing-base.txt "${PROJECT_INSTALL_DIR}"

View File

@@ -1 +0,0 @@
Mayan EDMS is a free open source electronic document management system.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -22,6 +22,7 @@ export MAYAN_SETTINGS_MODULE=${MAYAN_SETTINGS_MODULE:-mayan.settings.production}
export MAYAN_GUNICORN_BIN=${MAYAN_PYTHON_BIN_DIR}gunicorn
export MAYAN_GUNICORN_WORKERS=${MAYAN_GUNICORN_WORKERS:-2}
export MAYAN_GUNICORN_TIMEOUT=${MAYAN_GUNICORN_TIMEOUT:-120}
export MAYAN_PIP_BIN=${MAYAN_PYTHON_BIN_DIR}pip
export MAYAN_STATIC_ROOT=${MAYAN_INSTALL_DIR}/static

View File

@@ -1 +1 @@
3.2b1
3.2.6

View File

@@ -4,7 +4,6 @@ Direct deployments
Mayan EDMS should be deployed like any other Django_ project and
preferably using virtualenv_. Below are some ways to deploy and use Mayan EDMS.
Do not use more than one method.
Being a Django_ and a Python_ project, familiarity with these technologies is
recommended to better understand why Mayan EDMS does some of the things it
@@ -12,7 +11,7 @@ does.
Compilers and development libraries will be installed to compile runtime
libraries. LibreOffice and Poppler utils will also be installed as they are
used to convert document files. Supervisor (http://supervisord.org/), a
used to convert document files. Supervisor (https://supervisord.org/), a
Process Control System, will be used to monitor and keep all Mayan processes
running.
@@ -38,12 +37,12 @@ For another setup that offers more performance and scalability refer to the
Platforms with the ARM CPU might also need additional requirements.
::
apt-sudo get libffi-dev libssl-dev -y
sudo apt-get install libffi-dev libssl-dev -y
2. Create the user account for the installation:
------------------------------------------------
This will create an unpriviledge user account that is also unable to login.
This will create an unprivileged user account that is also unable to login.
::
sudo adduser mayan --disabled-password --disabled-login --no-create-home --gecos ""
@@ -61,7 +60,7 @@ For another setup that offers more performance and scalability refer to the
4. Create the Python virtual environment:
-----------------------------------------
This will keep all the Python packages installed here isolated from the rest
of the Pythoon packages in the system.
of the Python packages in the system.
::
sudo virtualenv /opt/mayan-edms
@@ -113,9 +112,9 @@ For another setup that offers more performance and scalability refer to the
For simplicity, the ``MAYAN_MEDIA_ROOT`` folder is set to be a subfolder
of the installation. If you want to keep your files separated from
the installation files, change the value of the ``MAYAN_MEDIR_ROOT``
the installation files, change the value of the ``MAYAN_MEDIA_ROOT``
variable in this and all subsequent steps. Be sure to first create the
folder and give owership of it to the ``mayan`` user with the ``chown``
folder and give ownership of it to the ``mayan`` user with the ``chown``
command.
.. warning::
@@ -128,9 +127,8 @@ For another setup that offers more performance and scalability refer to the
::
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
sudo -u mayan MAYAN_DATABASES="{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayanuserpass','USER':'mayan','HOST':'127.0.0.1'}}" \
MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py initialsetup
@@ -149,29 +147,28 @@ For another setup that offers more performance and scalability refer to the
------------------------------------------------------------------------
::
MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
sudo mayan MAYAN_DATABASES="{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayanuserpass','USER':'mayan','HOST':'127.0.0.1'}}" \
MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
12. Configure Redis:
--------------------
Configure Redit to discard data when it runs out of memory, not save its
Configure Redis to discard data when it runs out of memory, not save its
database and only keep 1 database:
::
echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf
echo "save \"\"" >> /etc/redis/redis.conf
echo "databases 1" >> /etc/redis/redis.conf
systemctl restart redis
sudo echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf
sudo echo "save \"\"" >> /etc/redis/redis.conf
sudo echo "databases 1" >> /etc/redis/redis.conf
sudo systemctl restart redis
13. Enable and restart the services [1_]:
-----------------------------------------
::
systemctl enable supervisor
systemctl restart supervisor
sudo systemctl enable supervisor
sudo systemctl restart supervisor
14. Cleaning up:
@@ -180,7 +177,7 @@ For another setup that offers more performance and scalability refer to the
installation and can be removed.
::
apt-get remove --purge libjpeg-dev libpq-dev libpng-dev libtiff-dev zlib1g-dev
sudo apt-get remove --purge libjpeg-dev libpq-dev libpng-dev libtiff-dev zlib1g-dev
.. _deployment_advanced:
@@ -227,7 +224,7 @@ of a restart or power failure. The Gunicorn workers are increased to 3.
with::
MAYAN_BROKER_URL="amqp://mayan:mayanuserpass@localhost:5672/mayan",
MAYAN_BROKER_URL="amqp://mayan:mayanrabbitmqpassword@localhost:5672/mayan",
increase the number of Gunicorn workers to 3 in the line (``-w 2`` section)::
@@ -240,7 +237,7 @@ of a restart or power failure. The Gunicorn workers are increased to 3.
------------------------
::
supervisorctl restart all
sudo supervisorctl restart all

View File

@@ -248,9 +248,6 @@ Special branches:
``releases/python``
Used by the continuous delivery system to trigger the build and release
of a new Python package to PyPI.
``releases/python``
Used by the continuous delivery system to trigger the build and release
of a new Python package to PyPI.
``nightly``
Used by the continuous delivery system to trigger the build and release
of a new Docker image based on development code to the GitLab image
@@ -482,7 +479,7 @@ Release checklist
make check-readme
#. Bump version in ``mayan/__init__.py`` and ``docker/version``::
#. Bump version in ``mayan/__init__.py`` and ``docker/rootfs/version``::
make increase-version PART=<major, minor or micro>

View File

@@ -43,7 +43,7 @@ expose its internal 5432 port (PostgreSQL's default port) via the host's
5432 port. The data of this container will reside on the host's
``/docker-volumes/mayan-edms/postgres`` folder.
Finally create and run a Mayan EDMS container.
Finally create and run a Mayan EDMS container::
docker run -d \
--name mayan-edms \
@@ -288,18 +288,21 @@ on purpose. For example, to make a folder in the host accessible as a watch
folder, add the following to the Docker command line when starting the
container::
-v /opt/scanned_files:/srv/watch_folder
-v /opt/scanned_files:/scanned_files
The command line would look like this::
docker run ... -v /opt/scanned_files:/srv/watch_folder mayanedms/mayanedms:latest
docker run ... -v /opt/scanned_files:/scanned_files mayanedms/mayanedms:latest
Now create a watch folder in Mayan EDMS using the path ``/srv/watch_folder``
Now create a watch folder in Mayan EDMS using the path ``/scanned_files``
and the documents from the host folder ``/opt/scanned_files`` will be
automatically available. Use the same procedure to mount host folders to be
used as staging folderes. In this example ``/srv/watch_folder`` was as the
container directory, but any path can be used as long as it is not an
already existing path or a path used by any other program.
used as staging folders. In this example ``/scanned_files`` was used as the
container directory, but any path can be used as long as:
- the path not an already existing path
- the path is not used by any other program
- the path is a single level path
Performing backups
@@ -310,7 +313,7 @@ For the example::
docker run -d --name mayan-edms --restart=always -p 80:8000 \
-v /docker-volumes/mayan:/var/lib/mayan \
-v /opt/scanned_files:/srv/watch_folder mayanedms/mayanedms:latest
-v /opt/scanned_files:/scanned_files mayanedms/mayanedms:latest
That would be the ``/docker-volumes/mayan folder``::
@@ -376,7 +379,7 @@ Execute Docker's build command using the provided makefile::
make docker-build
Or using an apt cacher to speed up the build::
Or using an APT cache to speed up the build::
make docker-build-with-proxy APT_PROXY=172.17.0.1:3142

View File

@@ -111,8 +111,8 @@ Index documents not found in any cabinet
{% if document.cabinets.count == 0 %}No Cabinets{% endif %}
Index untagged documents
^^^^^^^^^^^^^^^^^^^^^^^^
Index documents not tagged
^^^^^^^^^^^^^^^^^^^^^^^^^^
::
{% if document.tags.count == 0 %}No Tags{% endif %}

View File

@@ -74,6 +74,6 @@ Creating new sources
#. Go to the :menuselection:`System --> Setup --> Sources` menu.
#. From the :guilabel:`Actions` dropdown select the new type of source to create.
#. Each source type will have different fields to customize its behaviour. Enter
#. Each source type will have different fields to customize its behavior. Enter
the required information in each field based on the help text provided.
#. Press :guilabel:`Save`.

View File

@@ -76,5 +76,5 @@ Uploading a new document version
#. From the :guilabel:`Actions` dropdown select :guilabel:`Upload new version`.
#. Optionally type a comment explaining the changes in the new version.
#. Press the :guilabel:`Browse` button and select a new file.
#. Press :guilabel:`Save` upload the new verision.
#. Press :guilabel:`Save` upload the new version.

View File

@@ -26,7 +26,7 @@ Motivation
==========
As the project grows, legibility of code becomes more important. Keyword
argument help document the use of services, clases and functions. Refactors
argument help document the use of services, classes and functions. Refactors
that affect the interface of services are also easier to find and update and
fix. Positional argument can cause a call to continue working as long as the
datatype of the argument remains the same. Usage of keyword arguments will
@@ -121,7 +121,7 @@ After:
Keyword arguments should also be used for callables that pass those to others
down the line like Django's ``reverse`` function. Any change to the name of
the ``pk`` URL parameter will raise an exception in this code alerting to
any posible incompatible use.
any possible incompatible use.
Example:
@@ -138,7 +138,7 @@ This becomes even more important when multiple URL parameters are used. Since
the API documentation is auto generated from the code itself, it would make
sense to rename the first URL parameter from ``pk`` to ``document_pk``. Such
change will cause all address to view resolutions to break forcing their
update and allowing all consumers' interface usage to remain synchonized to the
update and allowing all consumers' interface usage to remain synchronized to the
callable's interface.
.. code-block:: python

View File

@@ -16,7 +16,7 @@ MERC 6: Lower information disclose
Abstract
========
This MERC proposes the use of errors that don't disclose the existance of a
This MERC proposes the use of errors that don't disclose the existence of a
resource in the event that the requester doesn't have the required credentials.
Motivation
@@ -43,7 +43,7 @@ Since most view use the internal custom CRUD classes making a change to the
failure will fulfill the proposal of this MERC.
Adding the ``object_permission_raise_404`` class attribute and setting it
to default to False will allow fulfullin the goal of this MERC while
to default to False will allow fulfilling the goal of this MERC while
keeping the existing functionality intact.

View File

@@ -17,11 +17,11 @@ Version 0.11
* Added a view to delete the document image cache, useful when switching
converter backends or doing diagnostics.
* Added South to the requirements.
* Merged documents' filename and extension database fiels into a single
* Merged documents' filename and extension database fields into a single
filename field, filename are store as uploaded not manipulation is done
Users with existing data must install South and run the appropiate
Users with existing data must install South and run the appropriate
migrate commands::
$ pip install -r requirements/production.txt
$ ./manager syncdb
$ ./manage.py migrate documents 0001 --fake
@@ -30,5 +30,5 @@ Version 0.11
* Added new office document mimetype
* application/vnd.ms-office
* Fixed documents not saving the file encoding
* Removed extra slash in ajax-loader.gif URL fixes #15, thanks to
* Removed extra slash in ajax-loader.gif URL fixes #15, thanks to
IHLeanne for finding this one

119
docs/releases/3.2.1.rst Normal file
View File

@@ -0,0 +1,119 @@
Version 3.2.1
=============
Released: June 14, 2019
Changes
-------
- Fix sub cabinet creation view. Thanks to Frédéric Sheedy
(@fsheedy) for the report.
- Add PostgreSQL troubleshooting entry. Closes GitLab
issues #523 and #602
- Use YAML SafeDumper to avoid adding YAML datatype tags.
Closes GitLab issue #599. Thanks to Frédéric Sheedy
(@fsheedy) for the report and debug information.
- Add check for app references and point users to release notes for details.
GitLab issue #603. Thanks to Vikas Kedia (@vikaskedia) for the report.
- Remove sidebar floar right.
Fixed GitLab issue #600. Thanks to Frédéric Sheedy
(@fsheedy) for the report and debug information.
- Collapse sidebar on small screen
Display sidebar at the bottom of the screen on small displays.
Removals
--------
- None
Upgrading from a previous version
---------------------------------
If installed via Python's PIP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Remove deprecated requirements::
$ curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt | pip uninstall -r /dev/stdin
Type in the console::
$ pip install mayan-edms==3.2.1
the requirements will also be updated automatically.
Using Git
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
$ git reset --hard HEAD
$ git pull
otherwise download the compressed archived and uncompress it overriding the
existing installation.
Remove deprecated requirements::
$ pip uninstall -y -r removals.txt
Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
^^^^^^^^^^^^
Perform these steps after updating the code from either step above.
Make a backup of your supervisord file::
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
Update the supervisord configuration file. Replace the environment
variables values show here with your respective settings. This step will refresh
the supervisord configuration file with the new queues and the latest
recommended layout::
MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
Edit the supervisord configuration file and update any setting the template
generator missed::
vi /etc/supervisor/conf.d/mayan.conf
Migrate existing database schema with::
$ mayan-edms.py performupgrade
Add new static media::
$ mayan-edms.py preparestatic --noinput
The upgrade procedure is now complete.
Backward incompatible changes
-----------------------------
- None
Bugs fixed or issues closed
---------------------------
- :gitlab-issue:`523` PostgreSQL error about insufficient connections
- :gitlab-issue:`599` Settings display !!python/unicode with values since 3.2
- :gitlab-issue:`600` Layout broken if we change locale, since 3.2
- :gitlab-issue:`601` Error when creating new cabinet level
- :gitlab-issue:`602` System stops responding for a minute every 10 minutes or so
- :gitlab-issue:`603` ImportError: No module named appearance
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

109
docs/releases/3.2.2.rst Normal file
View File

@@ -0,0 +1,109 @@
Version 3.2.2
=============
Released: June 19, 2019
Changes
-------
- Fix document type change view. Closes GitLab issue #614.
Thanks to Christoph Roeder (@brightdroid) for the report.
- Fix document parsing tool view typo. Closes GitLab issue #615.
Thanks to Tyler Page (@iamtpage) for the report.
- Update the task_check_interval_source reference
GitLab issue #617. Thanks to Lukas Gill (@lukkigi) for
the report and debug information.
Removals
--------
- None
Upgrading from a previous version
---------------------------------
If installed via Python's PIP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Remove deprecated requirements::
$ curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt | pip uninstall -r /dev/stdin
Type in the console::
$ pip install mayan-edms==3.2.2
the requirements will also be updated automatically.
Using Git
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
$ git reset --hard HEAD
$ git pull
otherwise download the compressed archived and uncompress it overriding the
existing installation.
Remove deprecated requirements::
$ pip uninstall -y -r removals.txt
Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
^^^^^^^^^^^^
Perform these steps after updating the code from either step above.
Make a backup of your supervisord file::
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
Update the supervisord configuration file. Replace the environment
variables values show here with your respective settings. This step will refresh
the supervisord configuration file with the new queues and the latest
recommended layout::
MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
Edit the supervisord configuration file and update any setting the template
generator missed::
vi /etc/supervisor/conf.d/mayan.conf
Migrate existing database schema with::
$ mayan-edms.py performupgrade
Add new static media::
$ mayan-edms.py preparestatic --noinput
The upgrade procedure is now complete.
Backward incompatible changes
-----------------------------
- None
Bugs fixed or issues closed
---------------------------
- :gitlab-issue:`614` change type exception
- :gitlab-issue:`615` TypeError: success() got an unexpected keyword argument 'requrest'
- :gitlab-issue:`617` Watcher Task not running
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

113
docs/releases/3.2.3.rst Normal file
View File

@@ -0,0 +1,113 @@
Version 3.2.3
=============
Released: June 21, 2019
Changes
-------
- Add support for disabling the random primary key
test mixin.
- Fix mailing profile log columns mappings.
GitLab issue #626. Thanks to Jesaja Everling (@jeverling)
for the report.
- Fix the Django SMTP backend username field name.
GitLab issue #625. Thanks to Jesaja Everling (@jeverling)
for the report and the research.
- Increase the Django STMP username.
GitLab issue #625. Thanks to Jesaja Everling (@jeverling)
for the report and the research.
Removals
--------
- None
Upgrading from a previous version
---------------------------------
If installed via Python's PIP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Remove deprecated requirements::
$ curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt | pip uninstall -r /dev/stdin
Type in the console::
$ pip install mayan-edms==3.2.1
the requirements will also be updated automatically.
Using Git
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
$ git reset --hard HEAD
$ git pull
otherwise download the compressed archived and uncompress it overriding the
existing installation.
Remove deprecated requirements::
$ pip uninstall -y -r removals.txt
Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
^^^^^^^^^^^^
Perform these steps after updating the code from either step above.
Make a backup of your supervisord file::
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
Update the supervisord configuration file. Replace the environment
variables values show here with your respective settings. This step will refresh
the supervisord configuration file with the new queues and the latest
recommended layout::
MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
Edit the supervisord configuration file and update any setting the template
generator missed::
vi /etc/supervisor/conf.d/mayan.conf
Migrate existing database schema with::
$ mayan-edms.py performupgrade
Add new static media::
$ mayan-edms.py preparestatic --noinput
The upgrade procedure is now complete.
Backward incompatible changes
-----------------------------
- None
Bugs fixed or issues closed
---------------------------
- :gitlab-issue:`619` poplib.POP3_SSL and poplib.POP3 initialized with wrong kwarg
- :gitlab-issue:`625` mayan.apps.mailer.mailers.DjangoSMTP uses "user", but django.core.mail.backends.smtp.EmailBackend expects "username"
- :gitlab-issue:`626` Mailing profile error log is empty, despite errors
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

131
docs/releases/3.2.4.rst Normal file
View File

@@ -0,0 +1,131 @@
Version 3.2.4
=============
Released: June 29, 2019
Changes
-------
- Support configurable GUnicorn timeouts. Defaults to
current value of 120 seconds.
- Fix help text of the platformtemplate command.
- Fix IMAP4 mailbox.store flags argument. Python's documentation
incorrectly state it is named flag_list. Closes GitLab issue
#606. Thanks to Samuel Aebi (@samuelaebi) for the report and
debug information.
- Support configurable GUnicorn timeouts. Defaults to
current value of 120 seconds.
- Fix help text of the platformtemplate command.
- Fix IMAP4 mailbox.store flags argument. Python's documentation
incorrectly state it is named flag_list. Closes GitLab issue
#606.
- Improve the workflow preview generation. Use polylines
instead of splines. Add state actions to the preview.
Highlight the initial state.
- Add help text to the workflow transition form comment field.
- Fix direct deployment instructions.
- Add user, group, and role dashboard widgets.
- Add test mixin detect database connection leaks.
- Remove tag create event registration from the tag
instances. The tag create event is not applicable to
existing tags.
- Add proper redirection after moving a document to the
trash.
- Remove the INSTALLED_APPS setting. Replace it with
the new COMMON_EXTRA_APPS and COMMON_DISABLED_APPS.
- Improve email metadata support. Can now work on
email with nested parts. Also the metadata.yaml
attachment no longer needs to be the first attachment.
Removals
--------
- None
Upgrading from a previous version
---------------------------------
If installed via Python's PIP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Remove deprecated requirements::
$ curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt | pip uninstall -r /dev/stdin
Type in the console::
$ pip install mayan-edms==3.2.4
the requirements will also be updated automatically.
Using Git
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
$ git reset --hard HEAD
$ git pull
otherwise download the compressed archived and uncompress it overriding the
existing installation.
Remove deprecated requirements::
$ pip uninstall -y -r removals.txt
Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
^^^^^^^^^^^^
Perform these steps after updating the code from either step above.
Make a backup of your supervisord file::
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
Update the supervisord configuration file. Replace the environment
variables values show here with your respective settings. This step will refresh
the supervisord configuration file with the new queues and the latest
recommended layout::
sudo MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
Edit the supervisord configuration file and update any setting the template
generator missed::
sudo vi /etc/supervisor/conf.d/mayan.conf
Migrate existing database schema with::
$ mayan-edms.py performupgrade
Add new static media::
$ mayan-edms.py preparestatic --noinput
The upgrade procedure is now complete.
Backward incompatible changes
-----------------------------
- None
Bugs fixed or issues closed
---------------------------
- :gitlab-issue:`606` Delete after IMAP Processing
- :gitlab-issue:`628` mailbox.user in POP3Email gets passed keyword argument, but only accepts "user" or positional argument
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

117
docs/releases/3.2.5.rst Normal file
View File

@@ -0,0 +1,117 @@
Version 3.2.5
=============
Released: July 05, 2019
Changes
-------
- Don't error out if the EXTRA_APPS or the DISABLED_APPS settings
are set to blank.
- Update troubleshooting documentation topic.
- Add data migration to the file metadata app. Synchronizes the
document type settings model of existing document types.
- Fix cabinet and tags upload wizard steps missing some entries.
GitLab issue #632. Thanks to Matthias Urhahn (@d4rken) for the
report.
- Add alert when settings are changed and util the installation
is restarted. GitLab issue #605. Thanks to
Vikas Kedia (@vikaskedia) to the report.
- Update Django to version 1.11.22, PyYAML to version 5.1.1,
django-widget-tweaks to version 1.4.5, pathlib2 to version 2.3.4,
Werkzeug to version 0.15.4, django-extensions to version 2.1.9,
django-rosetta to version 0.9.3, psutil to version 5.6.3.
Removals
--------
- None
Upgrading from a previous version
---------------------------------
If installed via Python's PIP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Remove deprecated requirements::
$ curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt | pip uninstall -r /dev/stdin
Type in the console::
$ pip install mayan-edms==3.2.5
the requirements will also be updated automatically.
Using Git
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
$ git reset --hard HEAD
$ git pull
otherwise download the compressed archived and uncompress it overriding the
existing installation.
Remove deprecated requirements::
$ pip uninstall -y -r removals.txt
Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
^^^^^^^^^^^^
Perform these steps after updating the code from either step above.
Make a backup of your supervisord file::
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
Update the supervisord configuration file. Replace the environment
variables values show here with your respective settings. This step will refresh
the supervisord configuration file with the new queues and the latest
recommended layout::
sudo MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
Edit the supervisord configuration file and update any setting the template
generator missed::
sudo vi /etc/supervisor/conf.d/mayan.conf
Migrate existing database schema with::
$ mayan-edms.py performupgrade
Add new static media::
$ mayan-edms.py preparestatic --noinput
The upgrade procedure is now complete.
Backward incompatible changes
-----------------------------
- None
Bugs fixed or issues closed
---------------------------
- :gitlab-issue:`605` Project title fluctuates between default value and new value [Video]
- :gitlab-issue:`629` Cannot Upgrade to 3.2.X Docker Image
- :gitlab-issue:`632` Tags get lost when uploading through the webui
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

111
docs/releases/3.2.6.rst Normal file
View File

@@ -0,0 +1,111 @@
Version 3.2.6
=============
Released: July 10, 2019
Changes
-------
- Remove the smart settings app * import. Following MERC 0005.
- Encode settings YAML before hashing. Avoids unicode issues with Python 3.
- Fix document icon used in the workflow runtime links.
- Add trashed date time label.
- Fix thumbnail generation issue. GitLab issue #637.
Thanks to Giacomo Cariello (@giacomocariello) for the report
and the merge request fixing the issue.
Removals
--------
- None
Upgrading from a previous version
---------------------------------
If installed via Python's PIP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Remove deprecated requirements::
sudo -u mayan curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt -o /tmp/removals.txt && sudo -u mayan /opt/mayan-edms/bin/pip uninstall -y -r /tmp/removals.txt
Type in the console::
sudo -u mayan /opt/mayan-edms/bin/pip install mayan-edms==3.2.6
the requirements will also be updated automatically.
Using Git
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
$ git reset --hard HEAD
$ git pull
otherwise download the compressed archived and uncompress it overriding the
existing installation.
Remove deprecated requirements::
$ pip uninstall -y -r removals.txt
Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
^^^^^^^^^^^^
Perform these steps after updating the code from either step above.
Make a backup of your supervisord file::
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
Update the supervisord configuration file. Replace the environment
variables values show here with your respective settings. This step will refresh
the supervisord configuration file with the new queues and the latest
recommended layout::
sudo MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
Edit the supervisord configuration file and update any setting the template
generator missed::
sudo vi /etc/supervisor/conf.d/mayan.conf
Migrate existing database schema with::
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py performupgrade
Add new static media::
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py preparestatic --noinput
The upgrade procedure is now complete.
Backward incompatible changes
-----------------------------
- None
Bugs fixed or issues closed
---------------------------
- :gitlab-issue:`637` Thumbnail generation bug
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,7 +1,7 @@
Version 3.2
===========
Released: May XX, 2019
Released: June 13, 2019
Work on version 4.0 continues along. Version 4.0 brings so many changes that it
missed its release schedule. Therefore we decided to release an interim version,
@@ -67,7 +67,7 @@ Apps
Dependencies app: A new app was added to handle all dependencies. Previously,
the code to handle JavaScript dependencies and license text collection, was
contianed in the common app. This new app, called "dependencies" now handles
contained in the common app. This new app, called "dependencies" now handles
both tasks. In addition, it provides checks for binary dependencies.
This app's main view will allow users to know which dependencies are not being
recognized and help debug installation issues faster and easier. The app
@@ -163,8 +163,8 @@ currently logged user.
Incompatible changes
^^^^^^^^^^^^^^^^^^^^
Existing config.yml files need to be updated manually and 'mayan.apps'
prepended to any reference to an app.
Existing config.yml files need to be updated manually. The prefix 'mayan.apps'
must be added to any reference of an app.
All the Internet Explorer specific HTML markup was removed from the templates.
@@ -237,7 +237,7 @@ at the time was to rename Mayan's to "mayan_statistics". With this change
solutions like this won't be necessary.
This means that any reference to an app, either in the code or from a
configuration file must now be prepended with ``mayan.apps``. Existing
configuration file must now be prefixed with ``mayan.apps``. Existing
``config.yml`` files need to be updated manually.
For developers, a new test mixin was added called ``SilenceLoggerTestCaseMixin``.
@@ -387,7 +387,7 @@ An optimization was added which removed the exception catch for the
``permissions`` argument of the ``check_access`` method. ``permissions``
argument must now be an iterable.
Signal handlers must now be prepended with ``handler``.
Signal handlers must now be prefixed with ``handler``.
Remove ``.filter_by_access``. Replaced by ``.restrict_queryset``.
@@ -703,9 +703,31 @@ Other changes
- Add cabinet created and edited events.
- Chart updates: Show last update date and time in list view and details view.
Change color scheme to match rest of project. Increase size of data points.
Improve responsive settings. Redirect to the current view after queueing.
Improve responsive settings. Redirect to the current view after queuing.
- Split document type retention policies into it own view.
- Place deletion policies units before periods for clarity.
- Remove the included Lato font. The font is now downloaded
at install time.
- Add support for Google Fonts dependencies.
- Add support for patching dependency files using rewriting rules.
- Allow searching documents by UUID.
- Improve search negation logic. Only dashes at the start of terms and
outside of quotes are now interpreted as negation.
- Add support for search field transformations.
- Disable hiding page navigation on idle.
- Display namespace in the transition trigger view.
- Sort events list in the transition trigger view.
- Add support for form media to DynamicFormMixin.
- Fix tag attach and remove action form media.
- Sort content type list of the access grant and remove action.
- Use select2 for the content type filed of the access
grant and remove action.
- Add Latvian translation.
- Support search model selection.
- Support passing a queryset factory to the search model.
- Add workflow actions to grant or remove permissions to
a document.
- Add support for locked files for watchfolder.
Removals
@@ -781,7 +803,7 @@ Migrate existing database schema with::
Add new static media::
$ mayan-edms.py collectstatic --noinput
$ mayan-edms.py preparestatic --noinput
The upgrade procedure is now complete.
@@ -795,33 +817,33 @@ Backward incompatible changes
- Paths to apps must be updated in existing ``config.yml`` files. Preprend
``mayan.apps.`` to any app reference. Some instances:
.. code-block::
.. code-block :: python
LOCK_MANAGER_BACKEND: lock_manager.backends.file_lock.FileLock
to
.. code-block::
.. code-block :: python
LOCK_MANAGER_BACKEND: mayan.apps.lock_manager.backends.file_lock.FileLock
.. code-block::
.. code-block :: python
OCR_BACKEND: ocr.backends.pyocr.PyOCR
to
.. code-block::
.. code-block :: python
OCR_BACKEND: mayan.apps.ocr.backends.pyocr.PyOCR
.. code-block::
.. code-block :: python
CONVERTER_GRAPHICS_BACKEND: converter.backends.python.Python
to
.. code-block::
.. code-block :: python
CONVERTER_GRAPHICS_BACKEND: mayan.apps.converter.backends.python.Python
@@ -832,8 +854,9 @@ Backward incompatible changes
- To collect and compress the static media files, use the new ``preparestatic``
command instead of the traditional ``collectstatic``. Both work the same
way, but ``preparestatic`` has a default backlist to avoid collecting
test files.
way, but ``preparestatic`` has a default blacklist to avoid collecting files
from tests, development setup, and demos.
Bugs fixed or issues closed
---------------------------
@@ -849,5 +872,6 @@ Bugs fixed or issues closed
- :gitlab-issue:`563` Recursive Watch Folder
- :gitlab-issue:`579` Untranslated items
- :gitlab-issue:`589` Document {{ link }} send via Email contains example.com as domain
- :gitlab-issue:`595` Remove dependency to fonts.googleapis.com
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

166
docs/releases/3.3.rst Normal file
View File

@@ -0,0 +1,166 @@
Version 3.3
===========
Released: XX XX, 2019
Changes
-------
- Add support for icon shadows.
- Add icons and no-result template to the object error log view and
links.
- Use Select2 widget for the document type selection form.
- Backport the vertical main menu update. This update splits the previous
main menu into a new menu in the same location as the previous one
now called the top bar, and a new vertical main menu on the left side.
The vertical menu remain open even when clicking on items and upon
a browser refresh will also restore its state to match the selected
view.
- Backport workflow preview refactor. GitLab issue #532.
- Add support for source column inheritance.
- Add support for source column exclusion.
- Backport workflow context support.
- Backport workflow transitions field support.
- Backport workflow email action.
- Backport individual index rebuild support.
- Rename the installjavascript command to installdependencies.
- Remove database conversion command.
- Remove support for quoted configuration entries. Support unquoted,
nested dictionaries in the configuration. Requires manual
update of existing config.yml files.
- Support user specified locations for the configuration file with the
CONFIGURATION_FILEPATH (MAYAN_CONFIGURATION_FILEPATH environment variable), and
CONFIGURATION_LAST_GOOD_FILEPATH
(MAYAN_CONFIGURATION_LAST_GOOD_FILEPATH environment variable) settings.
- Move bootstrapped settings code to their own module in the smart_settings apps.
- Remove individual database configuration options. All database configuration
is now done using MAYAN_DATABASES to mirror Django way of doing database setup.
- Added support for YAML encoded environment variables to the platform
templates apps.
- Move YAML code to its own module. Code now resides in common.serialization
in the form of two new functions: yaml_load and yaml_dump.
- Move Django and Celery settings. Django settings now reside in the smart
settings app. Celery settings now reside in the task manager app.
- Backport FakeStorageSubclass from versions/next. Placeholder class to allow
serializing the real storage subclass to support migrations.
Used by all configurable storages.
- Support checking in and out multiple documents.
- Remove encapsulate helper.
- Add support for menu inheritance.
- Emphasize source column labels.
Removals
--------
- Database conversion. Reason for removal. The database conversions support
provided by this feature (SQLite to PostgreSQL) was being confused with
database migrations and upgrades.
Database upgrades are the responsibility of the app and the framework.
Database conversions however are not the responsibility of the app (Mayan),
they are the responsibility of the framework.
Database conversion is outside the scope of what Mayan does but we added
the code, management command, instructions and testing setup to provide
this to our users until the framework (Django) decided to add this
themselves (like they did with migrations).
Continued confusion about the purpose of the feature and confusion about
how errors with this feature were a reflexion of the code quality of
Mayannecessitated the removal of the database conversion feature.
- Django environ
Upgrading from a previous version
---------------------------------
If installed via Python's PIP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Remove deprecated requirements::
sudo -u mayan curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt -o /tmp/removals.txt && sudo -u mayan /opt/mayan-edms/bin/pip uninstall -y -r /tmp/removals.txt
Type in the console::
/opt/mayan-edms/bin/pip install mayan-edms==3.3
the requirements will also be updated automatically.
Using Git
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
git reset --hard HEAD
git pull
otherwise download the compressed archived and uncompress it overriding the
existing installation.
Remove deprecated requirements::
pip uninstall -y -r removals.txt
Next upgrade/add the new requirements::
pip install --upgrade -r requirements.txt
Common steps
^^^^^^^^^^^^
Perform these steps after updating the code from either step above.
Make a backup of your supervisord file::
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
Update the supervisord configuration file. Replace the environment
variables values show here with your respective settings. This step will refresh
the supervisord configuration file with the new queues and the latest
recommended layout::
sudo MAYAN_DATABASES="{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayanuserpass','USER':'mayan','HOST':'127.0.0.1'}}" \
MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
Edit the supervisord configuration file and update any setting the template
generator missed::
sudo vi /etc/supervisor/conf.d/mayan.conf
Migrate existing database schema with::
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media /opt/mayan-edms/bin/mayan-edms.py performupgrade
Add new static media::
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media /opt/mayan-edms/bin/mayan-edms.py preparestatic --noinput
The upgrade procedure is now complete.
Backward incompatible changes
-----------------------------
- Update quoted settings to be unquoted:
- COMMON_SHARED_STORAGE_ARGUMENTS
- CONVERTER_GRAPHICS_BACKEND_ARGUMENTS
- DOCUMENTS_CACHE_STORAGE_BACKEND_ARGUMENTS
- DOCUMENTS_STORAGE_BACKEND_ARGUMENTS
- FILE_METADATA_DRIVERS_ARGUMENTS
- SIGNATURES_STORAGE_BACKEND_ARGUMENTS
Bugs fixed or issues closed
---------------------------
- :gitlab-issue:`532` Workflow preview isn't updated right after transitions are modified
- :gitlab-issue:`634` Failing docker entrypoint when using secret config
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -20,6 +20,13 @@ versions of the documentation contain the release notes for any later releases.
.. toctree::
:maxdepth: 1
3.3
3.2.6
3.2.5
3.2.4
3.2.3
3.2.2
3.2.1
3.2
3.1.11
3.1.10

View File

@@ -143,6 +143,7 @@ storages
Storages
subclasses
subclassing
subfolder
sublicense
sublicensees
swedish

View File

@@ -6,6 +6,88 @@ FAQ
Non technical
*************
Contact
=======
Can I contact members of the development team?
----------------------------------------------
Direct access to members of the development team is reserved for clients
of a support or consultation contract.
I can't pay for support/consultation
------------------------------------
A community forum is available at https://forum.mayan-edms.com. Members of
the development team visit the forum on occasions and might answer some
questions on a voluntary basis.
I found a bug
-------------
For bugs, open an issue at https://gitlab.com/mayan-edms/mayan-edms/issues.
I found a security issue
------------------------
Open an issue at https://gitlab.com/mayan-edms/mayan-edms/issues and mark it as
Confidential. Allow us at least 48 hours to find and release a fix
for the issue before submitting it to the CVE database.
I want to join the development team
-----------------------------------
Perfect! We need all the help we can get. Tell us where we can see what you've
done using Mayan EDMS. It could be a fork, a new UI, an API client, a custom app,
or anything else that you think will be able to evidence your dominion over the
codebase.
I submitted an issue and it has not been fixed
----------------------------------------------
There are many reason an issue might not get resolved and remain open for an
extended period of time. We document on the issue itself the progress and when
resolved will reference what commit fixed it and the version or approximate time
for the code to make it into a production release. Some reason why issues remain
open with no resolution are:
- It was not an issue with the code. It happens that sometimes the problem lies
with the operating system, the filesystem being used, the platform or packaging
method.
- It was not an issue but a question or a comment. The issue system is for reporting
problems with the code. That said, we sometimes answer questions submitted as
issues. For questions or discussions use the community forum.
- We are not able to reproduce the issue. We need to be able to recreate the
conditions that trigger the issue so that we can pinpoint the cause. After that
we create a test to make sure the issue is really fixed. Some issues can
be triggered manually easily but are hard to trigger programatically.
- The issue is not clearly explained. Issue descriptions like: "It doesn't work",
or "It showed an error but I forgot to write it down" are almost impossible to
resolve.
- We understand the cause of the problem but don't yet a solution to implement.
We have studied the issue and have been able to reproduce it, but have not
reached a consensus on how it should be fixed. Could be that the solution is
beyond the collective expertise of the development team or that a design
decision of big impact is needed before code changes can be implemented.
- The issue is no real. The issue might be for an obsolete version. It could be
for a fork or a program that is not developed by us. Sometimes they are just
fake issues.
I submitted a merge request and has not been merged
---------------------------------------------------
Merge requests must follow the development standards of the code as close a
possible. They must also be atomic and as small as possible. The code must also
not change the behavior of the project. We can't accept merge request that
customize it in some way based on your own preferences or needs.
Distribution
============
@@ -44,6 +126,7 @@ Restricting distribution or sale would conflict with the license terms. This
would possible for a commercial version of Mayan EDMS with separate licensing
terms.
Is there a commercial partnership program?
------------------------------------------
@@ -84,17 +167,6 @@ upgrades, if a migration fails the database structure is left in a transitory
state and has to be reverted manually before trying again.
Document versions
=================
How do you upload a new version of an existing file?
----------------------------------------------------
Choose a document, and go to the versions tab, on the right menu at the bottom
under Other available action there is Upload new version. Clicking it will
take you to a very similar view as the Upload new document but you will be
able to specify version number and comments for the new version being uploaded.
LDAP
====
@@ -105,6 +177,7 @@ A sample settings file called ldap_connection_settings.py is included in the
contrib/settings/ folder of the repository showing how to setup LDAP
authentication.
Operating systems
=================
@@ -154,14 +227,18 @@ should be used and the resulting static folder served from a webserver.
For more information check the
:django-docs:`howto/static-files/`
Watchfolders
============
Watch folders
=============
The watched folder feature is not working
-----------------------------------------
Make sure that the Celery BEAT scheduler is running correctly as it is the
element that triggers the periodics tasks.
element that triggers the periodic tasks. Check that the user running the Mayan
EDMS services has read and write permissions for the watch folder.
Other
=====
@@ -188,8 +265,3 @@ Example::
Reference:
* http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html
Can you change the display order of documents…i.e can they be in alphabetical order?
------------------------------------------------------------------------------------
A the moment no, but it is something being worked on.

View File

@@ -12,7 +12,7 @@ Minimum hardware requirements
- 2 Gigabytes of RAM (1 Gigabyte if OCR is turned off).
- Multiple core CPU (64 bit, faster than 1 GHz recommended).
- Unix-like operating system like Linux and OpenBSD. For other operating systems
- Unix-like operating system like GNU/Linux. For other operating systems
user container technologies like Docker or virtual machines.
****************

View File

@@ -7,8 +7,8 @@ Troubleshooting
Database
********
_mysql_exceptions. OperationalError: (1267, "Illegal mix of collations (latin1_swedish_ci, IMPLICIT) and (utf8_general_ci, COERCIBLE) for operation ='”)
=========================================================================================================================================================
MySQL error: ``OperationalError: (1267, "Illegal mix of collations (latin1_swedish_ci, IMPLICIT) and (utf8_general_ci, COERCIBLE) for operation '='”)``
=======================================================================================================================================================
::
@@ -25,8 +25,8 @@ References:
* http://stackoverflow.com/questions/1073295/django-character-set-with-mysql-weirdness
Incorrect string value: ``'xE2x80x95rs6…'`` for column ``'content'`` at row 1
=============================================================================
MySQL error: ``Incorrect string value: `'xE2x80x95rs6…'` for column `'content'` at row 1``
==========================================================================================
When using MySQL and doing OCR on languages other than English
@@ -39,13 +39,31 @@ References:
* http://markmail.org/message/bqajx2utvmtriixi
Error "django.db.utils.IntegrityError IntegrityError: (1452, Cannot add or update a child row: a foreign key constraint fails (`…`.`…`, CONSTRAINT `…_refs_id_b0252274` FOREIGN KEY (`…`) REFERENCES `…` (`…`))')
==================================================================================================================================================================================================================
MySQL error: ``Error "django.db.utils.IntegrityError IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`…`.`…`, CONSTRAINT `…_refs_id_b0252274` FOREIGN KEY (`…`) REFERENCES `…` (`…`))')``
===================================================================================================================================================================================================================================
Solution:
Convert all MySQL tables to the same type, either all MyISAM or InnoDB
PostgreSQL error: ``OperationalError: FATAL: sorry, too many clients already``
===============================================================================
Set ``MAYAN_DATABASE_CONN_MAX_AGE`` to 0
This setting keeps a database connection alive. It allows reuse of database
connections. When Mayan EDMS is deployed with Gunicorn a microthreads backend,
the database connections are not shared and this setting has the reverse effect
of exhausting the available PostgreSQL connections available. To avoid this,
Setting ``MAYAN_DATABASE_CONN_MAX_AGE`` to 0 will cause all microthreads to
release their connections, by closing them when finished.
References:
- https://serverfault.com/questions/635100/django-conn-max-age-persists-connections-but-doesnt-reuse-them-with-postgresq
- https://github.com/benoitc/gunicorn/issues/996
******
Docker
******
@@ -136,3 +154,30 @@ command prompt::
And then execute the command::
/opt/mayan-edms/bin/mayan-edms.py createsuperuser
************
Watchfolders
************
Incomplete files uploaded
=========================
To avoid uploading files are they are being copied to the watchfolder, copy the
files to a temporary directory on the same partition as the watchfolder first.
Then move the files to the watchfolder. The move will be executed as an atomic
operation and will prevent the files to be uploaded in the middle of the
copying process.
************
Dependencies
************
Error: ``unable to execute 'x86_64-linux-gnu-gcc': No such file or directory``
==============================================================================
This happens when using the ``MAYAN_APT_INSTALLS`` feature. It means that the
``GCC`` package is required to compile the packages specified with
``MAYAN_APT_INSTALLS``.
Solution: Include ``gcc`` in the list of packages specified with ``MAYAN_APT_INSTALLS``.

View File

@@ -1,4 +1,4 @@
Copyright 2011-2018 Roberto Rosario
Copyright 2011 Roberto Rosario
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@@ -1,14 +1,14 @@
from __future__ import unicode_literals
__title__ = 'Mayan EDMS'
__version__ = '3.2b1'
__build__ = 0x030200
__build_string__ = 'v3.2b1_Thu May 16 01:31:36 2019 -0400'
__version__ = '3.2.6'
__build__ = 0x030206
__build_string__ = 'v3.2.6_Wed Jul 10 03:18:15 2019 -0400'
__django_version__ = '1.11'
__author__ = 'Roberto Rosario'
__author_email__ = 'roberto.rosario@mayan-edms.com'
__description__ = 'Free Open Source Electronic Document Management System'
__license__ = 'Apache 2.0'
__copyright_short__ = '2011-2018 Roberto Rosario'
__copyright_short__ = '2011 Roberto Rosario'
__copyright__ = '{} {}'.format('Copyright', __copyright_short__)
__website__ = 'https://www.mayan-edms.com'

View File

@@ -1,8 +1,10 @@
from __future__ import unicode_literals, absolute_import
import itertools
import logging
from django.apps import apps
from django.utils.encoding import force_text
logger = logging.getLogger(__name__)
@@ -12,6 +14,12 @@ class ModelPermission(object):
_inheritances = {}
_registry = {}
@classmethod
def deregister(cls, model):
cls._registry.pop(model, None)
# TODO: Find method to revert the add_to_class('acls'...)
# delattr doesn't work.
@classmethod
def register(cls, model, permissions):
from django.contrib.contenttypes.fields import GenericRelation
@@ -36,7 +44,7 @@ class ModelPermission(object):
if as_content_type:
content_type_dictionary = ContentType.objects.get_for_models(
models=cls._registry.keys()
*cls._registry.keys()
)
content_type_ids = [
content_type.pk for content_type in content_type_dictionary.values()
@@ -47,8 +55,21 @@ class ModelPermission(object):
return cls._registry.keys()
@classmethod
def get_for_class(cls, klass):
return cls._registry.get(klass, ())
def get_for_class(cls, klass, as_choices=False):
if as_choices:
results = []
for namespace, permissions in itertools.groupby(cls.get_for_class(klass=klass, as_choices=False), lambda entry: entry.namespace):
permission_options = [
(force_text(permission.pk), permission) for permission in permissions
]
results.append(
(namespace, permission_options)
)
return results
else:
return cls._registry.get(klass, ())
@classmethod
def get_for_instance(cls, instance):

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n"
"MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete"
msgstr "حذف"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "الصلاحيات"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr ""
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr ""
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Roles"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr ""
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr ""
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n"
"MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete"
msgstr ""
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Разрешения"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr ""
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr ""
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Роли"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr ""
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr ""
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n"
"MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "Novi ACL"
msgid "Delete"
msgstr "Obriši"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Dozvole"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Nedovoljan pristup za:%s"
@@ -157,40 +157,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "Tip objekta"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "Tip objekta za koji će se pristup mijenjati."
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "ID objekta"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "Numerički identifikator objekta za koji će se pristup mijenjati."
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Role"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "Uloge čiji će pristup biti modifikovan."
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Dozvole za dodeljivanje / poništavanje / od uloge za gore izabrani objekat."
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Dodjeljen pristup"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Opozvati pristup"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-17 14:41+0000\n"
"Last-Translator: Jiri Fait <fait@orkasolutions.cz>\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Czech (http://www.transifex.com/rosarior/mayan-edms/language/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -46,16 +46,16 @@ msgstr ""
msgid "Delete"
msgstr "Odstranit"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Práva"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr ""
@@ -157,40 +157,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr ""
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr ""
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr ""
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr ""
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr ""
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Danish (Denmark) (http://www.transifex.com/rosarior/mayan-edms/language/da_DK/)\n"
"MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "Ny ACL"
msgid "Delete"
msgstr "Slet"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Tilladelser"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Utilstækkelig adgang for: %s"
@@ -157,40 +157,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "Objekttype"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "Objekt ID"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Roller"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Giv tilladelse"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Tilbagekald tilladelse"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-06 22:04+0000\n"
"Last-Translator: Mathias Behrle <mathiasb@m9s.biz>\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -49,16 +49,16 @@ msgstr "Neue Berechtigung"
msgid "Delete"
msgstr "Löschen"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Berechtigungen"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "Objekt \"%s\" ist kein Modell und kann nicht auf Zugriffsberechtigungen überprüft werden."
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Unzureichende Berechtigung für: %s"
@@ -160,40 +160,48 @@ msgid ""
"menu."
msgstr "Unzureichende Berechtigungen werden durch ein übergeordnetes Objekt vererbt oder direkt an die Rolle erteilt. Sie können nicht direkt auf diesem Formular bearbeitet werden. Vererbte Berechtigungen müssen auf dem übergeordneten Objekt oder für die Rolle über das Einrichtungsmenü eingestellt werden."
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "Objekttyp"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "Objekttyp für den der Zugang bearbeitet wird."
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "Objekt ID"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "Numerischer Identifikator des Objekts"
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Rollen"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "Rollen deren Zugang bearbeitet wird."
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Berechtigungen, die der Rolle für das ausgewählte Objekt erteilt oder entzogen werden."
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Zugriffsberechtigung erteilen"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Zugriffsberechtigung entziehen"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Greek (http://www.transifex.com/rosarior/mayan-edms/language/el/)\n"
"MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr "Νέα ΛΕΠ"
msgid "Delete"
msgstr "Διαγραφή"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Ανεπαρκή δικαιώματα"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Μη επαρκή δικαιώματα πρόσβασης για το: %s"
@@ -156,40 +156,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "Τύπος αντικειμένου"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "Τύπος του αντικειμένου για το οποίο η πρόσβαση θα τροποποιηθεί."
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "Αναγνωριστικό αντικειμένου"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "Αριθμητικό αναγνωριστικό του αντικειμένου για το οποίο η πρόσβαση θα τροποποιηθεί."
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Ρόλοι"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "Ρόλοι των οποιων η πρόσβαση θα τροποποιηθει."
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Δικαιώματα προς χορήγηση/ανάληση προς/από τον ρόλο για το ανωτέρω επιλεγμένο αντικείμενο."
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Χορήγηση πρόσβασης"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Ανάκληση πρόσβασης"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete"
msgstr ""
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr ""
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr ""
@@ -156,39 +156,47 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr ""
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr ""
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid "Numeric identifier of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr ""
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr ""
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr ""
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:52+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:51+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -48,16 +48,16 @@ msgstr "Nueva LCA"
msgid "Delete"
msgstr "Borrar"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Permisos"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "El objeto \"%s\"; no es un modelo y no se puede verificar el acceso."
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Acceso insuficiente para: %s"
@@ -159,40 +159,48 @@ msgid ""
"menu."
msgstr "Los permisos deshabilitados se heredan de un objeto principal o se otorgan directamente al rol y no se pueden eliminar de esta vista. Los permisos heredados deben eliminarse de la LCA del objeto principal o de su rol a través del menú de Configuración."
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "Tipo de objeto"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "Tipo de objeto para el que se modificará el acceso."
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "ID de objeto"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "Identificador numérico del objeto para el que se modificará el acceso."
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Roles"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "Roles cuyo acceso será modificado."
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Permisos para otorgar/revocar a los roles para el objeto seleccionado anteriormente."
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Otorgar acceso"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Revocar acceso"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr "Otorgar acceso a documento"
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr "Revocar acceso documento"

View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n"
"MIME-Version: 1.0\n"
@@ -47,16 +47,16 @@ msgstr "دسترسی جدید"
msgid "Delete"
msgstr "حذف"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "مجوزها"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "کمبود دسترسی برای: %s"
@@ -158,40 +158,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "نوع شی"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "نوع شی که دسترسی به آن تغییر خواهد کرد."
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "شناسه اشیاء"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "شناسه عددی شئی که دسترسی به آن تغییر خواهد کرد."
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "نقش ها"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "نقش هایی که دسترسی به آنها تغییر خواهد کرد."
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "مجوز برای اعطای / لغو به / از نقش مورد انتخاب شده در بالا."
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "دادن دسترسی"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "لغو دسترسی"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 03:24+0000\n"
"Last-Translator: Frédéric Sheedy <sheedf@gmail.com>\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -49,16 +49,16 @@ msgstr "Nouveau droit"
msgid "Delete"
msgstr "Suppression"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Autorisations"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Droits d'accès insuffisants pour : %s"
@@ -160,40 +160,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "Type d'objet"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "Type d'objet pour lequel les droits d'accès vont être modifiés."
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "Identifiant de l'objet"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "Identifiant numérique de l'objet pour lequel les droits d'accès vont être modifiés."
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Rôles"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "Rôles pour lesquels les droits d'accès vont être modifiés."
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Autorisations à accorder/révoquer au rôle pour l'objet sélectionné ci-dessus."
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Accorder le droit d'accès"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Révoquer le droit d'accès"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n"
"MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete"
msgstr "Törlés"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Engedélyek"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr ""
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr ""
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Szerepkörök"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr ""
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr ""
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-12 17:32+0000\n"
"Last-Translator: Adek Lanin\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete"
msgstr "Hapus"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr ""
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr ""
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr ""
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr ""
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr ""
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr ""
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Daniele Bortoluzzi <daniele@elkos.it>, 2019
# Marco Camplese <marco.camplese.mc@gmail.com>, 2016-2017
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n"
"MIME-Version: 1.0\n"
@@ -28,11 +29,11 @@ msgstr "Liste di controllo accessi"
#: events.py:12
msgid "ACL created"
msgstr ""
msgstr "ACL creata"
#: events.py:15
msgid "ACL edited"
msgstr ""
msgstr "ACL modificata"
#: forms.py:15 models.py:49
msgid "Role"
@@ -46,19 +47,19 @@ msgstr "Nuova ACL"
msgid "Delete"
msgstr "Cancella"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Permessi"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
msgstr "L'oggetto \"%s\" non è un modello e su di esso non si può eseguire un controllo accessi."
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr ""
msgstr "Permessi insufficienti per: %s"
#: models.py:57
msgid "Access entry"
@@ -123,13 +124,13 @@ msgstr "Cancella ACL: %s"
#: views.py:147
msgid "There are no ACLs for this object"
msgstr ""
msgstr "Non ci sono ACL per questo oggetto"
#: views.py:150
msgid ""
"ACL stands for Access Control List and is a precise method to control user "
"access to objects in the system."
msgstr ""
msgstr "ACL sta per Access Control List (lista di controllo degli accessi) ed è un metodo preciso per controllare l'accesso dell'utente agli oggetti nel sistema."
#: views.py:154
#, python-format
@@ -147,7 +148,7 @@ msgstr "Autorizzazioni disponibili "
#: views.py:215
#, python-format
msgid "Role \"%(role)s\" permission's for \"%(object)s\"."
msgstr ""
msgstr "Permessi del ruolo \"%(role)s\" per \"%(object)s\"."
#: views.py:224
msgid ""
@@ -155,42 +156,50 @@ msgid ""
"to the role and can't be removed from this view. Inherited permissions need "
"to be removed from the parent object's ACL or from them role via the Setup "
"menu."
msgstr ""
msgstr "I permessi disabilitati sono ereditati da un oggetto padre o direttamente concessi al ruolo e non possono essere rimossi da questa schermata. I permessi ereditati vanno rimossi dalle ACL dell'oggetto padre o del ruolo tramite il menù Setup."
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr ""
msgstr "Tipo dell'oggetto"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
msgstr "Tipo dell'oggetto per il quale l'accesso sarà modificato"
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr ""
msgstr "ID dell'oggetto"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr ""
msgstr "Identificativo numerico dell'oggetto per il quale l'accesso sarà modificato"
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Ruoli "
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
msgstr "Ruoli il cui accesso sarà modificato"
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
msgstr "Permessi da concedere/revocare al ruolo per l'oggetto selezionato"
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Concedi accesso"
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Revoca accesso"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:135
msgid "Revoke access"
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

Binary file not shown.

View File

@@ -0,0 +1,204 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Māris Teivāns <maris.teivans@gmail.com>, 2019
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-28 11:16+0000\n"
"Last-Translator: Māris Teivāns <maris.teivans@gmail.com>\n"
"Language-Team: Latvian (http://www.transifex.com/rosarior/mayan-edms/language/lv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
#: apps.py:24 links.py:44
msgid "ACLs"
msgstr "PKS"
#: events.py:8 permissions.py:7
msgid "Access control lists"
msgstr "Piekļuves kontroles saraksti"
#: events.py:12
msgid "ACL created"
msgstr "PKS izveidots"
#: events.py:15
msgid "ACL edited"
msgstr "PKS rediģēts"
#: forms.py:15 models.py:49
msgid "Role"
msgstr "Loma"
#: links.py:34
msgid "New ACL"
msgstr "Jauns PKS"
#: links.py:39
msgid "Delete"
msgstr "Dzēst"
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Atļaujas"
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "Objekts \"%s\" nav modelis un tā pieeju nevar pārbaudīt."
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Nepietiekama piekļuve pie: %s"
#: models.py:57
msgid "Access entry"
msgstr "Piekļuves ieraksts"
#: models.py:58
msgid "Access entries"
msgstr "Piekļuves ieraksti"
#: models.py:62
#, python-format
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
msgstr "Lomas \"%(role)s\" atļaujas priekš \"%(object)s\""
#: permissions.py:10
msgid "Edit ACLs"
msgstr "Rediģēt PKS"
#: permissions.py:13
msgid "View ACLs"
msgstr "Skatīt PKS"
#: serializers.py:26 serializers.py:136
msgid ""
"API URL pointing to the list of permissions for this access control list."
msgstr "API URL, kas norāda uz piekļuves kontroles saraksta atļauju sarakstu."
#: serializers.py:59
msgid ""
"API URL pointing to a permission in relation to the access control list to "
"which it is attached. This URL is different than the canonical workflow URL."
msgstr "API URL, kas norāda uz atļauju saistībā ar piekļuves kontroles sarakstu, kuram tas ir pievienots. Šis URL atšķiras no kanoniskā darbplūsmas URL."
#: serializers.py:91
msgid "Primary key of the new permission to grant to the access control list."
msgstr "Primārā atslēga priekš jaunās atļaujas, ko piešķirt piekļuves kontroles sarakstam."
#: serializers.py:115 serializers.py:191
#, python-format
msgid "No such permission: %s"
msgstr "Šādas atļaujas nav: %s"
#: serializers.py:130
msgid ""
"Comma separated list of permission primary keys to grant to this access "
"control list."
msgstr "Ar komatu atdalīts saraksts ar atļauju primārajām atslēgām, kuras piešķirt šim piekļuves kontroles sarakstam."
#: serializers.py:142
msgid "Primary keys of the role to which this access control list binds to."
msgstr "Primārās atslēgas lomai, pie kuras šis piekļuves kontroles saraksts ir piesaistīts."
#: views.py:62
#, python-format
msgid "New access control lists for: %s"
msgstr "Jauni piekļuves kontroles saraksti priekš: %s"
#: views.py:100
#, python-format
msgid "Delete ACL: %s"
msgstr "Dzēst PKS: %s"
#: views.py:147
msgid "There are no ACLs for this object"
msgstr "Šim objektam nav neviens PKS"
#: views.py:150
msgid ""
"ACL stands for Access Control List and is a precise method to control user "
"access to objects in the system."
msgstr "PKS apzīmē Piekļuves Kontroles Sarakstu un tā ir precīza metode, lai kontrolētu lietotāja piekļuvi sistēmā esošajiem objektiem."
#: views.py:154
#, python-format
msgid "Access control lists for: %s"
msgstr "Piekļuves kontroles saraksti priekš: %s"
#: views.py:170
msgid "Granted permissions"
msgstr "Piešķirtās atļaujas"
#: views.py:171
msgid "Available permissions"
msgstr "Pieejamās atļaujas"
#: views.py:215
#, python-format
msgid "Role \"%(role)s\" permission's for \"%(object)s\"."
msgstr "Lomas \"%(role)s\" atļaujas priekš \"%(object)s\"."
#: views.py:224
msgid ""
"Disabled permissions are inherited from a parent object or directly granted "
"to the role and can't be removed from this view. Inherited permissions need "
"to be removed from the parent object's ACL or from them role via the Setup "
"menu."
msgstr "Atspējotas atļaujas tiek mantotas no mātes objekta vai tieši piešķirtas lomai, un tās nevar noņemt no šī skata. Mantotās atļaujas ir jānoņem no mātes objekta PKS vai no lomas, izmantojot Setup izvēlni."
#: workflow_actions.py:26
msgid "Object type"
msgstr "Objekta tips"
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "Objekta, kuram tiks rediģēta piekļuve, tips."
#: workflow_actions.py:35
msgid "Object ID"
msgstr "Objekta ID"
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "Objekta, kuram tiks rediģēta piekļuve, skaitliskais identifikators."
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Lomas"
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "Lomas, kuru piekļuve tiks mainīta."
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Atļaujas piešķirt/atsaukt iepriekš atlasītā objekta lomu."
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Piešķirt piekļuvi"
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Atsaukt piekļuvi"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr "Piešķirt piekļuvi dokumentam"
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr "Atsaukt piekļuvi dokumentam"

View File

@@ -5,13 +5,13 @@
# Translators:
# Evelijn Saaltink <evelijnsaaltink@gmail.com>, 2016
# Justin Albstbstmeijer <justin@albstmeijer.nl>, 2016
# Martin Horseling <martin.horseling@gmail.com>, 2018
# Martin Horseling <martin.horseling@gmail.com>, 2018-2019
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n"
"MIME-Version: 1.0\n"
@@ -30,11 +30,11 @@ msgstr "Authorisatielijsten"
#: events.py:12
msgid "ACL created"
msgstr ""
msgstr "Authorisatie Controle Lijst Aangemaakt"
#: events.py:15
msgid "ACL edited"
msgstr ""
msgstr "Authorisatie Controle Lijst gewijzigd"
#: forms.py:15 models.py:49
msgid "Role"
@@ -48,16 +48,16 @@ msgstr "Nieuwe authorisatielijst"
msgid "Delete"
msgstr "Verwijder"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Permissies"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
msgstr "Voorwerp \"%s\" is geen model en kan niet aangevinkt worden voor toegang"
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Onvoldoende toegang voor: %s"
@@ -125,13 +125,13 @@ msgstr "Verwijder authorisatielijst: %s"
#: views.py:147
msgid "There are no ACLs for this object"
msgstr ""
msgstr "Er zijn geen toegangscontrolelijsten voor dit onderwerp"
#: views.py:150
msgid ""
"ACL stands for Access Control List and is a precise method to control user "
"access to objects in the system."
msgstr ""
msgstr "ACL betekent Toegangscontrolelijst en is een precieze methode om gebruikerstoegang te geven of verwijderen voor objecten in het systeem"
#: views.py:154
#, python-format
@@ -149,7 +149,7 @@ msgstr "Beschikbare permissies"
#: views.py:215
#, python-format
msgid "Role \"%(role)s\" permission's for \"%(object)s\"."
msgstr ""
msgstr "Rol \"%(role)s\" toestemmingen voor \"%(object)s\"."
#: views.py:224
msgid ""
@@ -157,42 +157,50 @@ msgid ""
"to the role and can't be removed from this view. Inherited permissions need "
"to be removed from the parent object's ACL or from them role via the Setup "
"menu."
msgstr ""
msgstr "Onbeschikbare of uitgeschakelde rechten zijn geërfd van een hoger niveau of direct geven aan de gebruikersrol en kunnen hier niet verwijderd worden. Geërfde rechten moeten verwijderd worden vanaf het hogere niveau of via de gebruikersrol via het Instellingen menu. "
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "Objecttype"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "Objecttype waarvoor de toegang gewijzigd gaat worden"
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "voorwerp identificatie"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "Nummer van het voorwerp waarvoor de toegang wordt gewijzigd"
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Gebruikersrollen"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "Gebruikersrol waarvoor de toegang wordt gewijzigd"
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Permissies to geven/verwijderen naar/van de rol voor het geselecteerde object hierboven "
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Geef toegang"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Verwijder toegang"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n"
"MIME-Version: 1.0\n"
@@ -48,16 +48,16 @@ msgstr "Nowa lista ACL"
msgid "Delete"
msgstr "Usuń"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Uprawnienia"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Niewystarczający dostęp dla: %s"
@@ -159,40 +159,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "Typ obiektu"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "Typ obiektu, dla którego dostęp zostanie zmodyfikowany."
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "ID obiektu"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "Numeryczny identyfikator obiektu, dla którego dostęp zostanie zmodyfikowany."
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Role"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "Role, których dostęp zostanie zmodyfikowany."
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Uprawnienia do nadawania/odwoływania do/z roli dla obiektu."
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Przyznaj dostęp"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Odwołaj dostęp"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n"
"MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete"
msgstr "Eliminar"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Permissões"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr ""
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr ""
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Funções"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr ""
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr ""
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
@@ -48,16 +48,16 @@ msgstr "Nova regra"
msgid "Delete"
msgstr "Excluir"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Permissões"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Acesso insuficiente para: %s"
@@ -159,40 +159,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "Tipo do objeto"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "Tipo do objeto cujo acesso será modificado."
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "ID do objeto"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "Identificador numérico do objeto cujo acesso será modificado."
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Papéis"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "Papéis cujo acesso será modificado."
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Permissões a serem concedidas/revogadas para o papel em relação ao objeto selecionado acima."
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Conceder acesso"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Revogar acesso"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-08 07:09+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-18 15:35+0000\n"
"Last-Translator: Harald Ersch\n"
"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n"
"MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "ACL nou"
msgid "Delete"
msgstr "Șterge"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Permisiuni"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "Obiectul \"%s\" nu este un model și nu poate fi verificat pentru acces."
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Acces insuficient pentru: %s"
@@ -157,40 +157,48 @@ msgid ""
"menu."
msgstr "Permisiunile dezactivate sunt moștenite de la un obiect părinte sau acordate direct rolului și nu pot fi eliminate din această vizualizare. Prerogativele moștenite trebuie să fie eliminate din ACL-ul obiectului părinte sau din rolul acestora prin meniul Setup (Configurare)."
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "Tipul obiectului"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "Tipul obiectului pentru care va fi modificat accesul ."
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "ID obiect"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "Identificatorul numeric al obiectului pentru care va fi modificat accesul."
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Roluri"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "Roluri a căror acces va fi modificat."
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Permisiuni de acordare / revocare în / a rolului pentru obiectului selectat mai sus."
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Acordă acces"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Revocă acces"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr "Acordați acces la documente"
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr "Revocați accesul la documente"

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n"
"MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "Создать СУД"
msgid "Delete"
msgstr "Удалить"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Разрешения"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr ""
@@ -157,40 +157,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr ""
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr ""
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Роли"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr ""
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr ""
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n"
"MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "Novi ACL"
msgid "Delete"
msgstr "Izbriši"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "Pravice"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "Nezadosten dostop za: %s"
@@ -157,40 +157,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "Vrsta objekta"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "Vrsta predmeta, za katerega bo dostop spremenjen."
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "ID objekta"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "Številčni identifikator predmeta, za katerega bo dostop spremenjen."
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Vloge"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "Vloge, katerih dostop bo spremenjen."
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Dovoljenja za odobritev/preklic v/iz vlog za zgoraj izbrani objekt."
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "Dovoli dostop"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "Prekliči dostop"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Turkish (Turkey) (http://www.transifex.com/rosarior/mayan-edms/language/tr_TR/)\n"
"MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "Yeni Erişim Kontrol Listesi"
msgid "Delete"
msgstr "Sil"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "İzinler"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr ""
@@ -157,40 +157,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr ""
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr ""
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "Roller"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr ""
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr ""
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n"
"MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete"
msgstr ""
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr ""
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr ""
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr ""
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr ""
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr ""
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr ""
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr ""
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr ""
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr ""
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Chinese (http://www.transifex.com/rosarior/mayan-edms/language/zh/)\n"
"MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "新的访问控制列表"
msgid "Delete"
msgstr "删除"
#: links.py:49 models.py:45 workflow_actions.py:48
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
msgid "Permissions"
msgstr "权限"
#: managers.py:209
#: managers.py:216
#, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr ""
#: managers.py:229
#: managers.py:236
#, python-format
msgid "Insufficient access for: %s"
msgstr "访问权限不足:%s"
@@ -157,40 +157,48 @@ msgid ""
"menu."
msgstr ""
#: workflow_actions.py:25
#: workflow_actions.py:26
msgid "Object type"
msgstr "对象类型"
#: workflow_actions.py:28
#: workflow_actions.py:29
msgid "Type of the object for which the access will be modified."
msgstr "要为其修改访问权限的对象的类型。"
#: workflow_actions.py:34
#: workflow_actions.py:35
msgid "Object ID"
msgstr "对象ID"
#: workflow_actions.py:37
#: workflow_actions.py:38
msgid ""
"Numeric identifier of the object for which the access will be modified."
msgstr "要为其修改访问权限的对象的数字标识符。"
#: workflow_actions.py:42
#: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles"
msgstr "角色"
#: workflow_actions.py:44
#: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified."
msgstr "访问权限将被修改的角色。"
#: workflow_actions.py:51
#: workflow_actions.py:52 workflow_actions.py:167
msgid ""
"Permissions to grant/revoke to/from the role for the object selected above."
msgstr "授予/撤销给上述选定对象角色的权限。"
#: workflow_actions.py:59
#: workflow_actions.py:60
msgid "Grant access"
msgstr "授予访问权限"
#: workflow_actions.py:135
#: workflow_actions.py:143
msgid "Revoke access"
msgstr "撤消访问权限"
#: workflow_actions.py:175
msgid "Grant document access"
msgstr ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -200,19 +200,26 @@ class AccessControlListManager(models.Manager):
return result
def check_access(self, obj, permissions, user):
meta = getattr(obj, '_meta', None)
def check_access(self, obj, permissions, user, manager=None):
# Allow specific managers for models that have more than one
# for example the Document model when checking for access for a trashed
# document.
if not meta:
logger.debug(
ugettext(
'Object "%s" is not a model and cannot be checked for '
'access.'
) % force_text(obj)
)
return True
if manager:
source_queryset = manager.all()
else:
source_queryset = obj._meta.default_manager.all()
meta = getattr(obj, '_meta', None)
if not meta:
logger.debug(
ugettext(
'Object "%s" is not a model and cannot be checked for '
'access.'
) % force_text(obj)
)
return True
else:
source_queryset = obj._meta.default_manager.all()
restricted_queryset = obj._meta.default_manager.none()
for permission in permissions:

View File

@@ -36,11 +36,6 @@ class ACLTestMixin(PermissionTestMixin, RoleTestMixin, TestModelTestMixin):
auto_create_test_role = True
auto_create_test_object = False
def _create_test_acl(self):
self.test_acl = AccessControlList.objects.create(
content_object=self.test_object, role=self.test_role
)
def setUp(self):
super(ACLTestMixin, self).setUp()
if self.auto_create_test_role:
@@ -49,6 +44,22 @@ class ACLTestMixin(PermissionTestMixin, RoleTestMixin, TestModelTestMixin):
if self.auto_create_test_object:
self._setup_test_object()
def tearDown(self):
# Deregister the permissions of the ephimeral test models
# this avoids their Content Type from being looked up
# in subsequent tests where they don't exists due to the database
# transaction rollback.
for model in self._test_models:
ModelPermission.deregister(model=model)
self._test_models.remove(model)
super(ACLTestMixin, self).tearDown()
def _create_test_acl(self):
self.test_acl = AccessControlList.objects.create(
content_object=self.test_object, role=self.test_role
)
def _inject_test_object_content_type(self):
self.test_object_content_type = ContentType.objects.get_for_model(
model=self.test_object

View File

@@ -5,7 +5,10 @@ from django.contrib.contenttypes.models import ContentType
from mayan.apps.document_states.tests.test_actions import ActionTestCase
from mayan.apps.documents.permissions import permission_document_view
from ..workflow_actions import GrantAccessAction, RevokeAccessAction
from ..workflow_actions import (
GrantAccessAction, GrantDocumentAccessAction, RevokeAccessAction,
RevokeDocumentAccessAction
)
class ACLActionTestCase(ActionTestCase):
@@ -29,6 +32,22 @@ class ACLActionTestCase(ActionTestCase):
)
self.assertEqual(self.test_document.acls.first().role, self._test_case_role)
def test_grant_document_access_action(self):
action = GrantDocumentAccessAction(
form_data={
'roles': [self._test_case_role.pk],
'permissions': [permission_document_view.pk],
}
)
action.execute(context={'document': self.test_document})
self.assertEqual(self.test_document.acls.count(), 1)
self.assertEqual(
list(self.test_document.acls.first().permissions.all()),
[permission_document_view.stored_permission]
)
self.assertEqual(self.test_document.acls.first().role, self._test_case_role)
def test_revoke_access_action(self):
self.grant_access(
obj=self.test_document, permission=permission_document_view
@@ -47,3 +66,18 @@ class ACLActionTestCase(ActionTestCase):
action.execute(context={'entry_log': self.entry_log})
self.assertEqual(self.test_document.acls.count(), 0)
def test_revoke_document_access_action(self):
self.grant_access(
obj=self.test_document, permission=permission_document_view
)
action = RevokeDocumentAccessAction(
form_data={
'roles': [self._test_case_role.pk],
'permissions': [permission_document_view.pk],
}
)
action.execute(context={'document': self.test_document})
self.assertEqual(self.test_document.acls.count(), 0)

View File

@@ -0,0 +1,12 @@
from __future__ import absolute_import, unicode_literals
from mayan.apps.common.tests import BaseTestCase
from ..classes import ModelPermission
class ModelPermissionTestCase(BaseTestCase):
def test_model_permission_get_classes_as_content_type(self):
self.assertNotEqual(
ModelPermission.get_classes(as_content_type=True).count(), 0
)

View File

@@ -8,6 +8,7 @@ from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _
from mayan.apps.acls.models import AccessControlList
from mayan.apps.documents.models import Document
from mayan.apps.document_states.classes import WorkflowAction
from mayan.apps.permissions.classes import Permission
from mayan.apps.permissions.models import Role
@@ -58,6 +59,11 @@ class GrantAccessAction(WorkflowAction):
field_order = ('content_type', 'object_id', 'roles', 'permissions')
label = _('Grant access')
widgets = {
'content_type': {
'class': 'django.forms.widgets.Select', 'kwargs': {
'attrs': {'class': 'select2'},
}
},
'roles': {
'class': 'django.forms.widgets.SelectMultiple', 'kwargs': {
'attrs': {'class': 'select2'},
@@ -97,7 +103,9 @@ class GrantAccessAction(WorkflowAction):
return form_data
def get_form_schema(self, *args, **kwargs):
self.fields['content_type']['kwargs']['queryset'] = ModelPermission.get_classes(as_content_type=True)
self.fields['content_type']['kwargs']['queryset'] = ModelPermission.get_classes(
as_content_type=True
).order_by('model')
self.fields['permissions']['kwargs']['choices'] = Permission.all(
as_choices=True
)
@@ -142,3 +150,74 @@ class RevokeAccessAction(GrantAccessAction):
AccessControlList.objects.revoke(
obj=self.obj, permission=permission, role=role
)
class GrantDocumentAccessAction(WorkflowAction):
fields = {
'roles': {
'label': _('Roles'),
'class': 'django.forms.ModelMultipleChoiceField', 'kwargs': {
'help_text': _('Roles whose access will be modified.'),
'queryset': Role.objects.all(), 'required': True
}
}, 'permissions': {
'label': _('Permissions'),
'class': 'django.forms.MultipleChoiceField', 'kwargs': {
'help_text': _(
'Permissions to grant/revoke to/from the role for the '
'object selected above.'
), 'choices': (),
'required': True
}
}
}
field_order = ('roles', 'permissions')
label = _('Grant document access')
widgets = {
'roles': {
'class': 'django.forms.widgets.SelectMultiple', 'kwargs': {
'attrs': {'class': 'select2'},
}
},
'permissions': {
'class': 'django.forms.widgets.SelectMultiple', 'kwargs': {
'attrs': {'class': 'select2'},
}
}
}
def get_form_schema(self, *args, **kwargs):
self.fields['permissions']['kwargs']['choices'] = ModelPermission.get_for_class(
klass=Document, as_choices=True
)
return super(GrantDocumentAccessAction, self).get_form_schema(*args, **kwargs)
def get_execute_data(self):
self.roles = Role.objects.filter(pk__in=self.form_data['roles'])
self.permissions = [
Permission.get(
pk=permission, proxy_only=True
) for permission in self.form_data['permissions']
]
def execute(self, context):
self.get_execute_data()
for role in self.roles:
for permission in self.permissions:
AccessControlList.objects.grant(
obj=context['document'], permission=permission, role=role
)
class RevokeDocumentAccessAction(GrantDocumentAccessAction):
label = _('Revoke document access')
def execute(self, context):
self.get_execute_data()
for role in self.roles:
for permission in self.permissions:
AccessControlList.objects.revoke(
obj=context['document'], permission=permission, role=role
)

View File

@@ -4,6 +4,7 @@ from django.template.loader import get_template
class IconDriver(object):
context = {}
_registry = {}
@classmethod
@@ -14,6 +15,17 @@ class IconDriver(object):
def register(cls, driver_class):
cls._registry[driver_class.name] = driver_class
def get_context(self):
return self.context
def render(self, extra_context=None):
context = self.get_context()
if extra_context:
context.update(extra_context)
return get_template(template_name=self.template_name).render(
context=context
)
class FontAwesomeDriver(IconDriver):
name = 'fontawesome'
@@ -22,10 +34,8 @@ class FontAwesomeDriver(IconDriver):
def __init__(self, symbol):
self.symbol = symbol
def render(self):
return get_template(template_name=self.template_name).render(
context={'symbol': self.symbol}
)
def get_context(self):
return {'symbol': self.symbol}
class FontAwesomeDualDriver(IconDriver):
@@ -36,23 +46,21 @@ class FontAwesomeDualDriver(IconDriver):
self.primary_symbol = primary_symbol
self.secondary_symbol = secondary_symbol
def render(self):
return get_template(template_name=self.template_name).render(
context={
'data': (
{
'class': 'fas fa-circle',
'transform': 'down-3 right-10',
'mask': 'fas fa-{}'.format(self.primary_symbol)
},
{'class': 'far fa-circle', 'transform': 'down-3 right-10'},
{
'class': 'fas fa-{}'.format(self.secondary_symbol),
'transform': 'shrink-4 down-3 right-10'
},
)
}
)
def get_context(self):
return {
'data': (
{
'class': 'fas fa-circle',
'transform': 'down-3 right-10',
'mask': 'fas fa-{}'.format(self.primary_symbol)
},
{'class': 'far fa-circle', 'transform': 'down-3 right-10'},
{
'class': 'fas fa-{}'.format(self.secondary_symbol),
'transform': 'shrink-4 down-3 right-10'
},
)
}
class FontAwesomeCSSDriver(IconDriver):
@@ -62,10 +70,8 @@ class FontAwesomeCSSDriver(IconDriver):
def __init__(self, css_classes):
self.css_classes = css_classes
def render(self):
return get_template(template_name=self.template_name).render(
context={'css_classes': self.css_classes}
)
def get_context(self):
return {'css_classes': self.css_classes}
class FontAwesomeMasksDriver(IconDriver):
@@ -75,23 +81,23 @@ class FontAwesomeMasksDriver(IconDriver):
def __init__(self, data):
self.data = data
def render(self):
return get_template(template_name=self.template_name).render(
context={'data': self.data}
)
def get_context(self):
return {'data': self.data}
class FontAwesomeLayersDriver(IconDriver):
name = 'fontawesome-layers'
template_name = 'appearance/icons/font_awesome_layers.html'
def __init__(self, data):
def __init__(self, data, shadow_class=None):
self.data = data
self.shadow_class = shadow_class
def render(self):
return get_template(template_name=self.template_name).render(
context={'data': self.data}
)
def get_context(self):
return {
'data': self.data,
'shadow_class': self.shadow_class,
}
class Icon(object):

View File

@@ -2,15 +2,31 @@ from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _
from mayan.apps.dependencies.classes import JavaScriptDependency
from mayan.apps.dependencies.classes import (
GoogleFontDependency, JavaScriptDependency
)
GoogleFontDependency(
label=_('Lato font'), module=__name__, name='lato',
url='https://fonts.googleapis.com/css?family=Lato:400,700,400italic'
)
JavaScriptDependency(
label=_('Bootstrap'), module=__name__, name='bootstrap',
version_string='=3.4.1'
)
JavaScriptDependency(
label=_('Bootswatch'), module=__name__, name='bootswatch',
version_string='=3.4.1'
replace_list=[
{
'filename_pattern': 'bootstrap.*.css',
'content_patterns': [
{
'search': '"https://fonts.googleapis.com/css?family=Lato:400,700,400italic"',
'replace': '../../../google_fonts/lato/import.css',
}
]
}
], version_string='=3.4.1'
)
JavaScriptDependency(
label=_('Fancybox'), module=__name__, name='@fancyapps/fancybox',

View File

@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:58-0400\n"
"PO-Revision-Date: 2019-05-03 05:20+0000\n"
"Last-Translator: Mohammed ALDOUB <voulnet@gmail.com>\n"
"POT-Creation-Date: 2019-07-05 01:27-0400\n"
"PO-Revision-Date: 2019-07-05 05:33+0000\n"
"Last-Translator: Roberto Rosario\n"
"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,47 +21,51 @@ msgstr ""
msgid "Appearance"
msgstr ""
#: dependencies.py:8
#: dependencies.py:10
msgid "Lato font"
msgstr ""
#: dependencies.py:14
msgid "Bootstrap"
msgstr "Bootstrap"
#: dependencies.py:12
#: dependencies.py:18
msgid "Bootswatch"
msgstr ""
#: dependencies.py:16
#: dependencies.py:32
msgid "Fancybox"
msgstr ""
#: dependencies.py:20
#: dependencies.py:36
msgid "FontAwesome"
msgstr ""
#: dependencies.py:24
#: dependencies.py:40
msgid "jQuery"
msgstr ""
#: dependencies.py:27
#: dependencies.py:43
msgid "JQuery Form"
msgstr ""
#: dependencies.py:31
#: dependencies.py:47
msgid "jQuery Lazy Load"
msgstr ""
#: dependencies.py:35
#: dependencies.py:51
msgid "JQuery Match Height"
msgstr ""
#: dependencies.py:39
#: dependencies.py:55
msgid "Select 2"
msgstr ""
#: dependencies.py:43
#: dependencies.py:59
msgid "Toastr"
msgstr ""
#: dependencies.py:46
#: dependencies.py:62
msgid "URI.js"
msgstr ""
@@ -177,16 +181,22 @@ msgid ""
" "
msgstr ""
#: templates/appearance/base.html:32
#: templates/appearance/base.html:32 templates/appearance/base.html:42
msgid "Warning"
msgstr ""
#: templates/appearance/base.html:51
#: templates/appearance/base.html:42
msgid ""
"Settings updated, restart your installation for changes to take proper "
"effect."
msgstr ""
#: templates/appearance/base.html:59
#: templates/appearance/generic_list_items_subtemplate.html:104
msgid "Actions"
msgstr "الإجراءات"
#: templates/appearance/base.html:53
#: templates/appearance/base.html:61
#: templates/appearance/generic_list_items_subtemplate.html:106
msgid "Toggle Dropdown"
msgstr ""
@@ -259,22 +269,6 @@ msgstr ""
msgid "Before you can fully use Mayan EDMS you need the following:"
msgstr ""
#: templates/appearance/home.html:50
msgid "Search pages"
msgstr ""
#: templates/appearance/home.html:52 templates/appearance/home.html:62
msgid "Search"
msgstr "البحث"
#: templates/appearance/home.html:53 templates/appearance/home.html:63
msgid "Advanced"
msgstr ""
#: templates/appearance/home.html:60
msgid "Search documents"
msgstr ""
#: templates/appearance/main_menu.html:10
msgid "Toggle navigation"
msgstr ""

Some files were not shown because too many files have changed in this diff Show More