Compare commits

..

104 Commits

Author SHA1 Message Date
Roberto Rosario
adf47646bf Initial commit for the document trashed event
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-06-24 08:29:45 -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
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
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
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
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
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
1342 changed files with 21357 additions and 22480 deletions

2
.gitignore vendored
View File

@@ -30,4 +30,6 @@ static_collected/
/venv/ /venv/
/venv3/ /venv3/
/whoosh_index/ /whoosh_index/
google_fonts/
node_modules/ 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 - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script: script:
- docker build --pull -t "$CI_REGISTRY_IMAGE" -f docker/Dockerfile . - 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 tag "$CI_REGISTRY_IMAGE" "$CI_REGISTRY_IMAGE:$VERSION"
- docker run --rm "$CI_REGISTRY_IMAGE:$VERSION" run-tests - docker run --rm "$CI_REGISTRY_IMAGE:$VERSION" run-tests
- docker push "$CI_REGISTRY_IMAGE:$VERSION" - docker push "$CI_REGISTRY_IMAGE:$VERSION"
@@ -37,7 +37,7 @@ job_docker_push:
before_script: before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script: script:
- VERSION=`cat docker/version` - VERSION=`cat docker/rootfs/version`
- docker pull "$CI_REGISTRY_IMAGE:$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:"$VERSION"
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:latest - docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:latest

View File

@@ -1,4 +1,51 @@
3.2 (2019-04-XX) 3.2.4 (2019-06-XX)
==================
* Support configurable GUnicorn timeouts. Defaults to
current value of 120 seconds.
* Fix help text of the platformtemplate command.
3.2.3 (2019-06-21)
==================
* 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.
3.2.2 (2019-06-19)
==================
* 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.
3.2.1 (2019-06-14)
==================
* 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.
3.2 (2019-06-13)
================ ================
* Split sources models into separate modules. * Split sources models into separate modules.
* Add support for subfolder scanning to watchfolders. Closes * Add support for subfolder scanning to watchfolders. Closes
@@ -82,7 +129,7 @@
* Move Tag app HTML widgets to their own module. * Move Tag app HTML widgets to their own module.
* Move the document index app widgets to the html_widget.py * Move the document index app widgets to the html_widget.py
module. module.
* Update group members view permission. The group edit and * Update group members view permission. The group edit and
user edit permission are now required. user edit permission are now required.
* Add keyword arguments to messages uses. * Add keyword arguments to messages uses.
* Add keyword arguments to the reverse use in views. * Add keyword arguments to the reverse use in views.
@@ -125,13 +172,13 @@
* Add document state action view test. * Add document state action view test.
* Remove sidebar menu instance. The secondary menu and the * Remove sidebar menu instance. The secondary menu and the
previour sidebar menu now perform the same function. previour sidebar menu now perform the same function.
* Backport source column identifiable and sortable * Backport source column identifiable and sortable
improvements. improvements.
* Update the way the no-result template is shown. * Update the way the no-result template is shown.
* Improve TwoStateWidget to use a template. Make * Improve TwoStateWidget to use a template. Make
it compatible with the SourceColumn. it compatible with the SourceColumn.
* Update SourceColumn to support related attributes. * Update SourceColumn to support related attributes.
* Add support for display for empty values for * Add support for display for empty values for
source columns. source columns.
* Add support for source column object or attribute * Add support for source column object or attribute
absolute URLs. absolute URLs.
@@ -141,10 +188,10 @@
* Remove the full name from the user list. * Remove the full name from the user list.
* Add the first name and last name to the user list. * Add the first name and last name to the user list.
* Add file metadata app. * Add file metadata app.
* Add support for submitting forms by pressing the * Add support for submitting forms by pressing the
Enter key or by double clicking. Enter key or by double clicking.
* Rename form template 'form_class' to 'form_css_classes'. * Rename form template 'form_class' to 'form_css_classes'.
* Add support for adding form button aside from the * Add support for adding form button aside from the
default submit and cancel. default submit and cancel.
* Update ChoiceForm to be full height. * Update ChoiceForm to be full height.
* Add AddRemoveView to replace AssignRemoveView * Add AddRemoveView to replace AssignRemoveView
@@ -177,7 +224,7 @@
* Monkeypatch group and user models to make their fields * Monkeypatch group and user models to make their fields
translatable. translatable.
* Add new and default Tesseract OCR backend to avoid * Add new and default Tesseract OCR backend to avoid
Tesseract bug 1670 Tesseract bug 1670
(https://github.com/tesseract-ocr/tesseract/issues/1670) (https://github.com/tesseract-ocr/tesseract/issues/1670)
* Load only one language in the document properties form. * Load only one language in the document properties form.
* Convert title calculation form to a template tag. * Convert title calculation form to a template tag.
@@ -231,7 +278,7 @@
from the document type side. from the document type side.
* Make workflows, workflows states, workflow * Make workflows, workflows states, workflow
transitions column sortable. transitions column sortable.
* Show completion and intial state in the * Show completion and intial state in the
workflow proxy instance menu list. workflow proxy instance menu list.
* Fix translation of the source upload forms * Fix translation of the source upload forms
using dropzone.js using dropzone.js
@@ -240,12 +287,12 @@
* Remove MultipleInstanceActionMixin. * Remove MultipleInstanceActionMixin.
* Backport MultipleObjectMixin improvements. * Backport MultipleObjectMixin improvements.
* Remove ObjectListPermissionFilterMixin. * Remove ObjectListPermissionFilterMixin.
* Add deprecation warning to convertdb * Add deprecation warning to convertdb
* Add the preparestatic command. * Add the preparestatic command.
* Remove the related attribute of check_access. * Remove the related attribute of check_access.
* Remove filter_by_access. Replaced by restrict_queryset. * Remove filter_by_access. Replaced by restrict_queryset.
* Move the user set password views to the authentication app. * Move the user set password views to the authentication app.
* All views redirect to common's home view instead of the * All views redirect to common's home view instead of the
REDIRECT_URL setting. REDIRECT_URL setting.
* Update tag document list and the document tag list * Update tag document list and the document tag list
views to require the view permissions for both objects. views to require the view permissions for both objects.
@@ -264,7 +311,7 @@
* Add cabinet created and edited events. * Add cabinet created and edited events.
* Show a null mailer backend if there is backend with an * Show a null mailer backend if there is backend with an
invalid path. Due to the app full path change, existing invalid path. Due to the app full path change, existing
mailer setups need to be recreated. mailer setups need to be recreated.
* The document link URL when mailed is now composed of the * The document link URL when mailed is now composed of the
COMMON_PROJECT_URL + document URL instead of the Site COMMON_PROJECT_URL + document URL instead of the Site
domain. domain.
@@ -272,7 +319,33 @@
* Add comment and make file target to generate all requirement * Add comment and make file target to generate all requirement
files. files.
* Place deletion policies units before periods for clarity. * Place deletion policies units before periods for clarity.
* Remove repeated EMAIL_TIMEOUT setting.
* Invert order to the Action Object and Target columns for
clarity.
* Add note about the new preparestatic command.
* Add no-result template for workflow instance detail view.
* Update HTTP workflow action to new requests API.
* Remove the included Lato font. The font is now downloaded
at install time.
* Add support for Google Fonts dependencies.
* Add support for patchin dependency files using rewriting rules.
* Allow searching documents by UUID.
* Improve search negation logic.
* 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.
3.1.11 (2019-04-XX) 3.1.11 (2019-04-XX)
=================== ===================

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"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with 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' __author_email__ = 'roberto.rosario@mayan-edms.com'
__description__ = 'Free Open Source Electronic Document Management System' __description__ = 'Free Open Source Electronic Document Management System'
__license__ = 'Apache 2.0' __license__ = 'Apache 2.0'
__copyright_short__ = '2011-2018 Roberto Rosario' __copyright_short__ = '2011 Roberto Rosario'
__copyright__ = '{} {}'.format('Copyright', __copyright_short__) __copyright__ = '{} {}'.format('Copyright', __copyright_short__)
__website__ = 'https://www.mayan-edms.com' __website__ = 'https://www.mayan-edms.com'

View File

@@ -22,7 +22,7 @@ APP_LIST = (
LANGUAGE_LIST = ( LANGUAGE_LIST = (
'ar', 'bg', 'bs_BA', 'cs', 'da_DK', 'de_DE', 'en', 'es', 'el', 'fa', 'fr', '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', 'tr_TR', 'vi_VN', 'zh',
) )

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_BIN=${MAYAN_PYTHON_BIN_DIR}gunicorn
export MAYAN_GUNICORN_WORKERS=${MAYAN_GUNICORN_WORKERS:-2} 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_PIP_BIN=${MAYAN_PYTHON_BIN_DIR}pip
export MAYAN_STATIC_ROOT=${MAYAN_INSTALL_DIR}/static export MAYAN_STATIC_ROOT=${MAYAN_INSTALL_DIR}/static

View File

@@ -1 +1 @@
3.2b1 3.2.3

View File

@@ -12,7 +12,7 @@ does.
Compilers and development libraries will be installed to compile runtime Compilers and development libraries will be installed to compile runtime
libraries. LibreOffice and Poppler utils will also be installed as they are 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 Process Control System, will be used to monitor and keep all Mayan processes
running. running.
@@ -43,7 +43,7 @@ For another setup that offers more performance and scalability refer to the
2. Create the user account for the installation: 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 "" sudo adduser mayan --disabled-password --disabled-login --no-create-home --gecos ""
@@ -61,7 +61,7 @@ For another setup that offers more performance and scalability refer to the
4. Create the Python virtual environment: 4. Create the Python virtual environment:
----------------------------------------- -----------------------------------------
This will keep all the Python packages installed here isolated from the rest 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 sudo virtualenv /opt/mayan-edms
@@ -113,9 +113,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 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 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 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. command.
.. warning:: .. warning::
@@ -157,7 +157,7 @@ For another setup that offers more performance and scalability refer to the
12. Configure Redis: 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: database and only keep 1 database:
:: ::

View File

@@ -248,9 +248,6 @@ Special branches:
``releases/python`` ``releases/python``
Used by the continuous delivery system to trigger the build and release Used by the continuous delivery system to trigger the build and release
of a new Python package to PyPI. 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`` ``nightly``
Used by the continuous delivery system to trigger the build and release 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 of a new Docker image based on development code to the GitLab image
@@ -482,7 +479,7 @@ Release checklist
make check-readme 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> 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 5432 port. The data of this container will reside on the host's
``/docker-volumes/mayan-edms/postgres`` folder. ``/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 \ docker run -d \
--name mayan-edms \ --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 folder, add the following to the Docker command line when starting the
container:: container::
-v /opt/scanned_files:/srv/watch_folder -v /opt/scanned_files:/scanned_files
The command line would look like this:: 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 and the documents from the host folder ``/opt/scanned_files`` will be
automatically available. Use the same procedure to mount host folders to 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 used as staging folders. In this example ``/scanned_files`` was used as the
container directory, but any path can be used as long as it is not an container directory, but any path can be used as long as:
already existing path or a path used by any other program.
- 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 Performing backups
@@ -310,7 +313,7 @@ For the example::
docker run -d --name mayan-edms --restart=always -p 80:8000 \ docker run -d --name mayan-edms --restart=always -p 80:8000 \
-v /docker-volumes/mayan:/var/lib/mayan \ -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``:: That would be the ``/docker-volumes/mayan folder``::
@@ -376,7 +379,7 @@ Execute Docker's build command using the provided makefile::
make docker-build 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 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 %} {% if document.cabinets.count == 0 %}No Cabinets{% endif %}
Index untagged documents Index documents not tagged
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
:: ::
{% if document.tags.count == 0 %}No Tags{% endif %} {% 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. #. Go to the :menuselection:`System --> Setup --> Sources` menu.
#. From the :guilabel:`Actions` dropdown select the new type of source to create. #. 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. the required information in each field based on the help text provided.
#. Press :guilabel:`Save`. #. Press :guilabel:`Save`.

View File

@@ -76,5 +76,5 @@ Uploading a new document version
#. From the :guilabel:`Actions` dropdown select :guilabel:`Upload new version`. #. From the :guilabel:`Actions` dropdown select :guilabel:`Upload new version`.
#. Optionally type a comment explaining the changes in the new version. #. Optionally type a comment explaining the changes in the new version.
#. Press the :guilabel:`Browse` button and select a new file. #. 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 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 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 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 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 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 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 the ``pk`` URL parameter will raise an exception in this code alerting to
any posible incompatible use. any possible incompatible use.
Example: 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 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 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 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. callable's interface.
.. code-block:: python .. code-block:: python

View File

@@ -16,7 +16,7 @@ MERC 6: Lower information disclose
Abstract 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. resource in the event that the requester doesn't have the required credentials.
Motivation 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. failure will fulfill the proposal of this MERC.
Adding the ``object_permission_raise_404`` class attribute and setting it 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. 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 * Added a view to delete the document image cache, useful when switching
converter backends or doing diagnostics. converter backends or doing diagnostics.
* Added South to the requirements. * 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 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:: migrate commands::
$ pip install -r requirements/production.txt $ pip install -r requirements/production.txt
$ ./manager syncdb $ ./manager syncdb
$ ./manage.py migrate documents 0001 --fake $ ./manage.py migrate documents 0001 --fake
@@ -30,5 +30,5 @@ Version 0.11
* Added new office document mimetype * Added new office document mimetype
* application/vnd.ms-office * application/vnd.ms-office
* Fixed documents not saving the file encoding * 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 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/

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

@@ -0,0 +1,114 @@
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/

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

@@ -0,0 +1,103 @@
Version 3.2.4
=============
Released: June XX, 2019
Changes
-------
- Support configurable GUnicorn timeouts. Defaults to
current value of 120 seconds.
- Fix help text of the platformtemplate command.
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.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::
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:`628` mailbox.user in POP3Email gets passed keyword argument, but only accepts "user" or positional argument
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,7 +1,7 @@
Version 3.2 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 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, 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, Dependencies app: A new app was added to handle all dependencies. Previously,
the code to handle JavaScript dependencies and license text collection, was 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. 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 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 recognized and help debug installation issues faster and easier. The app
@@ -163,8 +163,8 @@ currently logged user.
Incompatible changes Incompatible changes
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
Existing config.yml files need to be updated manually and 'mayan.apps' Existing config.yml files need to be updated manually. The prefix 'mayan.apps'
prepended to any reference to an app. must be added to any reference of an app.
All the Internet Explorer specific HTML markup was removed from the templates. 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. solutions like this won't be necessary.
This means that any reference to an app, either in the code or from a 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. ``config.yml`` files need to be updated manually.
For developers, a new test mixin was added called ``SilenceLoggerTestCaseMixin``. 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`` ``permissions`` argument of the ``check_access`` method. ``permissions``
argument must now be an iterable. 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``. Remove ``.filter_by_access``. Replaced by ``.restrict_queryset``.
@@ -703,9 +703,31 @@ Other changes
- Add cabinet created and edited events. - Add cabinet created and edited events.
- Chart updates: Show last update date and time in list view and details view. - 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. 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. - Split document type retention policies into it own view.
- Place deletion policies units before periods for clarity. - 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 Removals
@@ -781,7 +803,7 @@ Migrate existing database schema with::
Add new static media:: Add new static media::
$ mayan-edms.py collectstatic --noinput $ mayan-edms.py preparestatic --noinput
The upgrade procedure is now complete. 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 - Paths to apps must be updated in existing ``config.yml`` files. Preprend
``mayan.apps.`` to any app reference. Some instances: ``mayan.apps.`` to any app reference. Some instances:
.. code-block:: .. code-block :: python
LOCK_MANAGER_BACKEND: lock_manager.backends.file_lock.FileLock LOCK_MANAGER_BACKEND: lock_manager.backends.file_lock.FileLock
to to
.. code-block:: .. code-block :: python
LOCK_MANAGER_BACKEND: mayan.apps.lock_manager.backends.file_lock.FileLock LOCK_MANAGER_BACKEND: mayan.apps.lock_manager.backends.file_lock.FileLock
.. code-block:: .. code-block :: python
OCR_BACKEND: ocr.backends.pyocr.PyOCR OCR_BACKEND: ocr.backends.pyocr.PyOCR
to to
.. code-block:: .. code-block :: python
OCR_BACKEND: mayan.apps.ocr.backends.pyocr.PyOCR OCR_BACKEND: mayan.apps.ocr.backends.pyocr.PyOCR
.. code-block:: .. code-block :: python
CONVERTER_GRAPHICS_BACKEND: converter.backends.python.Python CONVERTER_GRAPHICS_BACKEND: converter.backends.python.Python
to to
.. code-block:: .. code-block :: python
CONVERTER_GRAPHICS_BACKEND: mayan.apps.converter.backends.python.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`` - To collect and compress the static media files, use the new ``preparestatic``
command instead of the traditional ``collectstatic``. Both work the same command instead of the traditional ``collectstatic``. Both work the same
way, but ``preparestatic`` has a default backlist to avoid collecting way, but ``preparestatic`` has a default blacklist to avoid collecting files
test files. from tests, development setup, and demos.
Bugs fixed or issues closed Bugs fixed or issues closed
--------------------------- ---------------------------
@@ -849,5 +872,6 @@ Bugs fixed or issues closed
- :gitlab-issue:`563` Recursive Watch Folder - :gitlab-issue:`563` Recursive Watch Folder
- :gitlab-issue:`579` Untranslated items - :gitlab-issue:`579` Untranslated items
- :gitlab-issue:`589` Document {{ link }} send via Email contains example.com as domain - :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/ .. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

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

View File

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

View File

@@ -6,6 +6,88 @@ FAQ
Non technical 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 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 would possible for a commercial version of Mayan EDMS with separate licensing
terms. terms.
Is there a commercial partnership program? 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. 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 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 contrib/settings/ folder of the repository showing how to setup LDAP
authentication. authentication.
Operating systems Operating systems
================= =================
@@ -154,14 +227,18 @@ should be used and the resulting static folder served from a webserver.
For more information check the For more information check the
:django-docs:`howto/static-files/` :django-docs:`howto/static-files/`
Watchfolders
============ Watch folders
=============
The watched folder feature is not working The watched folder feature is not working
----------------------------------------- -----------------------------------------
Make sure that the Celery BEAT scheduler is running correctly as it is the 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 Other
===== =====
@@ -188,8 +265,3 @@ Example::
Reference: Reference:
* http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html * 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). - 2 Gigabytes of RAM (1 Gigabyte if OCR is turned off).
- Multiple core CPU (64 bit, faster than 1 GHz recommended). - 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. user container technologies like Docker or virtual machines.
**************** ****************

View File

@@ -7,8 +7,8 @@ Troubleshooting
Database 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 * 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 When using MySQL and doing OCR on languages other than English
@@ -39,13 +39,31 @@ References:
* http://markmail.org/message/bqajx2utvmtriixi * 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: Solution:
Convert all MySQL tables to the same type, either all MyISAM or InnoDB 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 Docker
****** ******
@@ -136,3 +154,17 @@ command prompt::
And then execute the command:: And then execute the command::
/opt/mayan-edms/bin/mayan-edms.py createsuperuser /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.

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"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with 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 from __future__ import unicode_literals
__title__ = 'Mayan EDMS' __title__ = 'Mayan EDMS'
__version__ = '3.2b1' __version__ = '3.2.3'
__build__ = 0x030200 __build__ = 0x030203
__build_string__ = 'v3.2b1_Thu May 16 01:31:36 2019 -0400' __build_string__ = 'v3.2.3_Fri Jun 21 00:01:37 2019 -0400'
__django_version__ = '1.11' __django_version__ = '1.11'
__author__ = 'Roberto Rosario' __author__ = 'Roberto Rosario'
__author_email__ = 'roberto.rosario@mayan-edms.com' __author_email__ = 'roberto.rosario@mayan-edms.com'
__description__ = 'Free Open Source Electronic Document Management System' __description__ = 'Free Open Source Electronic Document Management System'
__license__ = 'Apache 2.0' __license__ = 'Apache 2.0'
__copyright_short__ = '2011-2018 Roberto Rosario' __copyright_short__ = '2011 Roberto Rosario'
__copyright__ = '{} {}'.format('Copyright', __copyright_short__) __copyright__ = '{} {}'.format('Copyright', __copyright_short__)
__website__ = 'https://www.mayan-edms.com' __website__ = 'https://www.mayan-edms.com'

View File

@@ -1,8 +1,10 @@
from __future__ import unicode_literals, absolute_import from __future__ import unicode_literals, absolute_import
import itertools
import logging import logging
from django.apps import apps from django.apps import apps
from django.utils.encoding import force_text
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -12,6 +14,12 @@ class ModelPermission(object):
_inheritances = {} _inheritances = {}
_registry = {} _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 @classmethod
def register(cls, model, permissions): def register(cls, model, permissions):
from django.contrib.contenttypes.fields import GenericRelation from django.contrib.contenttypes.fields import GenericRelation
@@ -36,7 +44,7 @@ class ModelPermission(object):
if as_content_type: if as_content_type:
content_type_dictionary = ContentType.objects.get_for_models( content_type_dictionary = ContentType.objects.get_for_models(
models=cls._registry.keys() *cls._registry.keys()
) )
content_type_ids = [ content_type_ids = [
content_type.pk for content_type in content_type_dictionary.values() content_type.pk for content_type in content_type_dictionary.values()
@@ -47,8 +55,21 @@ class ModelPermission(object):
return cls._registry.keys() return cls._registry.keys()
@classmethod @classmethod
def get_for_class(cls, klass): def get_for_class(cls, klass, as_choices=False):
return cls._registry.get(klass, ()) 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 @classmethod
def get_for_instance(cls, instance): def get_for_instance(cls, instance):

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "حذف" 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" msgid "Permissions"
msgstr "الصلاحيات" msgstr "الصلاحيات"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "" msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "" msgstr ""
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "" msgstr ""
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Roles" msgstr "Roles"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "" msgstr ""
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "" msgstr ""
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" 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" msgid "Permissions"
msgstr "Разрешения" msgstr "Разрешения"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "" msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "" msgstr ""
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "" msgstr ""
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Роли" msgstr "Роли"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "" msgstr ""
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "" msgstr ""
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "Novi ACL"
msgid "Delete" msgid "Delete"
msgstr "Obriši" 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" msgid "Permissions"
msgstr "Dozvole" msgstr "Dozvole"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "Nedovoljan pristup za:%s" msgstr "Nedovoljan pristup za:%s"
@@ -157,40 +157,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "Tip objekta" msgstr "Tip objekta"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "Tip objekta za koji će se pristup mijenjati." msgstr "Tip objekta za koji će se pristup mijenjati."
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "ID objekta" msgstr "ID objekta"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "Numerički identifikator objekta za koji će se pristup mijenjati." 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" msgid "Roles"
msgstr "Role" msgstr "Role"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "Uloge čiji će pristup biti modifikovan." msgstr "Uloge čiji će pristup biti modifikovan."
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "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." msgstr "Dozvole za dodeljivanje / poništavanje / od uloge za gore izabrani objekat."
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "Dodjeljen pristup" msgstr "Dodjeljen pristup"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "Opozvati pristup" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-17 14:41+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Jiri Fait <fait@orkasolutions.cz>\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Czech (http://www.transifex.com/rosarior/mayan-edms/language/cs/)\n" "Language-Team: Czech (http://www.transifex.com/rosarior/mayan-edms/language/cs/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -46,16 +46,16 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "Odstranit" 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" msgid "Permissions"
msgstr "Práva" msgstr "Práva"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "" msgstr ""
@@ -157,40 +157,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "" msgstr ""
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "" msgstr ""
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "" msgstr ""
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "" msgstr ""
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "" msgstr ""
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Danish (Denmark) (http://www.transifex.com/rosarior/mayan-edms/language/da_DK/)\n" "Language-Team: Danish (Denmark) (http://www.transifex.com/rosarior/mayan-edms/language/da_DK/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "Ny ACL"
msgid "Delete" msgid "Delete"
msgstr "Slet" 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" msgid "Permissions"
msgstr "Tilladelser" msgstr "Tilladelser"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "Utilstækkelig adgang for: %s" msgstr "Utilstækkelig adgang for: %s"
@@ -157,40 +157,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "Objekttype" msgstr "Objekttype"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "Objekt ID" msgstr "Objekt ID"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Roller" msgstr "Roller"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "" msgstr ""
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "Giv tilladelse" msgstr "Giv tilladelse"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "Tilbagekald tilladelse" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-06 22:04+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Mathias Behrle <mathiasb@m9s.biz>\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -49,16 +49,16 @@ msgstr "Neue Berechtigung"
msgid "Delete" msgid "Delete"
msgstr "Löschen" 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" msgid "Permissions"
msgstr "Berechtigungen" msgstr "Berechtigungen"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." 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." msgstr "Objekt \"%s\" ist kein Modell und kann nicht auf Zugriffsberechtigungen überprüft werden."
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "Unzureichende Berechtigung für: %s" msgstr "Unzureichende Berechtigung für: %s"
@@ -160,40 +160,48 @@ msgid ""
"menu." "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." 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" msgid "Object type"
msgstr "Objekttyp" msgstr "Objekttyp"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "Objekttyp für den der Zugang bearbeitet wird." msgstr "Objekttyp für den der Zugang bearbeitet wird."
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "Objekt ID" msgstr "Objekt ID"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "Numerischer Identifikator des Objekts" msgstr "Numerischer Identifikator des Objekts"
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Rollen" msgstr "Rollen"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "Rollen deren Zugang bearbeitet wird." msgstr "Rollen deren Zugang bearbeitet wird."
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "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." 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" msgid "Grant access"
msgstr "Zugriffsberechtigung erteilen" msgstr "Zugriffsberechtigung erteilen"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "Zugriffsberechtigung entziehen" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Greek (http://www.transifex.com/rosarior/mayan-edms/language/el/)\n" "Language-Team: Greek (http://www.transifex.com/rosarior/mayan-edms/language/el/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr "Νέα ΛΕΠ"
msgid "Delete" msgid "Delete"
msgstr "Διαγραφή" 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" msgid "Permissions"
msgstr "Ανεπαρκή δικαιώματα" msgstr "Ανεπαρκή δικαιώματα"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "Μη επαρκή δικαιώματα πρόσβασης για το: %s" msgstr "Μη επαρκή δικαιώματα πρόσβασης για το: %s"
@@ -156,40 +156,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "Τύπος αντικειμένου" msgstr "Τύπος αντικειμένου"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "Τύπος του αντικειμένου για το οποίο η πρόσβαση θα τροποποιηθεί." msgstr "Τύπος του αντικειμένου για το οποίο η πρόσβαση θα τροποποιηθεί."
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "Αναγνωριστικό αντικειμένου" msgstr "Αναγνωριστικό αντικειμένου"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "Αριθμητικό αναγνωριστικό του αντικειμένου για το οποίο η πρόσβαση θα τροποποιηθεί." msgstr "Αριθμητικό αναγνωριστικό του αντικειμένου για το οποίο η πρόσβαση θα τροποποιηθεί."
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Ρόλοι" msgstr "Ρόλοι"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "Ρόλοι των οποιων η πρόσβαση θα τροποποιηθει." msgstr "Ρόλοι των οποιων η πρόσβαση θα τροποποιηθει."
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Δικαιώματα προς χορήγηση/ανάληση προς/από τον ρόλο για το ανωτέρω επιλεγμένο αντικείμενο." msgstr "Δικαιώματα προς χορήγηση/ανάληση προς/από τον ρόλο για το ανωτέρω επιλεγμένο αντικείμενο."
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "Χορήγηση πρόσβασης" msgstr "Χορήγηση πρόσβασης"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "Ανάκληση πρόσβασης" 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 "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" 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" msgid "Permissions"
msgstr "" msgstr ""
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "" msgstr ""
@@ -156,39 +156,47 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "" msgstr ""
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "" msgstr ""
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "Numeric identifier of the object for which the access will be modified." msgid "Numeric identifier of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "" msgstr ""
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "" msgstr ""
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "" msgstr ""
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:52+0000\n" "PO-Revision-Date: 2019-06-15 07:51+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -48,16 +48,16 @@ msgstr "Nueva LCA"
msgid "Delete" msgid "Delete"
msgstr "Borrar" 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" msgid "Permissions"
msgstr "Permisos" msgstr "Permisos"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." 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." msgstr "El objeto \"%s\"; no es un modelo y no se puede verificar el acceso."
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "Acceso insuficiente para: %s" msgstr "Acceso insuficiente para: %s"
@@ -159,40 +159,48 @@ msgid ""
"menu." "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." 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" msgid "Object type"
msgstr "Tipo de objeto" msgstr "Tipo de objeto"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "Tipo de objeto para el que se modificará el acceso." msgstr "Tipo de objeto para el que se modificará el acceso."
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "ID de objeto" msgstr "ID de objeto"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "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." 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" msgid "Roles"
msgstr "Roles" msgstr "Roles"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "Roles cuyo acceso será modificado." msgstr "Roles cuyo acceso será modificado."
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "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." msgstr "Permisos para otorgar/revocar a los roles para el objeto seleccionado anteriormente."
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "Otorgar acceso" msgstr "Otorgar acceso"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "Revocar acceso" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -47,16 +47,16 @@ msgstr "دسترسی جدید"
msgid "Delete" msgid "Delete"
msgstr "حذف" 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" msgid "Permissions"
msgstr "مجوزها" msgstr "مجوزها"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "کمبود دسترسی برای: %s" msgstr "کمبود دسترسی برای: %s"
@@ -158,40 +158,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "نوع شی" msgstr "نوع شی"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "نوع شی که دسترسی به آن تغییر خواهد کرد." msgstr "نوع شی که دسترسی به آن تغییر خواهد کرد."
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "شناسه اشیاء" msgstr "شناسه اشیاء"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "شناسه عددی شئی که دسترسی به آن تغییر خواهد کرد." msgstr "شناسه عددی شئی که دسترسی به آن تغییر خواهد کرد."
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "نقش ها" msgstr "نقش ها"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "نقش هایی که دسترسی به آنها تغییر خواهد کرد." msgstr "نقش هایی که دسترسی به آنها تغییر خواهد کرد."
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "مجوز برای اعطای / لغو به / از نقش مورد انتخاب شده در بالا." msgstr "مجوز برای اعطای / لغو به / از نقش مورد انتخاب شده در بالا."
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "دادن دسترسی" msgstr "دادن دسترسی"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "لغو دسترسی" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 03:24+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Frédéric Sheedy <sheedf@gmail.com>\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -49,16 +49,16 @@ msgstr "Nouveau droit"
msgid "Delete" msgid "Delete"
msgstr "Suppression" 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" msgid "Permissions"
msgstr "Autorisations" msgstr "Autorisations"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "Droits d'accès insuffisants pour : %s" msgstr "Droits d'accès insuffisants pour : %s"
@@ -160,40 +160,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "Type d'objet" msgstr "Type d'objet"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." 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." 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" msgid "Object ID"
msgstr "Identifiant de l'objet" msgstr "Identifiant de l'objet"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "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." 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" msgid "Roles"
msgstr "Rôles" msgstr "Rôles"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "Rôles pour lesquels les droits d'accès vont être modifiés." 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 "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "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." 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" msgid "Grant access"
msgstr "Accorder le droit d'accès" msgstr "Accorder le droit d'accès"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "Révoquer le droit d'accès" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "Törlés" 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" msgid "Permissions"
msgstr "Engedélyek" msgstr "Engedélyek"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "" msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "" msgstr ""
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "" msgstr ""
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Szerepkörök" msgstr "Szerepkörök"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "" msgstr ""
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "" msgstr ""
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-12 17:32+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Adek Lanin\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "Hapus" 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" msgid "Permissions"
msgstr "" msgstr ""
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "" msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "" msgstr ""
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "" msgstr ""
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "" msgstr ""
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "" msgstr ""
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "" msgstr ""
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "" 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. # This file is distributed under the same license as the PACKAGE package.
# #
# Translators: # Translators:
# Daniele Bortoluzzi <daniele@elkos.it>, 2019
# Marco Camplese <marco.camplese.mc@gmail.com>, 2016-2017 # Marco Camplese <marco.camplese.mc@gmail.com>, 2016-2017
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -28,11 +29,11 @@ msgstr "Liste di controllo accessi"
#: events.py:12 #: events.py:12
msgid "ACL created" msgid "ACL created"
msgstr "" msgstr "ACL creata"
#: events.py:15 #: events.py:15
msgid "ACL edited" msgid "ACL edited"
msgstr "" msgstr "ACL modificata"
#: forms.py:15 models.py:49 #: forms.py:15 models.py:49
msgid "Role" msgid "Role"
@@ -46,19 +47,19 @@ msgstr "Nuova ACL"
msgid "Delete" msgid "Delete"
msgstr "Cancella" 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" msgid "Permissions"
msgstr "Permessi" msgstr "Permessi"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." 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 #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "" msgstr "Permessi insufficienti per: %s"
#: models.py:57 #: models.py:57
msgid "Access entry" msgid "Access entry"
@@ -123,13 +124,13 @@ msgstr "Cancella ACL: %s"
#: views.py:147 #: views.py:147
msgid "There are no ACLs for this object" msgid "There are no ACLs for this object"
msgstr "" msgstr "Non ci sono ACL per questo oggetto"
#: views.py:150 #: views.py:150
msgid "" msgid ""
"ACL stands for Access Control List and is a precise method to control user " "ACL stands for Access Control List and is a precise method to control user "
"access to objects in the system." "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 #: views.py:154
#, python-format #, python-format
@@ -147,7 +148,7 @@ msgstr "Autorizzazioni disponibili "
#: views.py:215 #: views.py:215
#, python-format #, python-format
msgid "Role \"%(role)s\" permission's for \"%(object)s\"." msgid "Role \"%(role)s\" permission's for \"%(object)s\"."
msgstr "" msgstr "Permessi del ruolo \"%(role)s\" per \"%(object)s\"."
#: views.py:224 #: views.py:224
msgid "" msgid ""
@@ -155,42 +156,50 @@ msgid ""
"to the role and can't be removed from this view. Inherited permissions need " "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 " "to be removed from the parent object's ACL or from them role via the Setup "
"menu." "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" 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." 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" msgid "Object ID"
msgstr "" msgstr "ID dell'oggetto"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "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" msgid "Roles"
msgstr "Ruoli " msgstr "Ruoli "
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." 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 "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "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" 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 "" msgstr ""
#: workflow_actions.py:135 #: workflow_actions.py:214
msgid "Revoke access" msgid "Revoke document access"
msgstr "" 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-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\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 ""
#: workflow_actions.py:214
msgid "Revoke document access"
msgstr ""

View File

@@ -5,13 +5,13 @@
# Translators: # Translators:
# Evelijn Saaltink <evelijnsaaltink@gmail.com>, 2016 # Evelijn Saaltink <evelijnsaaltink@gmail.com>, 2016
# Justin Albstbstmeijer <justin@albstmeijer.nl>, 2016 # Justin Albstbstmeijer <justin@albstmeijer.nl>, 2016
# Martin Horseling <martin.horseling@gmail.com>, 2018 # Martin Horseling <martin.horseling@gmail.com>, 2018-2019
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -30,11 +30,11 @@ msgstr "Authorisatielijsten"
#: events.py:12 #: events.py:12
msgid "ACL created" msgid "ACL created"
msgstr "" msgstr "Authorisatie Controle Lijst Aangemaakt"
#: events.py:15 #: events.py:15
msgid "ACL edited" msgid "ACL edited"
msgstr "" msgstr "Authorisatie Controle Lijst gewijzigd"
#: forms.py:15 models.py:49 #: forms.py:15 models.py:49
msgid "Role" msgid "Role"
@@ -48,16 +48,16 @@ msgstr "Nieuwe authorisatielijst"
msgid "Delete" msgid "Delete"
msgstr "Verwijder" 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" msgid "Permissions"
msgstr "Permissies" msgstr "Permissies"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." 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 #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "Onvoldoende toegang voor: %s" msgstr "Onvoldoende toegang voor: %s"
@@ -125,13 +125,13 @@ msgstr "Verwijder authorisatielijst: %s"
#: views.py:147 #: views.py:147
msgid "There are no ACLs for this object" msgid "There are no ACLs for this object"
msgstr "" msgstr "Er zijn geen toegangscontrolelijsten voor dit onderwerp"
#: views.py:150 #: views.py:150
msgid "" msgid ""
"ACL stands for Access Control List and is a precise method to control user " "ACL stands for Access Control List and is a precise method to control user "
"access to objects in the system." "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 #: views.py:154
#, python-format #, python-format
@@ -149,7 +149,7 @@ msgstr "Beschikbare permissies"
#: views.py:215 #: views.py:215
#, python-format #, python-format
msgid "Role \"%(role)s\" permission's for \"%(object)s\"." msgid "Role \"%(role)s\" permission's for \"%(object)s\"."
msgstr "" msgstr "Rol \"%(role)s\" toestemmingen voor \"%(object)s\"."
#: views.py:224 #: views.py:224
msgid "" msgid ""
@@ -157,42 +157,50 @@ msgid ""
"to the role and can't be removed from this view. Inherited permissions need " "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 " "to be removed from the parent object's ACL or from them role via the Setup "
"menu." "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" msgid "Object type"
msgstr "Objecttype" msgstr "Objecttype"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "Objecttype waarvoor de toegang gewijzigd gaat worden" msgstr "Objecttype waarvoor de toegang gewijzigd gaat worden"
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "voorwerp identificatie" msgstr "voorwerp identificatie"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "Nummer van het voorwerp waarvoor de toegang wordt gewijzigd" msgstr "Nummer van het voorwerp waarvoor de toegang wordt gewijzigd"
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Gebruikersrollen" msgstr "Gebruikersrollen"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "Gebruikersrol waarvoor de toegang wordt gewijzigd" msgstr "Gebruikersrol waarvoor de toegang wordt gewijzigd"
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "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 " 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" msgid "Grant access"
msgstr "Geef toegang" msgstr "Geef toegang"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "Verwijder toegang" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -48,16 +48,16 @@ msgstr "Nowa lista ACL"
msgid "Delete" msgid "Delete"
msgstr "Usuń" 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" msgid "Permissions"
msgstr "Uprawnienia" msgstr "Uprawnienia"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "Niewystarczający dostęp dla: %s" msgstr "Niewystarczający dostęp dla: %s"
@@ -159,40 +159,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "Typ obiektu" msgstr "Typ obiektu"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "Typ obiektu, dla którego dostęp zostanie zmodyfikowany." msgstr "Typ obiektu, dla którego dostęp zostanie zmodyfikowany."
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "ID obiektu" msgstr "ID obiektu"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "Numeryczny identyfikator obiektu, dla którego dostęp zostanie zmodyfikowany." 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" msgid "Roles"
msgstr "Role" msgstr "Role"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "Role, których dostęp zostanie zmodyfikowany." msgstr "Role, których dostęp zostanie zmodyfikowany."
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "Uprawnienia do nadawania/odwoływania do/z roli dla obiektu." msgstr "Uprawnienia do nadawania/odwoływania do/z roli dla obiektu."
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "Przyznaj dostęp" msgstr "Przyznaj dostęp"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "Odwołaj dostęp" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "Eliminar" 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" msgid "Permissions"
msgstr "Permissões" msgstr "Permissões"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "" msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "" msgstr ""
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "" msgstr ""
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Funções" msgstr "Funções"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "" msgstr ""
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "" msgstr ""
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -48,16 +48,16 @@ msgstr "Nova regra"
msgid "Delete" msgid "Delete"
msgstr "Excluir" 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" msgid "Permissions"
msgstr "Permissões" msgstr "Permissões"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "Acesso insuficiente para: %s" msgstr "Acesso insuficiente para: %s"
@@ -159,40 +159,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "Tipo do objeto" msgstr "Tipo do objeto"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "Tipo do objeto cujo acesso será modificado." msgstr "Tipo do objeto cujo acesso será modificado."
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "ID do objeto" msgstr "ID do objeto"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "Identificador numérico do objeto cujo acesso será modificado." msgstr "Identificador numérico do objeto cujo acesso será modificado."
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Papéis" msgstr "Papéis"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "Papéis cujo acesso será modificado." msgstr "Papéis cujo acesso será modificado."
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "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." 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" msgid "Grant access"
msgstr "Conceder acesso" msgstr "Conceder acesso"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "Revogar acesso" msgstr "Revogar acesso"
#: 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-08 07:09+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Harald Ersch\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -46,16 +46,16 @@ msgstr "ACL nou"
msgid "Delete" msgid "Delete"
msgstr "Șterge" 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" msgid "Permissions"
msgstr "Permisiuni" msgstr "Permisiuni"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." 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." msgstr "Obiectul \"%s\" nu este un model și nu poate fi verificat pentru acces."
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "Acces insuficient pentru: %s" msgstr "Acces insuficient pentru: %s"
@@ -157,40 +157,48 @@ msgid ""
"menu." "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)." 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" msgid "Object type"
msgstr "Tipul obiectului" msgstr "Tipul obiectului"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "Tipul obiectului pentru care va fi modificat accesul ." msgstr "Tipul obiectului pentru care va fi modificat accesul ."
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "ID obiect" msgstr "ID obiect"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "Identificatorul numeric al obiectului pentru care va fi modificat accesul." 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" msgid "Roles"
msgstr "Roluri" msgstr "Roluri"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "Roluri a căror acces va fi modificat." msgstr "Roluri a căror acces va fi modificat."
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "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." msgstr "Permisiuni de acordare / revocare în / a rolului pentru obiectului selectat mai sus."
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "Acordă acces" msgstr "Acordă acces"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "Revocă acces" msgstr "Revocă acces"
#: 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "Создать СУД"
msgid "Delete" msgid "Delete"
msgstr "Удалить" 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" msgid "Permissions"
msgstr "Разрешения" msgstr "Разрешения"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "" msgstr ""
@@ -157,40 +157,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "" msgstr ""
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "" msgstr ""
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Роли" msgstr "Роли"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "" msgstr ""
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "" msgstr ""
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "Novi ACL"
msgid "Delete" msgid "Delete"
msgstr "Izbriši" 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" msgid "Permissions"
msgstr "Pravice" msgstr "Pravice"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "Nezadosten dostop za: %s" msgstr "Nezadosten dostop za: %s"
@@ -157,40 +157,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "Vrsta objekta" msgstr "Vrsta objekta"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "Vrsta predmeta, za katerega bo dostop spremenjen." msgstr "Vrsta predmeta, za katerega bo dostop spremenjen."
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "ID objekta" msgstr "ID objekta"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "Številčni identifikator predmeta, za katerega bo dostop spremenjen." msgstr "Številčni identifikator predmeta, za katerega bo dostop spremenjen."
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Vloge" msgstr "Vloge"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "Vloge, katerih dostop bo spremenjen." msgstr "Vloge, katerih dostop bo spremenjen."
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "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." msgstr "Dovoljenja za odobritev/preklic v/iz vlog za zgoraj izbrani objekt."
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "Dovoli dostop" msgstr "Dovoli dostop"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "Prekliči dostop" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Turkish (Turkey) (http://www.transifex.com/rosarior/mayan-edms/language/tr_TR/)\n" "Language-Team: Turkish (Turkey) (http://www.transifex.com/rosarior/mayan-edms/language/tr_TR/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "Yeni Erişim Kontrol Listesi"
msgid "Delete" msgid "Delete"
msgstr "Sil" 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" msgid "Permissions"
msgstr "İzinler" msgstr "İzinler"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "" msgstr ""
@@ -157,40 +157,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "" msgstr ""
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "" msgstr ""
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "Roller" msgstr "Roller"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "" msgstr ""
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "" msgstr ""
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -45,16 +45,16 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" 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" msgid "Permissions"
msgstr "" msgstr ""
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "" msgstr ""
@@ -156,40 +156,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "" msgstr ""
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "" msgstr ""
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "" msgstr ""
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "" msgstr ""
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "" msgstr ""
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "" msgstr ""
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "" 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 "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:57-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-05 01:43+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Chinese (http://www.transifex.com/rosarior/mayan-edms/language/zh/)\n" "Language-Team: Chinese (http://www.transifex.com/rosarior/mayan-edms/language/zh/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -46,16 +46,16 @@ msgstr "新的访问控制列表"
msgid "Delete" msgid "Delete"
msgstr "删除" 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" msgid "Permissions"
msgstr "权限" msgstr "权限"
#: managers.py:209 #: managers.py:216
#, python-format #, python-format
msgid "Object \"%s\" is not a model and cannot be checked for access." msgid "Object \"%s\" is not a model and cannot be checked for access."
msgstr "" msgstr ""
#: managers.py:229 #: managers.py:236
#, python-format #, python-format
msgid "Insufficient access for: %s" msgid "Insufficient access for: %s"
msgstr "访问权限不足:%s" msgstr "访问权限不足:%s"
@@ -157,40 +157,48 @@ msgid ""
"menu." "menu."
msgstr "" msgstr ""
#: workflow_actions.py:25 #: workflow_actions.py:26
msgid "Object type" msgid "Object type"
msgstr "对象类型" msgstr "对象类型"
#: workflow_actions.py:28 #: workflow_actions.py:29
msgid "Type of the object for which the access will be modified." msgid "Type of the object for which the access will be modified."
msgstr "要为其修改访问权限的对象的类型。" msgstr "要为其修改访问权限的对象的类型。"
#: workflow_actions.py:34 #: workflow_actions.py:35
msgid "Object ID" msgid "Object ID"
msgstr "对象ID" msgstr "对象ID"
#: workflow_actions.py:37 #: workflow_actions.py:38
msgid "" msgid ""
"Numeric identifier of the object for which the access will be modified." "Numeric identifier of the object for which the access will be modified."
msgstr "要为其修改访问权限的对象的数字标识符。" msgstr "要为其修改访问权限的对象的数字标识符。"
#: workflow_actions.py:42 #: workflow_actions.py:43 workflow_actions.py:158
msgid "Roles" msgid "Roles"
msgstr "角色" msgstr "角色"
#: workflow_actions.py:44 #: workflow_actions.py:45 workflow_actions.py:160
msgid "Roles whose access will be modified." msgid "Roles whose access will be modified."
msgstr "访问权限将被修改的角色。" msgstr "访问权限将被修改的角色。"
#: workflow_actions.py:51 #: workflow_actions.py:52 workflow_actions.py:167
msgid "" msgid ""
"Permissions to grant/revoke to/from the role for the object selected above." "Permissions to grant/revoke to/from the role for the object selected above."
msgstr "授予/撤销给上述选定对象角色的权限。" msgstr "授予/撤销给上述选定对象角色的权限。"
#: workflow_actions.py:59 #: workflow_actions.py:60
msgid "Grant access" msgid "Grant access"
msgstr "授予访问权限" msgstr "授予访问权限"
#: workflow_actions.py:135 #: workflow_actions.py:143
msgid "Revoke access" msgid "Revoke access"
msgstr "撤消访问权限" 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 return result
def check_access(self, obj, permissions, user): def check_access(self, obj, permissions, user, manager=None):
meta = getattr(obj, '_meta', 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: if manager:
logger.debug( source_queryset = manager.all()
ugettext(
'Object "%s" is not a model and cannot be checked for '
'access.'
) % force_text(obj)
)
return True
else: 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() restricted_queryset = obj._meta.default_manager.none()
for permission in permissions: for permission in permissions:

View File

@@ -36,11 +36,6 @@ class ACLTestMixin(PermissionTestMixin, RoleTestMixin, TestModelTestMixin):
auto_create_test_role = True auto_create_test_role = True
auto_create_test_object = False 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): def setUp(self):
super(ACLTestMixin, self).setUp() super(ACLTestMixin, self).setUp()
if self.auto_create_test_role: if self.auto_create_test_role:
@@ -49,6 +44,22 @@ class ACLTestMixin(PermissionTestMixin, RoleTestMixin, TestModelTestMixin):
if self.auto_create_test_object: if self.auto_create_test_object:
self._setup_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): def _inject_test_object_content_type(self):
self.test_object_content_type = ContentType.objects.get_for_model( self.test_object_content_type = ContentType.objects.get_for_model(
model=self.test_object 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.document_states.tests.test_actions import ActionTestCase
from mayan.apps.documents.permissions import permission_document_view 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): class ACLActionTestCase(ActionTestCase):
@@ -29,6 +32,22 @@ class ACLActionTestCase(ActionTestCase):
) )
self.assertEqual(self.test_document.acls.first().role, self._test_case_role) 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): def test_revoke_access_action(self):
self.grant_access( self.grant_access(
obj=self.test_document, permission=permission_document_view obj=self.test_document, permission=permission_document_view
@@ -47,3 +66,18 @@ class ACLActionTestCase(ActionTestCase):
action.execute(context={'entry_log': self.entry_log}) action.execute(context={'entry_log': self.entry_log})
self.assertEqual(self.test_document.acls.count(), 0) 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 django.utils.translation import ugettext_lazy as _
from mayan.apps.acls.models import AccessControlList 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.document_states.classes import WorkflowAction
from mayan.apps.permissions.classes import Permission from mayan.apps.permissions.classes import Permission
from mayan.apps.permissions.models import Role from mayan.apps.permissions.models import Role
@@ -58,6 +59,11 @@ class GrantAccessAction(WorkflowAction):
field_order = ('content_type', 'object_id', 'roles', 'permissions') field_order = ('content_type', 'object_id', 'roles', 'permissions')
label = _('Grant access') label = _('Grant access')
widgets = { widgets = {
'content_type': {
'class': 'django.forms.widgets.Select', 'kwargs': {
'attrs': {'class': 'select2'},
}
},
'roles': { 'roles': {
'class': 'django.forms.widgets.SelectMultiple', 'kwargs': { 'class': 'django.forms.widgets.SelectMultiple', 'kwargs': {
'attrs': {'class': 'select2'}, 'attrs': {'class': 'select2'},
@@ -97,7 +103,9 @@ class GrantAccessAction(WorkflowAction):
return form_data return form_data
def get_form_schema(self, *args, **kwargs): 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( self.fields['permissions']['kwargs']['choices'] = Permission.all(
as_choices=True as_choices=True
) )
@@ -142,3 +150,74 @@ class RevokeAccessAction(GrantAccessAction):
AccessControlList.objects.revoke( AccessControlList.objects.revoke(
obj=self.obj, permission=permission, role=role 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

@@ -2,15 +2,31 @@ from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _ 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( JavaScriptDependency(
label=_('Bootstrap'), module=__name__, name='bootstrap', label=_('Bootstrap'), module=__name__, name='bootstrap',
version_string='=3.4.1' version_string='=3.4.1'
) )
JavaScriptDependency( JavaScriptDependency(
label=_('Bootswatch'), module=__name__, name='bootswatch', 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( JavaScriptDependency(
label=_('Fancybox'), module=__name__, name='@fancyapps/fancybox', label=_('Fancybox'), module=__name__, name='@fancyapps/fancybox',

View File

@@ -7,9 +7,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:58-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-03 05:20+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Mohammed ALDOUB <voulnet@gmail.com>\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -21,47 +21,51 @@ msgstr ""
msgid "Appearance" msgid "Appearance"
msgstr "" msgstr ""
#: dependencies.py:8 #: dependencies.py:10
msgid "Lato font"
msgstr ""
#: dependencies.py:14
msgid "Bootstrap" msgid "Bootstrap"
msgstr "Bootstrap" msgstr "Bootstrap"
#: dependencies.py:12 #: dependencies.py:18
msgid "Bootswatch" msgid "Bootswatch"
msgstr "" msgstr ""
#: dependencies.py:16 #: dependencies.py:32
msgid "Fancybox" msgid "Fancybox"
msgstr "" msgstr ""
#: dependencies.py:20 #: dependencies.py:36
msgid "FontAwesome" msgid "FontAwesome"
msgstr "" msgstr ""
#: dependencies.py:24 #: dependencies.py:40
msgid "jQuery" msgid "jQuery"
msgstr "" msgstr ""
#: dependencies.py:27 #: dependencies.py:43
msgid "JQuery Form" msgid "JQuery Form"
msgstr "" msgstr ""
#: dependencies.py:31 #: dependencies.py:47
msgid "jQuery Lazy Load" msgid "jQuery Lazy Load"
msgstr "" msgstr ""
#: dependencies.py:35 #: dependencies.py:51
msgid "JQuery Match Height" msgid "JQuery Match Height"
msgstr "" msgstr ""
#: dependencies.py:39 #: dependencies.py:55
msgid "Select 2" msgid "Select 2"
msgstr "" msgstr ""
#: dependencies.py:43 #: dependencies.py:59
msgid "Toastr" msgid "Toastr"
msgstr "" msgstr ""
#: dependencies.py:46 #: dependencies.py:62
msgid "URI.js" msgid "URI.js"
msgstr "" msgstr ""
@@ -259,22 +263,6 @@ msgstr ""
msgid "Before you can fully use Mayan EDMS you need the following:" msgid "Before you can fully use Mayan EDMS you need the following:"
msgstr "" 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 #: templates/appearance/main_menu.html:10
msgid "Toggle navigation" msgid "Toggle navigation"
msgstr "" msgstr ""

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:58-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-03 05:20+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -21,47 +21,51 @@ msgstr ""
msgid "Appearance" msgid "Appearance"
msgstr "" msgstr ""
#: dependencies.py:8 #: dependencies.py:10
msgid "Lato font"
msgstr ""
#: dependencies.py:14
msgid "Bootstrap" msgid "Bootstrap"
msgstr "" msgstr ""
#: dependencies.py:12 #: dependencies.py:18
msgid "Bootswatch" msgid "Bootswatch"
msgstr "" msgstr ""
#: dependencies.py:16 #: dependencies.py:32
msgid "Fancybox" msgid "Fancybox"
msgstr "" msgstr ""
#: dependencies.py:20 #: dependencies.py:36
msgid "FontAwesome" msgid "FontAwesome"
msgstr "" msgstr ""
#: dependencies.py:24 #: dependencies.py:40
msgid "jQuery" msgid "jQuery"
msgstr "" msgstr ""
#: dependencies.py:27 #: dependencies.py:43
msgid "JQuery Form" msgid "JQuery Form"
msgstr "" msgstr ""
#: dependencies.py:31 #: dependencies.py:47
msgid "jQuery Lazy Load" msgid "jQuery Lazy Load"
msgstr "" msgstr ""
#: dependencies.py:35 #: dependencies.py:51
msgid "JQuery Match Height" msgid "JQuery Match Height"
msgstr "" msgstr ""
#: dependencies.py:39 #: dependencies.py:55
msgid "Select 2" msgid "Select 2"
msgstr "" msgstr ""
#: dependencies.py:43 #: dependencies.py:59
msgid "Toastr" msgid "Toastr"
msgstr "" msgstr ""
#: dependencies.py:46 #: dependencies.py:62
msgid "URI.js" msgid "URI.js"
msgstr "" msgstr ""
@@ -259,22 +263,6 @@ msgstr ""
msgid "Before you can fully use Mayan EDMS you need the following:" msgid "Before you can fully use Mayan EDMS you need the following:"
msgstr "" 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 #: templates/appearance/main_menu.html:10
msgid "Toggle navigation" msgid "Toggle navigation"
msgstr "" msgstr ""

View File

@@ -8,9 +8,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:58-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-03 05:20+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: www.ping.ba <jomer@ping.ba>\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -22,47 +22,51 @@ msgstr ""
msgid "Appearance" msgid "Appearance"
msgstr "Izgled" msgstr "Izgled"
#: dependencies.py:8 #: dependencies.py:10
msgid "Lato font"
msgstr ""
#: dependencies.py:14
msgid "Bootstrap" msgid "Bootstrap"
msgstr "Bootstrap" msgstr "Bootstrap"
#: dependencies.py:12 #: dependencies.py:18
msgid "Bootswatch" msgid "Bootswatch"
msgstr "" msgstr ""
#: dependencies.py:16 #: dependencies.py:32
msgid "Fancybox" msgid "Fancybox"
msgstr "" msgstr ""
#: dependencies.py:20 #: dependencies.py:36
msgid "FontAwesome" msgid "FontAwesome"
msgstr "" msgstr ""
#: dependencies.py:24 #: dependencies.py:40
msgid "jQuery" msgid "jQuery"
msgstr "" msgstr ""
#: dependencies.py:27 #: dependencies.py:43
msgid "JQuery Form" msgid "JQuery Form"
msgstr "" msgstr ""
#: dependencies.py:31 #: dependencies.py:47
msgid "jQuery Lazy Load" msgid "jQuery Lazy Load"
msgstr "" msgstr ""
#: dependencies.py:35 #: dependencies.py:51
msgid "JQuery Match Height" msgid "JQuery Match Height"
msgstr "" msgstr ""
#: dependencies.py:39 #: dependencies.py:55
msgid "Select 2" msgid "Select 2"
msgstr "" msgstr ""
#: dependencies.py:43 #: dependencies.py:59
msgid "Toastr" msgid "Toastr"
msgstr "" msgstr ""
#: dependencies.py:46 #: dependencies.py:62
msgid "URI.js" msgid "URI.js"
msgstr "" msgstr ""
@@ -260,22 +264,6 @@ msgstr "Početak"
msgid "Before you can fully use Mayan EDMS you need the following:" msgid "Before you can fully use Mayan EDMS you need the following:"
msgstr "Prije nego što možete korisiti Mayan EDMS treba vam sljedeće:" msgstr "Prije nego što možete korisiti Mayan EDMS treba vam sljedeće:"
#: templates/appearance/home.html:50
msgid "Search pages"
msgstr "Potraž po stranici:"
#: templates/appearance/home.html:52 templates/appearance/home.html:62
msgid "Search"
msgstr "Pretraga"
#: templates/appearance/home.html:53 templates/appearance/home.html:63
msgid "Advanced"
msgstr "Napredni"
#: templates/appearance/home.html:60
msgid "Search documents"
msgstr "Pretraži dokumente"
#: templates/appearance/main_menu.html:10 #: templates/appearance/main_menu.html:10
msgid "Toggle navigation" msgid "Toggle navigation"
msgstr "Prebacite navigaciju" msgstr "Prebacite navigaciju"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:58-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-03 05:20+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Czech (http://www.transifex.com/rosarior/mayan-edms/language/cs/)\n" "Language-Team: Czech (http://www.transifex.com/rosarior/mayan-edms/language/cs/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -21,47 +21,51 @@ msgstr ""
msgid "Appearance" msgid "Appearance"
msgstr "" msgstr ""
#: dependencies.py:8 #: dependencies.py:10
msgid "Lato font"
msgstr ""
#: dependencies.py:14
msgid "Bootstrap" msgid "Bootstrap"
msgstr "" msgstr ""
#: dependencies.py:12 #: dependencies.py:18
msgid "Bootswatch" msgid "Bootswatch"
msgstr "" msgstr ""
#: dependencies.py:16 #: dependencies.py:32
msgid "Fancybox" msgid "Fancybox"
msgstr "" msgstr ""
#: dependencies.py:20 #: dependencies.py:36
msgid "FontAwesome" msgid "FontAwesome"
msgstr "" msgstr ""
#: dependencies.py:24 #: dependencies.py:40
msgid "jQuery" msgid "jQuery"
msgstr "" msgstr ""
#: dependencies.py:27 #: dependencies.py:43
msgid "JQuery Form" msgid "JQuery Form"
msgstr "" msgstr ""
#: dependencies.py:31 #: dependencies.py:47
msgid "jQuery Lazy Load" msgid "jQuery Lazy Load"
msgstr "" msgstr ""
#: dependencies.py:35 #: dependencies.py:51
msgid "JQuery Match Height" msgid "JQuery Match Height"
msgstr "" msgstr ""
#: dependencies.py:39 #: dependencies.py:55
msgid "Select 2" msgid "Select 2"
msgstr "" msgstr ""
#: dependencies.py:43 #: dependencies.py:59
msgid "Toastr" msgid "Toastr"
msgstr "" msgstr ""
#: dependencies.py:46 #: dependencies.py:62
msgid "URI.js" msgid "URI.js"
msgstr "" msgstr ""
@@ -259,22 +263,6 @@ msgstr ""
msgid "Before you can fully use Mayan EDMS you need the following:" msgid "Before you can fully use Mayan EDMS you need the following:"
msgstr "" 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 #: templates/appearance/main_menu.html:10
msgid "Toggle navigation" msgid "Toggle navigation"
msgstr "" msgstr ""

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:58-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-03 05:20+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Roberto Rosario\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: Danish (Denmark) (http://www.transifex.com/rosarior/mayan-edms/language/da_DK/)\n" "Language-Team: Danish (Denmark) (http://www.transifex.com/rosarior/mayan-edms/language/da_DK/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -22,47 +22,51 @@ msgstr ""
msgid "Appearance" msgid "Appearance"
msgstr "" msgstr ""
#: dependencies.py:8 #: dependencies.py:10
msgid "Lato font"
msgstr ""
#: dependencies.py:14
msgid "Bootstrap" msgid "Bootstrap"
msgstr "" msgstr ""
#: dependencies.py:12 #: dependencies.py:18
msgid "Bootswatch" msgid "Bootswatch"
msgstr "" msgstr ""
#: dependencies.py:16 #: dependencies.py:32
msgid "Fancybox" msgid "Fancybox"
msgstr "" msgstr ""
#: dependencies.py:20 #: dependencies.py:36
msgid "FontAwesome" msgid "FontAwesome"
msgstr "" msgstr ""
#: dependencies.py:24 #: dependencies.py:40
msgid "jQuery" msgid "jQuery"
msgstr "" msgstr ""
#: dependencies.py:27 #: dependencies.py:43
msgid "JQuery Form" msgid "JQuery Form"
msgstr "" msgstr ""
#: dependencies.py:31 #: dependencies.py:47
msgid "jQuery Lazy Load" msgid "jQuery Lazy Load"
msgstr "" msgstr ""
#: dependencies.py:35 #: dependencies.py:51
msgid "JQuery Match Height" msgid "JQuery Match Height"
msgstr "" msgstr ""
#: dependencies.py:39 #: dependencies.py:55
msgid "Select 2" msgid "Select 2"
msgstr "" msgstr ""
#: dependencies.py:43 #: dependencies.py:59
msgid "Toastr" msgid "Toastr"
msgstr "" msgstr ""
#: dependencies.py:46 #: dependencies.py:62
msgid "URI.js" msgid "URI.js"
msgstr "" msgstr ""
@@ -260,22 +264,6 @@ msgstr "Kom godt igang"
msgid "Before you can fully use Mayan EDMS you need the following:" msgid "Before you can fully use Mayan EDMS you need the following:"
msgstr "" msgstr ""
#: templates/appearance/home.html:50
msgid "Search pages"
msgstr "Søg sider"
#: templates/appearance/home.html:52 templates/appearance/home.html:62
msgid "Search"
msgstr "Søg"
#: templates/appearance/home.html:53 templates/appearance/home.html:63
msgid "Advanced"
msgstr ""
#: templates/appearance/home.html:60
msgid "Search documents"
msgstr "Søg dokumenter"
#: templates/appearance/main_menu.html:10 #: templates/appearance/main_menu.html:10
msgid "Toggle navigation" msgid "Toggle navigation"
msgstr "" msgstr ""

View File

@@ -11,9 +11,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Mayan EDMS\n" "Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-21 00:58-0400\n" "POT-Creation-Date: 2019-06-15 03:35-0400\n"
"PO-Revision-Date: 2019-05-06 22:05+0000\n" "PO-Revision-Date: 2019-06-15 07:48+0000\n"
"Last-Translator: Mathias Behrle <mathiasb@m9s.biz>\n" "Last-Translator: Roberto Rosario\n"
"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -25,47 +25,51 @@ msgstr ""
msgid "Appearance" msgid "Appearance"
msgstr "Erscheinungsbild" msgstr "Erscheinungsbild"
#: dependencies.py:8 #: dependencies.py:10
msgid "Lato font"
msgstr ""
#: dependencies.py:14
msgid "Bootstrap" msgid "Bootstrap"
msgstr "Bootstrap" msgstr "Bootstrap"
#: dependencies.py:12 #: dependencies.py:18
msgid "Bootswatch" msgid "Bootswatch"
msgstr "Bootswatch" msgstr "Bootswatch"
#: dependencies.py:16 #: dependencies.py:32
msgid "Fancybox" msgid "Fancybox"
msgstr "Fancybox" msgstr "Fancybox"
#: dependencies.py:20 #: dependencies.py:36
msgid "FontAwesome" msgid "FontAwesome"
msgstr "FontAwesome" msgstr "FontAwesome"
#: dependencies.py:24 #: dependencies.py:40
msgid "jQuery" msgid "jQuery"
msgstr "jQuery" msgstr "jQuery"
#: dependencies.py:27 #: dependencies.py:43
msgid "JQuery Form" msgid "JQuery Form"
msgstr "JQuery Form" msgstr "JQuery Form"
#: dependencies.py:31 #: dependencies.py:47
msgid "jQuery Lazy Load" msgid "jQuery Lazy Load"
msgstr "jQuery Lazy Load" msgstr "jQuery Lazy Load"
#: dependencies.py:35 #: dependencies.py:51
msgid "JQuery Match Height" msgid "JQuery Match Height"
msgstr "JQuery Match Height" msgstr "JQuery Match Height"
#: dependencies.py:39 #: dependencies.py:55
msgid "Select 2" msgid "Select 2"
msgstr "Select 2" msgstr "Select 2"
#: dependencies.py:43 #: dependencies.py:59
msgid "Toastr" msgid "Toastr"
msgstr "Toastr" msgstr "Toastr"
#: dependencies.py:46 #: dependencies.py:62
msgid "URI.js" msgid "URI.js"
msgstr "URI.js" msgstr "URI.js"
@@ -263,22 +267,6 @@ msgstr "Erste Schritte"
msgid "Before you can fully use Mayan EDMS you need the following:" msgid "Before you can fully use Mayan EDMS you need the following:"
msgstr "Bevor Mayan EDMS voll genutzt werden kann, muss folgendes passieren:" msgstr "Bevor Mayan EDMS voll genutzt werden kann, muss folgendes passieren:"
#: templates/appearance/home.html:50
msgid "Search pages"
msgstr "Seiten durchsuchen"
#: templates/appearance/home.html:52 templates/appearance/home.html:62
msgid "Search"
msgstr "Suche"
#: templates/appearance/home.html:53 templates/appearance/home.html:63
msgid "Advanced"
msgstr "Erweitert"
#: templates/appearance/home.html:60
msgid "Search documents"
msgstr "Dokumente durchsuchen"
#: templates/appearance/main_menu.html:10 #: templates/appearance/main_menu.html:10
msgid "Toggle navigation" msgid "Toggle navigation"
msgstr "Navigation ein-/ausschalten" msgstr "Navigation ein-/ausschalten"

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