Compare commits
242 Commits
features/f
...
versions/m
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d5aab12b8d | ||
|
|
ebc0a5f449 | ||
|
|
415d3bcd2f | ||
|
|
b985f2ef05 | ||
|
|
15c953815e | ||
|
|
390e552c1f | ||
|
|
9041f00caa | ||
|
|
b0163319eb | ||
|
|
762cdc5b89 | ||
|
|
396cbb4b22 | ||
|
|
8b0cd93526 | ||
|
|
f97ccb693b | ||
|
|
c3b539ba19 | ||
|
|
80126f2326 | ||
|
|
00e3d40231 | ||
|
|
0953127420 | ||
|
|
02505ba855 | ||
|
|
6fe41660bd | ||
|
|
7695178992 | ||
|
|
b03758ed8b | ||
|
|
d7818b64b0 | ||
|
|
fb53726888 | ||
|
|
8da1a64410 | ||
|
|
62430bf341 | ||
|
|
792aa64829 | ||
|
|
e62e684107 | ||
|
|
a3d63dce80 | ||
|
|
8adb342e24 | ||
|
|
c9567d0c6d | ||
|
|
907e2213e9 | ||
|
|
dea3bbdf09 | ||
|
|
61c6562860 | ||
|
|
8322bd3a27 | ||
|
|
11898a36fe | ||
|
|
2d97024d93 | ||
|
|
d543a71909 | ||
|
|
c652a6c7f6 | ||
|
|
1bc3b58d4e | ||
|
|
4e6e4789e3 | ||
|
|
d1ba081fb7 | ||
|
|
03c63bcf80 | ||
|
|
f7789fa6da | ||
|
|
0d263c2b76 | ||
|
|
b329ed7618 | ||
|
|
373a712669 | ||
|
|
734ca02a95 | ||
|
|
04b19f8d2e | ||
|
|
fce0601d25 | ||
|
|
54769bf22a | ||
|
|
f303cdfe95 | ||
|
|
3ad035adcb | ||
|
|
533e2e344c | ||
|
|
649ef8151c | ||
|
|
69c925ffd3 | ||
|
|
8e34bc02b3 | ||
|
|
666c3324e8 | ||
|
|
5627a3d247 | ||
|
|
cb7dbaf609 | ||
|
|
7cba63f403 | ||
|
|
2f6cfcbc4f | ||
|
|
2af136356d | ||
|
|
7a8dad5a3c | ||
|
|
3a0226ac22 | ||
|
|
cb14224fde | ||
|
|
e45443fdea | ||
|
|
b19b602a53 | ||
|
|
ec2dde7483 | ||
|
|
c94ed44476 | ||
|
|
eff18b5823 | ||
|
|
30f3d11375 | ||
|
|
871a800213 | ||
|
|
e7faece342 | ||
|
|
8bcd2c247f | ||
|
|
605e6356a7 | ||
|
|
9c202f7087 | ||
|
|
c833b7a74c | ||
|
|
e002f317a4 | ||
|
|
c51f8d2135 | ||
|
|
01b2ad3ddc | ||
|
|
e371124bca | ||
|
|
3621af7e7d | ||
|
|
1e1e930e88 | ||
|
|
d04f1eb9a5 | ||
|
|
6dde3e1ac3 | ||
|
|
efb8a35ea4 | ||
|
|
25df502cb0 | ||
|
|
5c91ab2d73 | ||
|
|
ea4f9d6c4e | ||
|
|
6d0b7b1fc0 | ||
|
|
627e9cb1f0 | ||
|
|
4fcd60194e | ||
|
|
644cd57a0f | ||
|
|
f6febdd221 | ||
|
|
f46a32580d | ||
|
|
929cc7d374 | ||
|
|
b405896a44 | ||
|
|
fbe043b4eb | ||
|
|
3a8fade8f8 | ||
|
|
3fb1e079b9 | ||
|
|
40b44cba35 | ||
|
|
d5b1c02310 | ||
|
|
38c33b6703 | ||
|
|
557a20d6cc | ||
|
|
68a3483470 | ||
|
|
4de13f23b7 | ||
|
|
fba6d3b101 | ||
|
|
7902074390 | ||
|
|
3ce08cc9c0 | ||
|
|
1ae5b8c420 | ||
|
|
2af03eeca8 | ||
|
|
b8345797d6 | ||
|
|
1377ff0504 | ||
|
|
5aa3886867 | ||
|
|
1fe45e2613 | ||
|
|
68966e4ad0 | ||
|
|
a8fcc862f1 | ||
|
|
f9e539f25c | ||
|
|
96d631a395 | ||
|
|
f5bbd484cd | ||
|
|
8b2690c785 | ||
|
|
4cf28af5cf | ||
|
|
d48f2628a3 | ||
|
|
e3d2fef687 | ||
|
|
6eb105be94 | ||
|
|
24dcdfd328 | ||
|
|
305f4d1afd | ||
|
|
ff03186a2c | ||
|
|
8141748677 | ||
|
|
26fdaf867f | ||
|
|
bf4e499c9d | ||
|
|
daef777173 | ||
|
|
0e8dbea244 | ||
|
|
46eda1a20b | ||
|
|
d2c89caece | ||
|
|
b03ea61fdb | ||
|
|
80065279cb | ||
|
|
d636174c85 | ||
|
|
22aa14282b | ||
|
|
bdde894765 | ||
|
|
4d7c0552bd | ||
|
|
575e42357a | ||
|
|
487c250f3e | ||
|
|
0ae214f2fd | ||
|
|
037b942c4a | ||
|
|
dcbf777429 | ||
|
|
0c5a0b54c1 | ||
|
|
0f5f8c0dd1 | ||
|
|
2d875ff044 | ||
|
|
a77708ebe6 | ||
|
|
440822896a | ||
|
|
6f4802ac6a | ||
|
|
c21a9afcfa | ||
|
|
0494fa9e6a | ||
|
|
e09bd48d65 | ||
|
|
97887c4e9c | ||
|
|
90e884e502 | ||
|
|
ea7b4e46ac | ||
|
|
e0d74d54b1 | ||
|
|
fbd2b43b5e | ||
|
|
03e59ed964 | ||
|
|
c3b1c4e173 | ||
|
|
43260b87c5 | ||
|
|
5b78a7c60c | ||
|
|
2e5ee2740a | ||
|
|
85b8d281cc | ||
|
|
69d33bef7c | ||
|
|
3f86dfc902 | ||
|
|
111250fd99 | ||
|
|
f17d13d68f | ||
|
|
1f5c81eaf5 | ||
|
|
b4dafb20ad | ||
|
|
70dab1fd30 | ||
|
|
bb3e010a93 | ||
|
|
4b9043b882 | ||
|
|
727fe78d8b | ||
|
|
7650ef17c0 | ||
|
|
9558c5e6dc | ||
|
|
cb1e90e19b | ||
|
|
b5823358cb | ||
|
|
dcc8b8b174 | ||
|
|
891861eaf5 | ||
|
|
8d0f14a40c | ||
|
|
f53a3f7959 | ||
|
|
1d5972da3b | ||
|
|
8fe90ea7f1 | ||
|
|
037c2b6118 | ||
|
|
06307ff29c | ||
|
|
0c37685302 | ||
|
|
4d52dbde39 | ||
|
|
9836ca3ef3 | ||
|
|
538e0c6f3b | ||
|
|
0ced976b0c | ||
|
|
7f43a8d5a3 | ||
|
|
0ae960d96c | ||
|
|
2e80c6a00b | ||
|
|
590c76bf64 | ||
|
|
41f86b35f2 | ||
|
|
d70a1ef079 | ||
|
|
fa678b09bc | ||
|
|
fe3d2e85c2 | ||
|
|
2ce0528712 | ||
|
|
e091c07ed6 | ||
|
|
f66328139e | ||
|
|
505e0bd68b | ||
|
|
80ebe4ecce | ||
|
|
0f9c226a1e | ||
|
|
6789ecf1bb | ||
|
|
a008607d40 | ||
|
|
eb32820864 | ||
|
|
3e48a422b7 | ||
|
|
f6c5a4f9cf | ||
|
|
f160de4381 | ||
|
|
0d6462831a | ||
|
|
749208b5f8 | ||
|
|
72ade29f77 | ||
|
|
325fe3225a | ||
|
|
30f3a0563c | ||
|
|
62fdec575f | ||
|
|
7407c67347 | ||
|
|
cbfab25c94 | ||
|
|
2ae2dfd687 | ||
|
|
e5c92487de | ||
|
|
8c96567094 | ||
|
|
d3041eb2d5 | ||
|
|
047f48d39f | ||
|
|
34d7ff6e01 | ||
|
|
c7474cae1b | ||
|
|
74f333d16c | ||
|
|
6f6ddfbc82 | ||
|
|
2fcb36c568 | ||
|
|
db5511127d | ||
|
|
807dd849c5 | ||
|
|
602774a390 | ||
|
|
0b044f1e21 | ||
|
|
0440e1a838 | ||
|
|
eac9940207 | ||
|
|
65aa6a8f38 | ||
|
|
39af4f9f8a | ||
|
|
33929576fc | ||
|
|
18b42a03c8 | ||
|
|
d1f6a6b059 | ||
|
|
4252e37748 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -30,4 +30,6 @@ static_collected/
|
||||
/venv/
|
||||
/venv3/
|
||||
/whoosh_index/
|
||||
google_fonts/
|
||||
node_modules/
|
||||
docs/build/
|
||||
|
||||
@@ -17,7 +17,7 @@ job_docker_build:
|
||||
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
||||
script:
|
||||
- docker build --pull -t "$CI_REGISTRY_IMAGE" -f docker/Dockerfile .
|
||||
- VERSION=`cat docker/version`
|
||||
- VERSION=`cat docker/rootfs/version`
|
||||
- docker tag "$CI_REGISTRY_IMAGE" "$CI_REGISTRY_IMAGE:$VERSION"
|
||||
- docker run --rm "$CI_REGISTRY_IMAGE:$VERSION" run-tests
|
||||
- docker push "$CI_REGISTRY_IMAGE:$VERSION"
|
||||
@@ -37,7 +37,7 @@ job_docker_push:
|
||||
before_script:
|
||||
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
||||
script:
|
||||
- VERSION=`cat docker/version`
|
||||
- VERSION=`cat docker/rootfs/version`
|
||||
- docker pull "$CI_REGISTRY_IMAGE:$VERSION"
|
||||
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:"$VERSION"
|
||||
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:latest
|
||||
@@ -158,7 +158,6 @@ job_push_python:
|
||||
- releases/all
|
||||
- releases/docker
|
||||
- releases/python
|
||||
- master
|
||||
- staging
|
||||
- nightly
|
||||
|
||||
|
||||
990
HISTORY.rst
990
HISTORY.rst
File diff suppressed because it is too large
Load Diff
2
LICENSE
2
LICENSE
@@ -1,4 +1,4 @@
|
||||
Copyright 2011-2018 Roberto Rosario
|
||||
Copyright 2011 Roberto Rosario
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
18
README.md
18
README.md
@@ -1,11 +1,11 @@
|
||||
[](https://paypal.me/MayanEDMS)
|
||||
[![pypi][pypi]][pypi-url]
|
||||
[![builds][builds]][builds-url]
|
||||
[![coverage][cover]][cover-url]
|
||||
![python][python]
|
||||
![license][license]
|
||||
[](https://hub.docker.com/r/mayanedms/mayanedms/)
|
||||
[](https://hub.docker.com/r/mayanedms/mayanedms/)
|
||||
[](https://microbadger.com/images/mayanedms/mayanedms)
|
||||
|
||||
|
||||
[pypi]: http://img.shields.io/pypi/v/mayan-edms.svg
|
||||
[pypi-url]: http://badge.fury.io/py/mayan-edms
|
||||
@@ -43,6 +43,20 @@
|
||||
|
||||
</div>
|
||||
|
||||
<h2 align="center">Book</h2>
|
||||
|
||||
The pre-release version of the book "Exploring Mayan EDMS" available now at a discounted price!
|
||||
|
||||
<p align="center">
|
||||
<a href="https://sellfy.com/p/um2fkx/">
|
||||
<img width="400" src="https://d12swbtw719y4s.cloudfront.net/images/v6RpxW40/aP0qKLjkPiAuXZhYuB45/wDAULAzFyx.jpeg?w=548">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
Limited quantities. Buyers of the pre-release will get the full version for free when it is ready.
|
||||
|
||||
The link is https://sellfy.com/p/um2fkx/
|
||||
|
||||
<h2 align="center">Installation</h2>
|
||||
|
||||
The easiest way to use Mayan EDMS is by using the official
|
||||
|
||||
14
README.rst
14
README.rst
@@ -1,4 +1,4 @@
|
||||
|pypi| |builds| |coverage| |python| |license| |docker_pulls| |docker_stars| |docker_layers|
|
||||
|donation| |pypi| |builds| |coverage| |python| |license| |docker_pulls| |docker_stars| |docker_layers|
|
||||
|
||||
|
||||
.. image:: https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/mayan_logo.png
|
||||
@@ -25,6 +25,16 @@ at: https://docs.mayan-edms.com/topics/installation.html
|
||||
|
||||
.. _Docker: https://www.docker.com/
|
||||
|
||||
The pre-release version of the book "Exploring Mayan EDMS" available now at a discounted price!
|
||||
|
||||
.. image:: https://camo.githubusercontent.com/89d2fe787507c9247aa7bb406e2682b53eb7a5f9/68747470733a2f2f64313273776274773731397934732e636c6f756466726f6e742e6e65742f696d616765732f76365270785734302f615030714b4c6a6b50694175585a6859754234352f774441554c417a4679782e6a7065673f773d353438
|
||||
:align: center
|
||||
:width: 300
|
||||
:target: https://sellfy.com/p/um2fkx/
|
||||
|
||||
Limited quantities. Buyers of the pre-release will get the full version for free when it is ready.
|
||||
Click the image or visit: https://sellfy.com/p/um2fkx/
|
||||
|
||||
Hardware requirements
|
||||
|
||||
- 2 Gigabytes of RAM (1 Gigabyte if OCR is turned off).
|
||||
@@ -44,6 +54,8 @@ Important links
|
||||
- `Videos <https://www.youtube.com/channel/UCJOOXHP1MJ9lVA7d8ZTlHPw>`__
|
||||
|
||||
|
||||
.. |donation| image:: https://img.shields.io/badge/donation-PayPal-brightgreen
|
||||
:target: https://paypal.me/MayanEDMS
|
||||
.. |pypi| image:: http://img.shields.io/pypi/v/mayan-edms.svg
|
||||
:target: http://badge.fury.io/py/mayan-edms
|
||||
.. |builds| image:: https://gitlab.com/mayan-edms/mayan-edms/badges/master/build.svg
|
||||
|
||||
@@ -9,6 +9,6 @@ __author__ = 'Roberto Rosario'
|
||||
__author_email__ = 'roberto.rosario@mayan-edms.com'
|
||||
__description__ = 'Free Open Source Electronic Document Management System'
|
||||
__license__ = 'Apache 2.0'
|
||||
__copyright_short__ = '2011-2018 Roberto Rosario'
|
||||
__copyright_short__ = '2011 Roberto Rosario'
|
||||
__copyright__ = '{} {}'.format('Copyright', __copyright_short__)
|
||||
__website__ = 'https://www.mayan-edms.com'
|
||||
|
||||
@@ -1445,7 +1445,7 @@ sudo -u mayan \
|
||||
dialog --infobox "Preparing static files" 3 70
|
||||
sudo -u mayan \
|
||||
MAYAN_MEDIA_ROOT=$MAYAN_MEDIA_ROOT \
|
||||
$MAYAN_BIN collectstatic --noinput > /dev/null
|
||||
$MAYAN_BIN preparestatic --noinput > /dev/null
|
||||
|
||||
# Create supervisor file for gunicorn (frontend), 3 background workers, and the scheduler for periodic tasks
|
||||
cat > /etc/supervisor/conf.d/mayan.conf <<EOF
|
||||
|
||||
@@ -161,7 +161,7 @@ priority = 998
|
||||
EOF
|
||||
|
||||
echo -e "\n -> Collecting the static files \n"
|
||||
mayan-edms.py collectstatic --noinput
|
||||
mayan-edms.py preparestatic --noinput
|
||||
|
||||
echo -e "\n -> Making the installation directory readable and writable by the webserver user \n"
|
||||
chown www-data:www-data ${INSTALLATION_DIRECTORY} -R
|
||||
|
||||
@@ -22,7 +22,7 @@ APP_LIST = (
|
||||
|
||||
LANGUAGE_LIST = (
|
||||
'ar', 'bg', 'bs_BA', 'cs', 'da_DK', 'de_DE', 'en', 'es', 'el', 'fa', 'fr',
|
||||
'hu', 'id', 'it', 'nl_NL', 'pl', 'pt', 'pt_BR', 'ro_RO', 'ru', 'sl_SI',
|
||||
'hu', 'id', 'it', 'lv', 'nl_NL', 'pl', 'pt', 'pt_BR', 'ro_RO', 'ru', 'sl_SI',
|
||||
'tr_TR', 'vi_VN', 'zh',
|
||||
)
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@ RUN set -x \
|
||||
apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
exiftool \
|
||||
fonts-arphic-uming \
|
||||
fonts-arphic-ukai \
|
||||
ghostscript \
|
||||
gpgv \
|
||||
gnupg1 \
|
||||
@@ -60,7 +62,6 @@ echo "save \"\"" >> /etc/redis/redis.conf \
|
||||
# Only provision 1 database
|
||||
&& echo "databases 1" >> /etc/redis/redis.conf
|
||||
|
||||
|
||||
####
|
||||
# BUILDER_IMAGE - This image buildS the Python package and is discarded afterwards
|
||||
####
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
Mayan EDMS is a free open source electronic document management system.
|
||||
554
docker/README.md
554
docker/README.md
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,10 @@ INSTALL_FLAG=/var/lib/mayan/system/SECRET_KEY
|
||||
CONCURRENCY_ARGUMENT=--concurrency=
|
||||
|
||||
DEFAULT_USER_UID=1000
|
||||
DEFAULT_USER_GUID=1000
|
||||
DEFAULT_USER_GID=1000
|
||||
|
||||
MAYAN_USER_UID=${MAYAN_USER_UID:-${DEFAULT_USER_UID}}
|
||||
MAYAN_USER_GID=${MAYAN_USER_GID:-${DEFAULT_USER_GID}}
|
||||
|
||||
export MAYAN_DEFAULT_BROKER_URL=redis://127.0.0.1:6379/0
|
||||
export MAYAN_DEFAULT_CELERY_RESULT_BACKEND=redis://127.0.0.1:6379/0
|
||||
@@ -22,6 +25,7 @@ export MAYAN_SETTINGS_MODULE=${MAYAN_SETTINGS_MODULE:-mayan.settings.production}
|
||||
|
||||
export MAYAN_GUNICORN_BIN=${MAYAN_PYTHON_BIN_DIR}gunicorn
|
||||
export MAYAN_GUNICORN_WORKERS=${MAYAN_GUNICORN_WORKERS:-2}
|
||||
export MAYAN_GUNICORN_TIMEOUT=${MAYAN_GUNICORN_TIMEOUT:-120}
|
||||
export MAYAN_PIP_BIN=${MAYAN_PYTHON_BIN_DIR}pip
|
||||
export MAYAN_STATIC_ROOT=${MAYAN_INSTALL_DIR}/static
|
||||
|
||||
@@ -29,9 +33,18 @@ MAYAN_WORKER_FAST_CONCURRENCY=${MAYAN_WORKER_FAST_CONCURRENCY:-1}
|
||||
MAYAN_WORKER_MEDIUM_CONCURRENCY=${MAYAN_WORKER_MEDIUM_CONCURRENCY:-1}
|
||||
MAYAN_WORKER_SLOW_CONCURRENCY=${MAYAN_WORKER_SLOW_CONCURRENCY:-1}
|
||||
|
||||
echo "mayan: changing uid/guid"
|
||||
usermod mayan -u ${MAYAN_USER_UID:-${DEFAULT_USER_UID}}
|
||||
groupmod mayan -g ${MAYAN_USER_GUID:-${DEFAULT_USER_GUID}}
|
||||
update_uid_gid() {
|
||||
echo "mayan: update_uid_gid()"
|
||||
groupmod mayan -g ${MAYAN_USER_GID} 2>/dev/null || true
|
||||
usermod mayan -u ${MAYAN_USER_UID} -g ${MAYAN_USER_GID} 2>/dev/null
|
||||
|
||||
if [ ${MAYAN_USER_UID} -ne ${DEFAULT_USER_UID} ] || [ ${MAYAN_USER_GID} -ne ${DEFAULT_USER_GID} ]; then
|
||||
echo "mayan: Updating file ownership. This might take a while if there are many documents."
|
||||
chown -R mayan:mayan ${MAYAN_INSTALL_DIR} ${MAYAN_STATIC_ROOT} ${MAYAN_MEDIA_ROOT}
|
||||
fi
|
||||
}
|
||||
|
||||
update_uid_gid
|
||||
|
||||
if [ "$MAYAN_WORKER_FAST_CONCURRENCY" -eq 0 ]; then
|
||||
MAYAN_WORKER_FAST_CONCURRENCY=
|
||||
|
||||
@@ -1 +1 @@
|
||||
3.2b1
|
||||
3.2.8
|
||||
|
||||
@@ -4,7 +4,6 @@ Direct deployments
|
||||
|
||||
Mayan EDMS should be deployed like any other Django_ project and
|
||||
preferably using virtualenv_. Below are some ways to deploy and use Mayan EDMS.
|
||||
Do not use more than one method.
|
||||
|
||||
Being a Django_ and a Python_ project, familiarity with these technologies is
|
||||
recommended to better understand why Mayan EDMS does some of the things it
|
||||
@@ -12,7 +11,7 @@ does.
|
||||
|
||||
Compilers and development libraries will be installed to compile runtime
|
||||
libraries. LibreOffice and Poppler utils will also be installed as they are
|
||||
used to convert document files. Supervisor (http://supervisord.org/), a
|
||||
used to convert document files. Supervisor (https://supervisord.org/), a
|
||||
Process Control System, will be used to monitor and keep all Mayan processes
|
||||
running.
|
||||
|
||||
@@ -38,12 +37,12 @@ For another setup that offers more performance and scalability refer to the
|
||||
Platforms with the ARM CPU might also need additional requirements.
|
||||
::
|
||||
|
||||
apt-sudo get libffi-dev libssl-dev -y
|
||||
sudo apt-get install libffi-dev libssl-dev -y
|
||||
|
||||
|
||||
2. Create the user account for the installation:
|
||||
------------------------------------------------
|
||||
This will create an unpriviledge user account that is also unable to login.
|
||||
This will create an unprivileged user account that is also unable to login.
|
||||
::
|
||||
|
||||
sudo adduser mayan --disabled-password --disabled-login --no-create-home --gecos ""
|
||||
@@ -61,7 +60,7 @@ For another setup that offers more performance and scalability refer to the
|
||||
4. Create the Python virtual environment:
|
||||
-----------------------------------------
|
||||
This will keep all the Python packages installed here isolated from the rest
|
||||
of the Pythoon packages in the system.
|
||||
of the Python packages in the system.
|
||||
::
|
||||
|
||||
sudo virtualenv /opt/mayan-edms
|
||||
@@ -113,9 +112,9 @@ For another setup that offers more performance and scalability refer to the
|
||||
|
||||
For simplicity, the ``MAYAN_MEDIA_ROOT`` folder is set to be a subfolder
|
||||
of the installation. If you want to keep your files separated from
|
||||
the installation files, change the value of the ``MAYAN_MEDIR_ROOT``
|
||||
the installation files, change the value of the ``MAYAN_MEDIA_ROOT``
|
||||
variable in this and all subsequent steps. Be sure to first create the
|
||||
folder and give owership of it to the ``mayan`` user with the ``chown``
|
||||
folder and give ownership of it to the ``mayan`` user with the ``chown``
|
||||
command.
|
||||
|
||||
.. warning::
|
||||
@@ -149,7 +148,7 @@ For another setup that offers more performance and scalability refer to the
|
||||
------------------------------------------------------------------------
|
||||
::
|
||||
|
||||
MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
|
||||
sudo MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
|
||||
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
|
||||
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
|
||||
@@ -157,21 +156,21 @@ For another setup that offers more performance and scalability refer to the
|
||||
|
||||
12. Configure Redis:
|
||||
--------------------
|
||||
Configure Redit to discard data when it runs out of memory, not save its
|
||||
Configure Redis to discard data when it runs out of memory, not save its
|
||||
database and only keep 1 database:
|
||||
::
|
||||
|
||||
echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf
|
||||
echo "save \"\"" >> /etc/redis/redis.conf
|
||||
echo "databases 1" >> /etc/redis/redis.conf
|
||||
systemctl restart redis
|
||||
sudo echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf
|
||||
sudo echo "save \"\"" >> /etc/redis/redis.conf
|
||||
sudo echo "databases 1" >> /etc/redis/redis.conf
|
||||
sudo systemctl restart redis
|
||||
|
||||
13. Enable and restart the services [1_]:
|
||||
-----------------------------------------
|
||||
::
|
||||
|
||||
systemctl enable supervisor
|
||||
systemctl restart supervisor
|
||||
sudo systemctl enable supervisor
|
||||
sudo systemctl restart supervisor
|
||||
|
||||
|
||||
14. Cleaning up:
|
||||
@@ -180,7 +179,7 @@ For another setup that offers more performance and scalability refer to the
|
||||
installation and can be removed.
|
||||
::
|
||||
|
||||
apt-get remove --purge libjpeg-dev libpq-dev libpng-dev libtiff-dev zlib1g-dev
|
||||
sudo apt-get remove --purge libjpeg-dev libpq-dev libpng-dev libtiff-dev zlib1g-dev
|
||||
|
||||
|
||||
.. _deployment_advanced:
|
||||
@@ -227,7 +226,7 @@ of a restart or power failure. The Gunicorn workers are increased to 3.
|
||||
|
||||
with::
|
||||
|
||||
MAYAN_BROKER_URL="amqp://mayan:mayanuserpass@localhost:5672/mayan",
|
||||
MAYAN_BROKER_URL="amqp://mayan:mayanrabbitmqpassword@localhost:5672/mayan",
|
||||
|
||||
increase the number of Gunicorn workers to 3 in the line (``-w 2`` section)::
|
||||
|
||||
@@ -240,7 +239,7 @@ of a restart or power failure. The Gunicorn workers are increased to 3.
|
||||
------------------------
|
||||
::
|
||||
|
||||
supervisorctl restart all
|
||||
sudo supervisorctl restart all
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -226,35 +226,46 @@ Git branch structure
|
||||
Mayan EDMS follows a simplified model layout based on Vincent Driessen's
|
||||
`Successful Git Branching Model`_ blog post.
|
||||
|
||||
``development``
|
||||
The "next release" branch, likely unstable, don't use in production.
|
||||
``/versions/micro``
|
||||
Working branch for the next bugfix release. Micro increment (third digit).
|
||||
Only bug fixes, minor features, back-ported urgent features. This
|
||||
branch is stable and safe for production.
|
||||
``/versions/minor``
|
||||
Working branch for the next minor release (second digit). New features,
|
||||
occasional breakage. Not for production but should run in test
|
||||
environment most of the time. This is the branch you will want to
|
||||
try out if you want to check out new features.
|
||||
``/versions/major``
|
||||
Working branch for the next major release (first digit). New features,
|
||||
incompatible changes to the user facing interfaces. Broken most of the
|
||||
time, not for production and should only be cloned by developers
|
||||
with experience with Mayan's development.
|
||||
``master``
|
||||
Current production release (|version|). Points to the latest version of
|
||||
the latest series. Production quality code.
|
||||
``feature/``
|
||||
Unfinished/unmerged feature. Likely unstable, don't use in production.
|
||||
``features/``
|
||||
Working branches for unfinished and unmerged feature. Likely unstable,
|
||||
don't use in production. Once the feature is complete, it is merged
|
||||
into one of the versions branches and deleted.
|
||||
|
||||
Special branches:
|
||||
|
||||
``releases/all``
|
||||
Used by the continuous delivery system to trigger the build and release
|
||||
Pushing code to this branch will trigger the build and release
|
||||
a new Docker image, Documentation and Python package.
|
||||
``releases/docker``
|
||||
Used by the continuous delivery system to trigger the build and release
|
||||
Pushing code to this branch will trigger the build and release
|
||||
of a new Docker image to Docker Hub.
|
||||
``releases/documentation``
|
||||
Used by the continuous delivery system to trigger the build and release
|
||||
Pushing code to this branch will trigger the build and release
|
||||
of new documentation.
|
||||
``releases/python``
|
||||
Used by the continuous delivery system to trigger the build and release
|
||||
of a new Python package to PyPI.
|
||||
``releases/python``
|
||||
Used by the continuous delivery system to trigger the build and release
|
||||
Pushing code to this branch will trigger the build and release
|
||||
of a new Python package to PyPI.
|
||||
``nightly``
|
||||
Used by the continuous delivery system to trigger the build and release
|
||||
Pushing code to this branch will trigger the build and release
|
||||
of a new Docker image based on development code to the GitLab image
|
||||
repository.
|
||||
repository only. The image will not be published to Docker Hub.
|
||||
|
||||
Each release is tagged separately using annotated Git tags.
|
||||
|
||||
@@ -482,7 +493,7 @@ Release checklist
|
||||
|
||||
make check-readme
|
||||
|
||||
#. Bump version in ``mayan/__init__.py`` and ``docker/version``::
|
||||
#. Bump version in ``mayan/__init__.py`` and ``docker/rootfs/version``::
|
||||
|
||||
make increase-version PART=<major, minor or micro>
|
||||
|
||||
@@ -522,7 +533,7 @@ Release using GitLab CI
|
||||
::
|
||||
|
||||
git checkout releases/all
|
||||
git merge versions/next
|
||||
git merge <corresponding branch>
|
||||
|
||||
#. Push code to trigger builds:
|
||||
::
|
||||
|
||||
@@ -43,7 +43,7 @@ expose its internal 5432 port (PostgreSQL's default port) via the host's
|
||||
5432 port. The data of this container will reside on the host's
|
||||
``/docker-volumes/mayan-edms/postgres`` folder.
|
||||
|
||||
Finally create and run a Mayan EDMS container.
|
||||
Finally create and run a Mayan EDMS container::
|
||||
|
||||
docker run -d \
|
||||
--name mayan-edms \
|
||||
@@ -233,6 +233,12 @@ and will exhaust the available Postgres connections available if a number
|
||||
other than 0 is used. Reference: https://serverfault.com/questions/635100/django-conn-max-age-persists-connections-but-doesnt-reuse-them-with-postgresq
|
||||
and https://github.com/benoitc/gunicorn/issues/996
|
||||
|
||||
``MAYAN_GUNICORN_TIMEOUT``
|
||||
|
||||
Optional. Changes the amount of time the frontend worker will wait for a
|
||||
request to finish before raising a timeout error. The default is 120
|
||||
seconds.
|
||||
|
||||
``MAYAN_GUNICORN_WORKERS``
|
||||
|
||||
Optional. This environment variable controls the number of frontend workers
|
||||
@@ -269,9 +275,9 @@ number of CPUs detected).
|
||||
Optional. Changes the UID of the ``mayan`` user internal to the Docker
|
||||
container. Defaults to 1000.
|
||||
|
||||
``MAYAN_USER_GUID``
|
||||
``MAYAN_USER_GID``
|
||||
|
||||
Optional. Changes the GUID of the ``mayan`` user internal to the Docker
|
||||
Optional. Changes the GID of the ``mayan`` user internal to the Docker
|
||||
container. Defaults to 1000.
|
||||
|
||||
|
||||
@@ -288,18 +294,21 @@ on purpose. For example, to make a folder in the host accessible as a watch
|
||||
folder, add the following to the Docker command line when starting the
|
||||
container::
|
||||
|
||||
-v /opt/scanned_files:/srv/watch_folder
|
||||
-v /opt/scanned_files:/scanned_files
|
||||
|
||||
The command line would look like this::
|
||||
|
||||
docker run ... -v /opt/scanned_files:/srv/watch_folder mayanedms/mayanedms:latest
|
||||
docker run ... -v /opt/scanned_files:/scanned_files mayanedms/mayanedms:latest
|
||||
|
||||
Now create a watch folder in Mayan EDMS using the path ``/srv/watch_folder``
|
||||
Now create a watch folder in Mayan EDMS using the path ``/scanned_files``
|
||||
and the documents from the host folder ``/opt/scanned_files`` will be
|
||||
automatically available. Use the same procedure to mount host folders to be
|
||||
used as staging folderes. In this example ``/srv/watch_folder`` was as the
|
||||
container directory, but any path can be used as long as it is not an
|
||||
already existing path or a path used by any other program.
|
||||
used as staging folders. In this example ``/scanned_files`` was used as the
|
||||
container directory, but any path can be used as long as:
|
||||
|
||||
- the path not an already existing path
|
||||
- the path is not used by any other program
|
||||
- the path is a single level path
|
||||
|
||||
|
||||
Performing backups
|
||||
@@ -310,7 +319,7 @@ For the example::
|
||||
|
||||
docker run -d --name mayan-edms --restart=always -p 80:8000 \
|
||||
-v /docker-volumes/mayan:/var/lib/mayan \
|
||||
-v /opt/scanned_files:/srv/watch_folder mayanedms/mayanedms:latest
|
||||
-v /opt/scanned_files:/scanned_files mayanedms/mayanedms:latest
|
||||
|
||||
That would be the ``/docker-volumes/mayan folder``::
|
||||
|
||||
@@ -376,7 +385,7 @@ Execute Docker's build command using the provided makefile::
|
||||
|
||||
make docker-build
|
||||
|
||||
Or using an apt cacher to speed up the build::
|
||||
Or using an APT cache to speed up the build::
|
||||
|
||||
make docker-build-with-proxy APT_PROXY=172.17.0.1:3142
|
||||
|
||||
|
||||
@@ -111,8 +111,8 @@ Index documents not found in any cabinet
|
||||
{% if document.cabinets.count == 0 %}No Cabinets{% endif %}
|
||||
|
||||
|
||||
Index untagged documents
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Index documents not tagged
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
::
|
||||
|
||||
{% if document.tags.count == 0 %}No Tags{% endif %}
|
||||
|
||||
@@ -15,7 +15,8 @@ The current document sources supported are:
|
||||
- IMAP email - Same as the ``POP3`` email source but for email accounts using
|
||||
the ``IMAP`` protocol.
|
||||
- Watch folder - A filesystem folder that is scanned periodically for files.
|
||||
Any file in the watch folder is automatically uploaded.
|
||||
Any file in the watch folder is automatically uploaded. When the upload for a
|
||||
file is completed, the file is removed from source folder.
|
||||
- Staging folder - Folder where networked attached scanned can save image
|
||||
files. The files in these staging folders are scanned and a preview is
|
||||
generated to help the process of upload. Staging folders and Watch folders
|
||||
@@ -74,6 +75,6 @@ Creating new sources
|
||||
|
||||
#. Go to the :menuselection:`System --> Setup --> Sources` menu.
|
||||
#. From the :guilabel:`Actions` dropdown select the new type of source to create.
|
||||
#. Each source type will have different fields to customize its behaviour. Enter
|
||||
#. Each source type will have different fields to customize its behavior. Enter
|
||||
the required information in each field based on the help text provided.
|
||||
#. Press :guilabel:`Save`.
|
||||
|
||||
@@ -76,5 +76,5 @@ Uploading a new document version
|
||||
#. From the :guilabel:`Actions` dropdown select :guilabel:`Upload new version`.
|
||||
#. Optionally type a comment explaining the changes in the new version.
|
||||
#. Press the :guilabel:`Browse` button and select a new file.
|
||||
#. Press :guilabel:`Save` upload the new verision.
|
||||
#. Press :guilabel:`Save` upload the new version.
|
||||
|
||||
|
||||
29
docs/conf.py
29
docs/conf.py
@@ -22,7 +22,9 @@ import mayan
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "_ext")))
|
||||
sys.path.append(
|
||||
os.path.abspath(os.path.join(os.path.dirname(__file__), '_ext'))
|
||||
)
|
||||
|
||||
# -- General configuration -----------------------------------------------------
|
||||
|
||||
@@ -34,12 +36,13 @@ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "_ext"))
|
||||
#extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode']
|
||||
#extensions = ["djangodocs", "sphinx.ext.intersphinx"]
|
||||
extensions = [
|
||||
'sphinx.ext.extlinks', 'sphinxcontrib.blockdiag', 'sphinxcontrib.spelling'
|
||||
'sphinx.ext.extlinks', 'sphinxcontrib.blockdiag',
|
||||
'sphinxcontrib.spelling'
|
||||
]
|
||||
|
||||
blockdiag_antialias = True
|
||||
blockdiag_html_image_format = "SVG"
|
||||
blockdiag_latex_image_format = "PDF"
|
||||
blockdiag_html_image_format = 'SVG'
|
||||
blockdiag_latex_image_format = 'PDF'
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
@@ -106,12 +109,14 @@ pygments_style = 'sphinx'
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = 'classic'
|
||||
html_theme = 'sphinx_rtd_theme'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#html_theme_options = {}
|
||||
html_theme_options = {
|
||||
'analytics_id': 'UA-52965619-6',
|
||||
}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
@@ -139,7 +144,7 @@ html_static_path = ['_static']
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
@@ -162,7 +167,7 @@ html_static_path = ['_static']
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#html_show_sourcelink = True
|
||||
html_show_sourcelink = False
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#html_show_sphinx = True
|
||||
@@ -181,8 +186,6 @@ html_static_path = ['_static']
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'MayanEDMSdoc'
|
||||
|
||||
html_show_sourcelink = False
|
||||
|
||||
html_show_sphinx = False
|
||||
|
||||
# -- Options for LaTeX output --------------------------------------------------
|
||||
@@ -233,8 +236,6 @@ man_pages = [
|
||||
[mayan.__author__], 1)
|
||||
]
|
||||
|
||||
html_theme = 'sphinx_rtd_theme'
|
||||
|
||||
# -- External links --
|
||||
extlinks = {
|
||||
'django-docs': (
|
||||
@@ -242,6 +243,9 @@ extlinks = {
|
||||
mayan.__django_version__
|
||||
), 'Django documentation section: '
|
||||
),
|
||||
'forum-topic': (
|
||||
'https://forum.mayan-edms.com/viewtopic.php?t=%s', 'Forum topic #'
|
||||
),
|
||||
'github-issue': (
|
||||
'https://github.com/mayan-edms/mayan-edms/issues/%s', 'GitHub issue #'
|
||||
),
|
||||
@@ -250,5 +254,6 @@ extlinks = {
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
def setup(app):
|
||||
app.add_stylesheet('css/custom.css')
|
||||
|
||||
@@ -26,7 +26,7 @@ Motivation
|
||||
==========
|
||||
|
||||
As the project grows, legibility of code becomes more important. Keyword
|
||||
argument help document the use of services, clases and functions. Refactors
|
||||
argument help document the use of services, classes and functions. Refactors
|
||||
that affect the interface of services are also easier to find and update and
|
||||
fix. Positional argument can cause a call to continue working as long as the
|
||||
datatype of the argument remains the same. Usage of keyword arguments will
|
||||
@@ -121,7 +121,7 @@ After:
|
||||
Keyword arguments should also be used for callables that pass those to others
|
||||
down the line like Django's ``reverse`` function. Any change to the name of
|
||||
the ``pk`` URL parameter will raise an exception in this code alerting to
|
||||
any posible incompatible use.
|
||||
any possible incompatible use.
|
||||
|
||||
|
||||
Example:
|
||||
@@ -138,7 +138,7 @@ This becomes even more important when multiple URL parameters are used. Since
|
||||
the API documentation is auto generated from the code itself, it would make
|
||||
sense to rename the first URL parameter from ``pk`` to ``document_pk``. Such
|
||||
change will cause all address to view resolutions to break forcing their
|
||||
update and allowing all consumers' interface usage to remain synchonized to the
|
||||
update and allowing all consumers' interface usage to remain synchronized to the
|
||||
callable's interface.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
@@ -16,7 +16,7 @@ MERC 6: Lower information disclose
|
||||
Abstract
|
||||
========
|
||||
|
||||
This MERC proposes the use of errors that don't disclose the existance of a
|
||||
This MERC proposes the use of errors that don't disclose the existence of a
|
||||
resource in the event that the requester doesn't have the required credentials.
|
||||
|
||||
Motivation
|
||||
@@ -43,7 +43,7 @@ Since most view use the internal custom CRUD classes making a change to the
|
||||
failure will fulfill the proposal of this MERC.
|
||||
|
||||
Adding the ``object_permission_raise_404`` class attribute and setting it
|
||||
to default to False will allow fulfullin the goal of this MERC while
|
||||
to default to False will allow fulfilling the goal of this MERC while
|
||||
keeping the existing functionality intact.
|
||||
|
||||
|
||||
|
||||
@@ -17,9 +17,9 @@ Version 0.11
|
||||
* Added a view to delete the document image cache, useful when switching
|
||||
converter backends or doing diagnostics.
|
||||
* Added South to the requirements.
|
||||
* Merged documents' filename and extension database fiels into a single
|
||||
* Merged documents' filename and extension database fields into a single
|
||||
filename field, filename are store as uploaded not manipulation is done
|
||||
Users with existing data must install South and run the appropiate
|
||||
Users with existing data must install South and run the appropriate
|
||||
migrate commands::
|
||||
|
||||
$ pip install -r requirements/production.txt
|
||||
|
||||
119
docs/releases/3.2.1.rst
Normal file
119
docs/releases/3.2.1.rst
Normal 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
109
docs/releases/3.2.2.rst
Normal 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
114
docs/releases/3.2.3.rst
Normal 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/
|
||||
131
docs/releases/3.2.4.rst
Normal file
131
docs/releases/3.2.4.rst
Normal file
@@ -0,0 +1,131 @@
|
||||
Version 3.2.4
|
||||
=============
|
||||
|
||||
Released: June 29, 2019
|
||||
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
- Support configurable GUnicorn timeouts. Defaults to
|
||||
current value of 120 seconds.
|
||||
- Fix help text of the platformtemplate command.
|
||||
- Fix IMAP4 mailbox.store flags argument. Python's documentation
|
||||
incorrectly state it is named flag_list. Closes GitLab issue
|
||||
#606. Thanks to Samuel Aebi (@samuelaebi) for the report and
|
||||
debug information.
|
||||
- Support configurable GUnicorn timeouts. Defaults to
|
||||
current value of 120 seconds.
|
||||
- Fix help text of the platformtemplate command.
|
||||
- Fix IMAP4 mailbox.store flags argument. Python's documentation
|
||||
incorrectly state it is named flag_list. Closes GitLab issue
|
||||
#606.
|
||||
- Improve the workflow preview generation. Use polylines
|
||||
instead of splines. Add state actions to the preview.
|
||||
Highlight the initial state.
|
||||
- Add help text to the workflow transition form comment field.
|
||||
- Fix direct deployment instructions.
|
||||
- Add user, group, and role dashboard widgets.
|
||||
- Add test mixin detect database connection leaks.
|
||||
- Remove tag create event registration from the tag
|
||||
instances. The tag create event is not applicable to
|
||||
existing tags.
|
||||
- Add proper redirection after moving a document to the
|
||||
trash.
|
||||
- Remove the INSTALLED_APPS setting. Replace it with
|
||||
the new COMMON_EXTRA_APPS and COMMON_DISABLED_APPS.
|
||||
- Improve email metadata support. Can now work on
|
||||
email with nested parts. Also the metadata.yaml
|
||||
attachment no longer needs to be the first attachment.
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
If installed via Python's PIP
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
$ curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt | pip uninstall -r /dev/stdin
|
||||
|
||||
Type in the console::
|
||||
|
||||
$ pip install mayan-edms==3.2.4
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
$ git pull
|
||||
|
||||
otherwise download the compressed archived and uncompress it overriding the
|
||||
existing installation.
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
$ pip uninstall -y -r removals.txt
|
||||
|
||||
Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Perform these steps after updating the code from either step above.
|
||||
|
||||
Make a backup of your supervisord file::
|
||||
|
||||
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
|
||||
|
||||
Update the supervisord configuration file. Replace the environment
|
||||
variables values show here with your respective settings. This step will refresh
|
||||
the supervisord configuration file with the new queues and the latest
|
||||
recommended layout::
|
||||
|
||||
sudo MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
|
||||
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
|
||||
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
|
||||
|
||||
Edit the supervisord configuration file and update any setting the template
|
||||
generator missed::
|
||||
|
||||
sudo vi /etc/supervisor/conf.d/mayan.conf
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py preparestatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
- :gitlab-issue:`606` Delete after IMAP Processing
|
||||
- :gitlab-issue:`628` mailbox.user in POP3Email gets passed keyword argument, but only accepts "user" or positional argument
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
117
docs/releases/3.2.5.rst
Normal file
117
docs/releases/3.2.5.rst
Normal file
@@ -0,0 +1,117 @@
|
||||
Version 3.2.5
|
||||
=============
|
||||
|
||||
Released: July 05, 2019
|
||||
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
- Don't error out if the EXTRA_APPS or the DISABLED_APPS settings
|
||||
are set to blank.
|
||||
- Update troubleshooting documentation topic.
|
||||
- Add data migration to the file metadata app. Synchronizes the
|
||||
document type settings model of existing document types.
|
||||
- Fix cabinet and tags upload wizard steps missing some entries.
|
||||
GitLab issue #632. Thanks to Matthias Urhahn (@d4rken) for the
|
||||
report.
|
||||
- Add alert when settings are changed and util the installation
|
||||
is restarted. GitLab issue #605. Thanks to
|
||||
Vikas Kedia (@vikaskedia) to the report.
|
||||
- Update Django to version 1.11.22, PyYAML to version 5.1.1,
|
||||
django-widget-tweaks to version 1.4.5, pathlib2 to version 2.3.4,
|
||||
Werkzeug to version 0.15.4, django-extensions to version 2.1.9,
|
||||
django-rosetta to version 0.9.3, psutil to version 5.6.3.
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
If installed via Python's PIP
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
$ curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt | pip uninstall -r /dev/stdin
|
||||
|
||||
Type in the console::
|
||||
|
||||
$ pip install mayan-edms==3.2.5
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
$ git pull
|
||||
|
||||
otherwise download the compressed archived and uncompress it overriding the
|
||||
existing installation.
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
$ pip uninstall -y -r removals.txt
|
||||
|
||||
Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Perform these steps after updating the code from either step above.
|
||||
|
||||
Make a backup of your supervisord file::
|
||||
|
||||
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
|
||||
|
||||
Update the supervisord configuration file. Replace the environment
|
||||
variables values show here with your respective settings. This step will refresh
|
||||
the supervisord configuration file with the new queues and the latest
|
||||
recommended layout::
|
||||
|
||||
sudo MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
|
||||
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
|
||||
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
|
||||
|
||||
Edit the supervisord configuration file and update any setting the template
|
||||
generator missed::
|
||||
|
||||
sudo vi /etc/supervisor/conf.d/mayan.conf
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py preparestatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
- :gitlab-issue:`605` Project title fluctuates between default value and new value [Video]
|
||||
- :gitlab-issue:`629` Cannot Upgrade to 3.2.X Docker Image
|
||||
- :gitlab-issue:`632` Tags get lost when uploading through the webui
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
111
docs/releases/3.2.6.rst
Normal file
111
docs/releases/3.2.6.rst
Normal file
@@ -0,0 +1,111 @@
|
||||
Version 3.2.6
|
||||
=============
|
||||
|
||||
Released: July 10, 2019
|
||||
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
- Remove the smart settings app * import. Following MERC 0005.
|
||||
- Encode settings YAML before hashing. Avoids unicode issues with Python 3.
|
||||
- Fix document icon used in the workflow runtime links.
|
||||
- Add trashed date time label.
|
||||
- Fix thumbnail generation issue. GitLab issue #637.
|
||||
Thanks to Giacomo Cariello (@giacomocariello) for the report
|
||||
and the merge request fixing the issue.
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
If installed via Python's PIP
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
sudo -u mayan curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt -o /tmp/removals.txt && sudo -u mayan /opt/mayan-edms/bin/pip uninstall -y -r /tmp/removals.txt
|
||||
|
||||
Type in the console::
|
||||
|
||||
sudo -u mayan /opt/mayan-edms/bin/pip install mayan-edms==3.2.6
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
$ git pull
|
||||
|
||||
otherwise download the compressed archived and uncompress it overriding the
|
||||
existing installation.
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
$ pip uninstall -y -r removals.txt
|
||||
|
||||
Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Perform these steps after updating the code from either step above.
|
||||
|
||||
Make a backup of your supervisord file::
|
||||
|
||||
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
|
||||
|
||||
Update the supervisord configuration file. Replace the environment
|
||||
variables values show here with your respective settings. This step will refresh
|
||||
the supervisord configuration file with the new queues and the latest
|
||||
recommended layout::
|
||||
|
||||
sudo MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
|
||||
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
|
||||
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
|
||||
|
||||
Edit the supervisord configuration file and update any setting the template
|
||||
generator missed::
|
||||
|
||||
sudo vi /etc/supervisor/conf.d/mayan.conf
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
|
||||
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
|
||||
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py preparestatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
- :gitlab-issue:`637` Thumbnail generation bug
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
145
docs/releases/3.2.7.rst
Normal file
145
docs/releases/3.2.7.rst
Normal file
@@ -0,0 +1,145 @@
|
||||
Version 3.2.7
|
||||
=============
|
||||
|
||||
Released: August 28, 2019
|
||||
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
- Fix checkouts form bug. Fixes GitLab issue #654
|
||||
Thanks to Lucius Schaerer (@lschaer1) for the report.
|
||||
- Disable pagination current page button
|
||||
Current page button was clickable and would cause the
|
||||
single page navigation to jump to the home view.
|
||||
- Remove redundant Celery queue declarations from the
|
||||
file_metadata app.
|
||||
- Add internal_name field to workflow serializer.
|
||||
Fixes workflow API creation view.
|
||||
- Fix document cabinet list API view. Thanks for forum user
|
||||
"jere" for the report. Forum topic 1039.
|
||||
- Fix document template column field. GitLab issue #655.
|
||||
Thanks to Christian Wiegand (@christianwgd) for the
|
||||
report.
|
||||
- Increase mailing profile password field max length
|
||||
from 48 to 128 characters. GitLab issue #657.
|
||||
Thanks to sigsec (@sigsec) for the report.
|
||||
- Update the Docker entrypoint to update the ownership
|
||||
of files when the UID of GUID are changed.
|
||||
GitLab issue #650. Thanks to Fabian (@ruffy91)
|
||||
for the report.
|
||||
- Update the Docker entrypoint to allow changing
|
||||
the GID of the mayan user to existing values.
|
||||
GitLab issue #652. Thanks to Fabian (@ruffy91)
|
||||
for the report.
|
||||
- Rename the MAYAN_USER_GUID environment variable
|
||||
to MAYAN_USER_GID.
|
||||
- Backport individual index rebuild support.
|
||||
- Add automatic adjustment of HTML body on navigation
|
||||
bar changes. Closes GitLab issue #643. Thanks to
|
||||
Light Templar (@LightTemplar) for the report.
|
||||
- Unify all line endings to be Linux style.
|
||||
- Make sure system alerts don't appear under
|
||||
floating elements.
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
If installed via Python's PIP
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
sudo -u mayan curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt -o /tmp/removals.txt && sudo -u mayan /opt/mayan-edms/bin/pip uninstall -y -r /tmp/removals.txt
|
||||
|
||||
Type in the console::
|
||||
|
||||
sudo -u mayan /opt/mayan-edms/bin/pip install mayan-edms==3.2.7
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
$ git pull
|
||||
|
||||
otherwise download the compressed archived and uncompress it overriding the
|
||||
existing installation.
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
$ pip uninstall -y -r removals.txt
|
||||
|
||||
Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Perform these steps after updating the code from either step above.
|
||||
|
||||
Make a backup of your supervisord file::
|
||||
|
||||
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
|
||||
|
||||
Update the supervisord configuration file. Replace the environment
|
||||
variables values show here with your respective settings. This step will refresh
|
||||
the supervisord configuration file with the new queues and the latest
|
||||
recommended layout::
|
||||
|
||||
sudo MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
|
||||
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
|
||||
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
|
||||
|
||||
Edit the supervisord configuration file and update any setting the template
|
||||
generator missed::
|
||||
|
||||
sudo vi /etc/supervisor/conf.d/mayan.conf
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
|
||||
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
|
||||
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py preparestatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
- :gitlab-issue:`643` The "Actions" button won't show up, if window size between 992 and 1248 px
|
||||
- :gitlab-issue:`650` Permission denied when MAYAN_USER_UID and MAYAN_USER_GUID are set
|
||||
- :gitlab-issue:`652` MAYAN_USER_GUID cannot be set to specific values
|
||||
- :gitlab-issue:`654` Internal Server Error, Document Checkout
|
||||
- :gitlab-issue:`655` Index setup tree view shows two times the "enabled" field instead of "Link documents"
|
||||
- :gitlab-issue:`657` Mailer password length restriction is too short
|
||||
- :forum-topic:`1039` Re: /api/documents/{id}/cabinets returns 500
|
||||
- :forum-topic:`1050` edit/delete sub-cabinet
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
161
docs/releases/3.2.8.rst
Normal file
161
docs/releases/3.2.8.rst
Normal file
@@ -0,0 +1,161 @@
|
||||
Version 3.2.8
|
||||
=============
|
||||
|
||||
Released: October 1, 2019
|
||||
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
|
||||
API
|
||||
^^^
|
||||
|
||||
Fix an error when accessing some API entry points without
|
||||
being authenticated. Accessing API endpoints without being authenticated
|
||||
will now always return empty results.
|
||||
|
||||
|
||||
Cabinets
|
||||
^^^^^^^^
|
||||
|
||||
Tweaked the jstree component's appearance to cope with long labels.
|
||||
Added a scrollbar, reduced the font size, switched to a sans serif font,
|
||||
and reduced padding. Thanks for forum user @briboe for the report.
|
||||
|
||||
Workflow actions to add and remove documents from cabinets was added.
|
||||
|
||||
|
||||
Dependencies
|
||||
^^^^^^^^^^^^
|
||||
|
||||
The Django version used was updated to version 1.11.24. The jQuery version
|
||||
used was updated to version 3.4.1. Both as fully backwards compatible with
|
||||
their previous versions.
|
||||
|
||||
|
||||
OCR
|
||||
^^^
|
||||
|
||||
Support was added to delete the content of document's OCR or parsed content.
|
||||
Events for both situations was added allowing content deletion to be used
|
||||
as workflow transition triggers.
|
||||
|
||||
|
||||
Docker
|
||||
^^^^^^
|
||||
|
||||
A missing recursive option was added to the Docker entrypoint
|
||||
command "chown" to change the ownership of files when specifying a custom
|
||||
UID or GID. Closes GitLab issue #668. Thanks to John Wice (@brilthor)
|
||||
for the report.
|
||||
|
||||
Two fonts were added to the Docker image to support rendering Chinese office
|
||||
documents. Closes GitLab issue #666. Thanks to javawcy (@javawcy) and forum
|
||||
user @leoliu for the report and help closing this issue.
|
||||
|
||||
|
||||
Usability
|
||||
^^^^^^^^^
|
||||
|
||||
Descriptions for screenreaders was added via image alt tag. The user interface
|
||||
will also now allow scaling.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
If installed via Python's PIP
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
sudo -u mayan curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt -o /tmp/removals.txt && sudo -u mayan /opt/mayan-edms/bin/pip uninstall -y -r /tmp/removals.txt
|
||||
|
||||
Type in the console::
|
||||
|
||||
sudo -u mayan /opt/mayan-edms/bin/pip install mayan-edms==3.2.8
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
$ git pull
|
||||
|
||||
otherwise download the compressed archived and uncompress it overriding the
|
||||
existing installation.
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
$ pip uninstall -y -r removals.txt
|
||||
|
||||
Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Perform these steps after updating the code from either step above.
|
||||
|
||||
Make a backup of your supervisord file::
|
||||
|
||||
sudo cp /etc/supervisor/conf.d/mayan.conf /etc/supervisor/conf.d/mayan.conf.bck
|
||||
|
||||
Update the supervisord configuration file. Replace the environment
|
||||
variables values show here with your respective settings. This step will refresh
|
||||
the supervisord configuration file with the new queues and the latest
|
||||
recommended layout::
|
||||
|
||||
sudo MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
|
||||
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
|
||||
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan.conf
|
||||
|
||||
Edit the supervisord configuration file and update any setting the template
|
||||
generator missed::
|
||||
|
||||
sudo vi /etc/supervisor/conf.d/mayan.conf
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
|
||||
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
|
||||
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py preparestatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
- :gitlab-issue:`666` Chinese document such as .doc can't display well.
|
||||
- :gitlab-issue:`668` Permission denied errors with custom uid persist (650 needs re-open)
|
||||
- :forum-topic:`1120` Cabinet Presentation
|
||||
- :forum-topic:`2202` Cannot display Chinese character and cannot identify Excel files
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
@@ -1,7 +1,7 @@
|
||||
Version 3.2
|
||||
===========
|
||||
|
||||
Released: May XX, 2019
|
||||
Released: June 13, 2019
|
||||
|
||||
Work on version 4.0 continues along. Version 4.0 brings so many changes that it
|
||||
missed its release schedule. Therefore we decided to release an interim version,
|
||||
@@ -67,7 +67,7 @@ Apps
|
||||
|
||||
Dependencies app: A new app was added to handle all dependencies. Previously,
|
||||
the code to handle JavaScript dependencies and license text collection, was
|
||||
contianed in the common app. This new app, called "dependencies" now handles
|
||||
contained in the common app. This new app, called "dependencies" now handles
|
||||
both tasks. In addition, it provides checks for binary dependencies.
|
||||
This app's main view will allow users to know which dependencies are not being
|
||||
recognized and help debug installation issues faster and easier. The app
|
||||
@@ -163,8 +163,8 @@ currently logged user.
|
||||
Incompatible changes
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Existing config.yml files need to be updated manually and 'mayan.apps'
|
||||
prepended to any reference to an app.
|
||||
Existing config.yml files need to be updated manually. The prefix 'mayan.apps'
|
||||
must be added to any reference of an app.
|
||||
|
||||
All the Internet Explorer specific HTML markup was removed from the templates.
|
||||
|
||||
@@ -237,7 +237,7 @@ at the time was to rename Mayan's to "mayan_statistics". With this change
|
||||
solutions like this won't be necessary.
|
||||
|
||||
This means that any reference to an app, either in the code or from a
|
||||
configuration file must now be prepended with ``mayan.apps``. Existing
|
||||
configuration file must now be prefixed with ``mayan.apps``. Existing
|
||||
``config.yml`` files need to be updated manually.
|
||||
|
||||
For developers, a new test mixin was added called ``SilenceLoggerTestCaseMixin``.
|
||||
@@ -387,7 +387,7 @@ An optimization was added which removed the exception catch for the
|
||||
``permissions`` argument of the ``check_access`` method. ``permissions``
|
||||
argument must now be an iterable.
|
||||
|
||||
Signal handlers must now be prepended with ``handler``.
|
||||
Signal handlers must now be prefixed with ``handler``.
|
||||
|
||||
Remove ``.filter_by_access``. Replaced by ``.restrict_queryset``.
|
||||
|
||||
@@ -703,8 +703,31 @@ Other changes
|
||||
- Add cabinet created and edited events.
|
||||
- Chart updates: Show last update date and time in list view and details view.
|
||||
Change color scheme to match rest of project. Increase size of data points.
|
||||
Improve responsive settings. Redirect to the current view after queueing.
|
||||
Improve responsive settings. Redirect to the current view after queuing.
|
||||
- Split document type retention policies into it own view.
|
||||
- Place deletion policies units before periods for clarity.
|
||||
- Remove the included Lato font. The font is now downloaded
|
||||
at install time.
|
||||
- Add support for Google Fonts dependencies.
|
||||
- Add support for patching dependency files using rewriting rules.
|
||||
- Allow searching documents by UUID.
|
||||
- Improve search negation logic. Only dashes at the start of terms and
|
||||
outside of quotes are now interpreted as negation.
|
||||
- Add support for search field transformations.
|
||||
- Disable hiding page navigation on idle.
|
||||
- Display namespace in the transition trigger view.
|
||||
- Sort events list in the transition trigger view.
|
||||
- Add support for form media to DynamicFormMixin.
|
||||
- Fix tag attach and remove action form media.
|
||||
- Sort content type list of the access grant and remove action.
|
||||
- Use select2 for the content type filed of the access
|
||||
grant and remove action.
|
||||
- Add Latvian translation.
|
||||
- Support search model selection.
|
||||
- Support passing a queryset factory to the search model.
|
||||
- Add workflow actions to grant or remove permissions to
|
||||
a document.
|
||||
- Add support for locked files for watchfolder.
|
||||
|
||||
|
||||
Removals
|
||||
@@ -780,7 +803,7 @@ Migrate existing database schema with::
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py collectstatic --noinput
|
||||
$ mayan-edms.py preparestatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
@@ -794,33 +817,33 @@ Backward incompatible changes
|
||||
- Paths to apps must be updated in existing ``config.yml`` files. Preprend
|
||||
``mayan.apps.`` to any app reference. Some instances:
|
||||
|
||||
.. code-block::
|
||||
.. code-block :: python
|
||||
|
||||
LOCK_MANAGER_BACKEND: lock_manager.backends.file_lock.FileLock
|
||||
|
||||
to
|
||||
|
||||
.. code-block::
|
||||
.. code-block :: python
|
||||
|
||||
LOCK_MANAGER_BACKEND: mayan.apps.lock_manager.backends.file_lock.FileLock
|
||||
|
||||
.. code-block::
|
||||
.. code-block :: python
|
||||
|
||||
OCR_BACKEND: ocr.backends.pyocr.PyOCR
|
||||
|
||||
to
|
||||
|
||||
.. code-block::
|
||||
.. code-block :: python
|
||||
|
||||
OCR_BACKEND: mayan.apps.ocr.backends.pyocr.PyOCR
|
||||
|
||||
.. code-block::
|
||||
.. code-block :: python
|
||||
|
||||
CONVERTER_GRAPHICS_BACKEND: converter.backends.python.Python
|
||||
|
||||
to
|
||||
|
||||
.. code-block::
|
||||
.. code-block :: python
|
||||
|
||||
CONVERTER_GRAPHICS_BACKEND: mayan.apps.converter.backends.python.Python
|
||||
|
||||
@@ -829,6 +852,11 @@ Backward incompatible changes
|
||||
|
||||
ImportError: No module named ocr.backends.pyocr
|
||||
|
||||
- To collect and compress the static media files, use the new ``preparestatic``
|
||||
command instead of the traditional ``collectstatic``. Both work the same
|
||||
way, but ``preparestatic`` has a default blacklist to avoid collecting files
|
||||
from tests, development setup, and demos.
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
@@ -844,5 +872,6 @@ Bugs fixed or issues closed
|
||||
- :gitlab-issue:`563` Recursive Watch Folder
|
||||
- :gitlab-issue:`579` Untranslated items
|
||||
- :gitlab-issue:`589` Document {{ link }} send via Email contains example.com as domain
|
||||
- :gitlab-issue:`595` Remove dependency to fonts.googleapis.com
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -20,6 +20,14 @@ versions of the documentation contain the release notes for any later releases.
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
3.2.8
|
||||
3.2.7
|
||||
3.2.6
|
||||
3.2.5
|
||||
3.2.4
|
||||
3.2.3
|
||||
3.2.2
|
||||
3.2.1
|
||||
3.2
|
||||
3.1.11
|
||||
3.1.10
|
||||
|
||||
@@ -143,6 +143,7 @@ storages
|
||||
Storages
|
||||
subclasses
|
||||
subclassing
|
||||
subfolder
|
||||
sublicense
|
||||
sublicensees
|
||||
swedish
|
||||
|
||||
@@ -6,6 +6,88 @@ FAQ
|
||||
Non technical
|
||||
*************
|
||||
|
||||
Contact
|
||||
=======
|
||||
|
||||
Can I contact members of the development team?
|
||||
----------------------------------------------
|
||||
|
||||
Direct access to members of the development team is reserved for clients
|
||||
of a support or consultation contract.
|
||||
|
||||
|
||||
I can't pay for support/consultation
|
||||
------------------------------------
|
||||
|
||||
A community forum is available at https://forum.mayan-edms.com. Members of
|
||||
the development team visit the forum on occasions and might answer some
|
||||
questions on a voluntary basis.
|
||||
|
||||
|
||||
I found a bug
|
||||
-------------
|
||||
|
||||
For bugs, open an issue at https://gitlab.com/mayan-edms/mayan-edms/issues.
|
||||
|
||||
|
||||
I found a security issue
|
||||
------------------------
|
||||
|
||||
Open an issue at https://gitlab.com/mayan-edms/mayan-edms/issues and mark it as
|
||||
Confidential. Allow us at least 48 hours to find and release a fix
|
||||
for the issue before submitting it to the CVE database.
|
||||
|
||||
|
||||
I want to join the development team
|
||||
-----------------------------------
|
||||
|
||||
Perfect! We need all the help we can get. Tell us where we can see what you've
|
||||
done using Mayan EDMS. It could be a fork, a new UI, an API client, a custom app,
|
||||
or anything else that you think will be able to evidence your dominion over the
|
||||
codebase.
|
||||
|
||||
|
||||
I submitted an issue and it has not been fixed
|
||||
----------------------------------------------
|
||||
|
||||
There are many reason an issue might not get resolved and remain open for an
|
||||
extended period of time. We document on the issue itself the progress and when
|
||||
resolved will reference what commit fixed it and the version or approximate time
|
||||
for the code to make it into a production release. Some reason why issues remain
|
||||
open with no resolution are:
|
||||
|
||||
- It was not an issue with the code. It happens that sometimes the problem lies
|
||||
with the operating system, the filesystem being used, the platform or packaging
|
||||
method.
|
||||
- It was not an issue but a question or a comment. The issue system is for reporting
|
||||
problems with the code. That said, we sometimes answer questions submitted as
|
||||
issues. For questions or discussions use the community forum.
|
||||
- We are not able to reproduce the issue. We need to be able to recreate the
|
||||
conditions that trigger the issue so that we can pinpoint the cause. After that
|
||||
we create a test to make sure the issue is really fixed. Some issues can
|
||||
be triggered manually easily but are hard to trigger programatically.
|
||||
- The issue is not clearly explained. Issue descriptions like: "It doesn't work",
|
||||
or "It showed an error but I forgot to write it down" are almost impossible to
|
||||
resolve.
|
||||
- We understand the cause of the problem but don't yet a solution to implement.
|
||||
We have studied the issue and have been able to reproduce it, but have not
|
||||
reached a consensus on how it should be fixed. Could be that the solution is
|
||||
beyond the collective expertise of the development team or that a design
|
||||
decision of big impact is needed before code changes can be implemented.
|
||||
- The issue is no real. The issue might be for an obsolete version. It could be
|
||||
for a fork or a program that is not developed by us. Sometimes they are just
|
||||
fake issues.
|
||||
|
||||
|
||||
I submitted a merge request and has not been merged
|
||||
---------------------------------------------------
|
||||
|
||||
Merge requests must follow the development standards of the code as close a
|
||||
possible. They must also be atomic and as small as possible. The code must also
|
||||
not change the behavior of the project. We can't accept merge request that
|
||||
customize it in some way based on your own preferences or needs.
|
||||
|
||||
|
||||
Distribution
|
||||
============
|
||||
|
||||
@@ -44,6 +126,7 @@ Restricting distribution or sale would conflict with the license terms. This
|
||||
would possible for a commercial version of Mayan EDMS with separate licensing
|
||||
terms.
|
||||
|
||||
|
||||
Is there a commercial partnership program?
|
||||
------------------------------------------
|
||||
|
||||
@@ -84,17 +167,6 @@ upgrades, if a migration fails the database structure is left in a transitory
|
||||
state and has to be reverted manually before trying again.
|
||||
|
||||
|
||||
Document versions
|
||||
=================
|
||||
|
||||
How do you upload a new version of an existing file?
|
||||
----------------------------------------------------
|
||||
|
||||
Choose a document, and go to the versions tab, on the right menu at the bottom
|
||||
under Other available action there is Upload new version. Clicking it will
|
||||
take you to a very similar view as the Upload new document but you will be
|
||||
able to specify version number and comments for the new version being uploaded.
|
||||
|
||||
LDAP
|
||||
====
|
||||
|
||||
@@ -105,6 +177,7 @@ A sample settings file called ldap_connection_settings.py is included in the
|
||||
contrib/settings/ folder of the repository showing how to setup LDAP
|
||||
authentication.
|
||||
|
||||
|
||||
Operating systems
|
||||
=================
|
||||
|
||||
@@ -148,20 +221,24 @@ Django's development server doesn't serve static files unless the DEBUG option
|
||||
is set to True, this mode of operation should only be used for development or
|
||||
testing. For production deployments the management command::
|
||||
|
||||
$ mayan-edms.py collectstatic
|
||||
$ mayan-edms.py preparestatic
|
||||
|
||||
should be used and the resulting static folder served from a webserver.
|
||||
For more information check the
|
||||
:django-docs:`howto/static-files/`
|
||||
|
||||
Watchfolders
|
||||
============
|
||||
|
||||
Watch folders
|
||||
=============
|
||||
|
||||
The watched folder feature is not working
|
||||
-----------------------------------------
|
||||
|
||||
Make sure that the Celery BEAT scheduler is running correctly as it is the
|
||||
element that triggers the periodics tasks.
|
||||
element that triggers the periodic tasks. Check that the user running the Mayan
|
||||
EDMS services has read and write permissions for the watch folder.
|
||||
|
||||
|
||||
|
||||
Other
|
||||
=====
|
||||
@@ -188,8 +265,3 @@ Example::
|
||||
|
||||
Reference:
|
||||
* http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html
|
||||
|
||||
Can you change the display order of documents…i.e can they be in alphabetical order?
|
||||
------------------------------------------------------------------------------------
|
||||
|
||||
A the moment no, but it is something being worked on.
|
||||
|
||||
@@ -12,7 +12,7 @@ Minimum hardware requirements
|
||||
|
||||
- 2 Gigabytes of RAM (1 Gigabyte if OCR is turned off).
|
||||
- Multiple core CPU (64 bit, faster than 1 GHz recommended).
|
||||
- Unix-like operating system like Linux and OpenBSD. For other operating systems
|
||||
- Unix-like operating system like GNU/Linux. For other operating systems
|
||||
user container technologies like Docker or virtual machines.
|
||||
|
||||
****************
|
||||
|
||||
@@ -7,8 +7,8 @@ Troubleshooting
|
||||
Database
|
||||
********
|
||||
|
||||
_mysql_exceptions. OperationalError: (1267, "Illegal mix of collations (latin1_swedish_ci, IMPLICIT) and (utf8_general_ci, COERCIBLE) for operation ‘='”)
|
||||
=========================================================================================================================================================
|
||||
MySQL error: ``OperationalError: (1267, "Illegal mix of collations (latin1_swedish_ci, IMPLICIT) and (utf8_general_ci, COERCIBLE) for operation '='”)``
|
||||
=======================================================================================================================================================
|
||||
|
||||
::
|
||||
|
||||
@@ -25,8 +25,8 @@ References:
|
||||
* http://stackoverflow.com/questions/1073295/django-character-set-with-mysql-weirdness
|
||||
|
||||
|
||||
Incorrect string value: ``'xE2x80x95rs6…'`` for column ``'content'`` at row 1
|
||||
=============================================================================
|
||||
MySQL error: ``Incorrect string value: `'xE2x80x95rs6…'` for column `'content'` at row 1``
|
||||
==========================================================================================
|
||||
|
||||
When using MySQL and doing OCR on languages other than English
|
||||
|
||||
@@ -39,13 +39,31 @@ References:
|
||||
* http://markmail.org/message/bqajx2utvmtriixi
|
||||
|
||||
|
||||
Error "django.db.utils.IntegrityError IntegrityError: (1452, ‘Cannot add or update a child row: a foreign key constraint fails (`…`.`…`, CONSTRAINT `…_refs_id_b0252274` FOREIGN KEY (`…`) REFERENCES `…` (`…`))')
|
||||
==================================================================================================================================================================================================================
|
||||
MySQL error: ``Error "django.db.utils.IntegrityError IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`…`.`…`, CONSTRAINT `…_refs_id_b0252274` FOREIGN KEY (`…`) REFERENCES `…` (`…`))')``
|
||||
===================================================================================================================================================================================================================================
|
||||
|
||||
Solution:
|
||||
Convert all MySQL tables to the same type, either all MyISAM or InnoDB
|
||||
|
||||
|
||||
PostgreSQL error: ``OperationalError: FATAL: sorry, too many clients already``
|
||||
===============================================================================
|
||||
|
||||
Set ``MAYAN_DATABASE_CONN_MAX_AGE`` to 0
|
||||
|
||||
This setting keeps a database connection alive. It allows reuse of database
|
||||
connections. When Mayan EDMS is deployed with Gunicorn a microthreads backend,
|
||||
the database connections are not shared and this setting has the reverse effect
|
||||
of exhausting the available PostgreSQL connections available. To avoid this,
|
||||
Setting ``MAYAN_DATABASE_CONN_MAX_AGE`` to 0 will cause all microthreads to
|
||||
release their connections, by closing them when finished.
|
||||
|
||||
References:
|
||||
|
||||
- https://serverfault.com/questions/635100/django-conn-max-age-persists-connections-but-doesnt-reuse-them-with-postgresq
|
||||
- https://github.com/benoitc/gunicorn/issues/996
|
||||
|
||||
|
||||
******
|
||||
Docker
|
||||
******
|
||||
@@ -136,3 +154,30 @@ command prompt::
|
||||
And then execute the command::
|
||||
|
||||
/opt/mayan-edms/bin/mayan-edms.py createsuperuser
|
||||
|
||||
|
||||
************
|
||||
Watchfolders
|
||||
************
|
||||
|
||||
Incomplete files uploaded
|
||||
=========================
|
||||
|
||||
To avoid uploading files are they are being copied to the watchfolder, copy the
|
||||
files to a temporary directory on the same partition as the watchfolder first.
|
||||
Then move the files to the watchfolder. The move will be executed as an atomic
|
||||
operation and will prevent the files to be uploaded in the middle of the
|
||||
copying process.
|
||||
|
||||
************
|
||||
Dependencies
|
||||
************
|
||||
|
||||
Error: ``unable to execute 'x86_64-linux-gnu-gcc': No such file or directory``
|
||||
==============================================================================
|
||||
|
||||
This happens when using the ``MAYAN_APT_INSTALLS`` feature. It means that the
|
||||
``GCC`` package is required to compile the packages specified with
|
||||
``MAYAN_APT_INSTALLS``.
|
||||
|
||||
Solution: Include ``gcc`` in the list of packages specified with ``MAYAN_APT_INSTALLS``.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright 2011-2018 Roberto Rosario
|
||||
Copyright 2011 Roberto Rosario
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
__title__ = 'Mayan EDMS'
|
||||
__version__ = '3.2b1'
|
||||
__build__ = 0x030200
|
||||
__build_string__ = 'v3.2b1_Thu May 16 01:31:36 2019 -0400'
|
||||
__version__ = '3.2.8'
|
||||
__build__ = 0x030208
|
||||
__build_string__ = 'v3.2.8_Tue Oct 1 13:31:40 2019 -0400'
|
||||
__django_version__ = '1.11'
|
||||
__author__ = 'Roberto Rosario'
|
||||
__author_email__ = 'roberto.rosario@mayan-edms.com'
|
||||
__description__ = 'Free Open Source Electronic Document Management System'
|
||||
__license__ = 'Apache 2.0'
|
||||
__copyright_short__ = '2011-2018 Roberto Rosario'
|
||||
__copyright_short__ = '2011 Roberto Rosario'
|
||||
__copyright__ = '{} {}'.format('Copyright', __copyright_short__)
|
||||
__website__ = 'https://www.mayan-edms.com'
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
import itertools
|
||||
import logging
|
||||
|
||||
from django.apps import apps
|
||||
from django.utils.encoding import force_text
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -12,6 +14,12 @@ class ModelPermission(object):
|
||||
_inheritances = {}
|
||||
_registry = {}
|
||||
|
||||
@classmethod
|
||||
def deregister(cls, model):
|
||||
cls._registry.pop(model, None)
|
||||
# TODO: Find method to revert the add_to_class('acls'...)
|
||||
# delattr doesn't work.
|
||||
|
||||
@classmethod
|
||||
def register(cls, model, permissions):
|
||||
from django.contrib.contenttypes.fields import GenericRelation
|
||||
@@ -36,7 +44,7 @@ class ModelPermission(object):
|
||||
|
||||
if as_content_type:
|
||||
content_type_dictionary = ContentType.objects.get_for_models(
|
||||
models=cls._registry.keys()
|
||||
*cls._registry.keys()
|
||||
)
|
||||
content_type_ids = [
|
||||
content_type.pk for content_type in content_type_dictionary.values()
|
||||
@@ -47,7 +55,20 @@ class ModelPermission(object):
|
||||
return cls._registry.keys()
|
||||
|
||||
@classmethod
|
||||
def get_for_class(cls, klass):
|
||||
def get_for_class(cls, klass, as_choices=False):
|
||||
if as_choices:
|
||||
results = []
|
||||
|
||||
for namespace, permissions in itertools.groupby(cls.get_for_class(klass=klass, as_choices=False), lambda entry: entry.namespace):
|
||||
permission_options = [
|
||||
(force_text(permission.pk), permission) for permission in permissions
|
||||
]
|
||||
results.append(
|
||||
(namespace, permission_options)
|
||||
)
|
||||
|
||||
return results
|
||||
else:
|
||||
return cls._registry.get(klass, ())
|
||||
|
||||
@classmethod
|
||||
|
||||
Binary file not shown.
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -45,16 +45,16 @@ msgstr ""
|
||||
msgid "Delete"
|
||||
msgstr "حذف"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "الصلاحيات"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr ""
|
||||
@@ -156,40 +156,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Roles"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -45,16 +45,16 @@ msgstr ""
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Разрешения"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr ""
|
||||
@@ -156,40 +156,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Роли"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -46,16 +46,16 @@ msgstr "Novi ACL"
|
||||
msgid "Delete"
|
||||
msgstr "Obriši"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Dozvole"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Nedovoljan pristup za:%s"
|
||||
@@ -157,40 +157,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Tip objekta"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "Tip objekta za koji će se pristup mijenjati."
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "ID objekta"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "Numerički identifikator objekta za koji će se pristup mijenjati."
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Role"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "Uloge čiji će pristup biti modifikovan."
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "Dozvole za dodeljivanje / poništavanje / od uloge za gore izabrani objekat."
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Dodjeljen pristup"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Opozvati pristup"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -8,9 +8,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-17 14:41+0000\n"
|
||||
"Last-Translator: Jiri Fait <fait@orkasolutions.cz>\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Czech (http://www.transifex.com/rosarior/mayan-edms/language/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -46,16 +46,16 @@ msgstr ""
|
||||
msgid "Delete"
|
||||
msgstr "Odstranit"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Práva"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr ""
|
||||
@@ -157,40 +157,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Danish (Denmark) (http://www.transifex.com/rosarior/mayan-edms/language/da_DK/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -46,16 +46,16 @@ msgstr "Ny ACL"
|
||||
msgid "Delete"
|
||||
msgstr "Slet"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Tilladelser"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Utilstækkelig adgang for: %s"
|
||||
@@ -157,40 +157,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Objekttype"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "Objekt ID"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Roller"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Giv tilladelse"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Tilbagekald tilladelse"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -11,9 +11,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-06 22:04+0000\n"
|
||||
"Last-Translator: Mathias Behrle <mathiasb@m9s.biz>\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -49,16 +49,16 @@ msgstr "Neue Berechtigung"
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Berechtigungen"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr "Objekt \"%s\" ist kein Modell und kann nicht auf Zugriffsberechtigungen überprüft werden."
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Unzureichende Berechtigung für: %s"
|
||||
@@ -160,40 +160,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr "Unzureichende Berechtigungen werden durch ein übergeordnetes Objekt vererbt oder direkt an die Rolle erteilt. Sie können nicht direkt auf diesem Formular bearbeitet werden. Vererbte Berechtigungen müssen auf dem übergeordneten Objekt oder für die Rolle über das Einrichtungsmenü eingestellt werden."
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Objekttyp"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "Objekttyp für den der Zugang bearbeitet wird."
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "Objekt ID"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "Numerischer Identifikator des Objekts"
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Rollen"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "Rollen deren Zugang bearbeitet wird."
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "Berechtigungen, die der Rolle für das ausgewählte Objekt erteilt oder entzogen werden."
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Zugriffsberechtigung erteilen"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Zugriffsberechtigung entziehen"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Greek (http://www.transifex.com/rosarior/mayan-edms/language/el/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -45,16 +45,16 @@ msgstr "Νέα ΛΕΠ"
|
||||
msgid "Delete"
|
||||
msgstr "Διαγραφή"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Ανεπαρκή δικαιώματα"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Μη επαρκή δικαιώματα πρόσβασης για το: %s"
|
||||
@@ -156,40 +156,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Τύπος αντικειμένου"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "Τύπος του αντικειμένου για το οποίο η πρόσβαση θα τροποποιηθεί."
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "Αναγνωριστικό αντικειμένου"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "Αριθμητικό αναγνωριστικό του αντικειμένου για το οποίο η πρόσβαση θα τροποποιηθεί."
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Ρόλοι"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "Ρόλοι των οποιων η πρόσβαση θα τροποποιηθει."
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "Δικαιώματα προς χορήγηση/ανάληση προς/από τον ρόλο για το ανωτέρω επιλεγμένο αντικείμενο."
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Χορήγηση πρόσβασης"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Ανάκληση πρόσβασης"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -45,16 +45,16 @@ msgstr ""
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr ""
|
||||
@@ -156,39 +156,47 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid "Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:52+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:51+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -48,16 +48,16 @@ msgstr "Nueva LCA"
|
||||
msgid "Delete"
|
||||
msgstr "Borrar"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Permisos"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr "El objeto \"%s\"; no es un modelo y no se puede verificar el acceso."
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Acceso insuficiente para: %s"
|
||||
@@ -159,40 +159,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr "Los permisos deshabilitados se heredan de un objeto principal o se otorgan directamente al rol y no se pueden eliminar de esta vista. Los permisos heredados deben eliminarse de la LCA del objeto principal o de su rol a través del menú de Configuración."
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Tipo de objeto"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "Tipo de objeto para el que se modificará el acceso."
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "ID de objeto"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "Identificador numérico del objeto para el que se modificará el acceso."
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Roles"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "Roles cuyo acceso será modificado."
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "Permisos para otorgar/revocar a los roles para el objeto seleccionado anteriormente."
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Otorgar acceso"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Revocar acceso"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr "Otorgar acceso a documento"
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr "Revocar acceso documento"
|
||||
|
||||
Binary file not shown.
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -47,16 +47,16 @@ msgstr "دسترسی جدید"
|
||||
msgid "Delete"
|
||||
msgstr "حذف"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "مجوزها"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "کمبود دسترسی برای: %s"
|
||||
@@ -158,40 +158,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "نوع شی"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "نوع شی که دسترسی به آن تغییر خواهد کرد."
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "شناسه اشیاء"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "شناسه عددی شئی که دسترسی به آن تغییر خواهد کرد."
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "نقش ها"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "نقش هایی که دسترسی به آنها تغییر خواهد کرد."
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "مجوز برای اعطای / لغو به / از نقش مورد انتخاب شده در بالا."
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "دادن دسترسی"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "لغو دسترسی"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -11,9 +11,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 03:24+0000\n"
|
||||
"Last-Translator: Frédéric Sheedy <sheedf@gmail.com>\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -49,16 +49,16 @@ msgstr "Nouveau droit"
|
||||
msgid "Delete"
|
||||
msgstr "Suppression"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Autorisations"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Droits d'accès insuffisants pour : %s"
|
||||
@@ -160,40 +160,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Type d'objet"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "Type d'objet pour lequel les droits d'accès vont être modifiés."
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "Identifiant de l'objet"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "Identifiant numérique de l'objet pour lequel les droits d'accès vont être modifiés."
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Rôles"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "Rôles pour lesquels les droits d'accès vont être modifiés."
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "Autorisations à accorder/révoquer au rôle pour l'objet sélectionné ci-dessus."
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Accorder le droit d'accès"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Révoquer le droit d'accès"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -45,16 +45,16 @@ msgstr ""
|
||||
msgid "Delete"
|
||||
msgstr "Törlés"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Engedélyek"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr ""
|
||||
@@ -156,40 +156,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Szerepkörök"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-12 17:32+0000\n"
|
||||
"Last-Translator: Adek Lanin\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -45,16 +45,16 @@ msgstr ""
|
||||
msgid "Delete"
|
||||
msgstr "Hapus"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr ""
|
||||
@@ -156,40 +156,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -3,14 +3,15 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Daniele Bortoluzzi <daniele@elkos.it>, 2019
|
||||
# Marco Camplese <marco.camplese.mc@gmail.com>, 2016-2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-08-28 11:33+0000\n"
|
||||
"Last-Translator: Daniele Bortoluzzi <daniele@elkos.it>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -28,11 +29,11 @@ msgstr "Liste di controllo accessi"
|
||||
|
||||
#: events.py:12
|
||||
msgid "ACL created"
|
||||
msgstr ""
|
||||
msgstr "ACL creata"
|
||||
|
||||
#: events.py:15
|
||||
msgid "ACL edited"
|
||||
msgstr ""
|
||||
msgstr "ACL modificata"
|
||||
|
||||
#: forms.py:15 models.py:49
|
||||
msgid "Role"
|
||||
@@ -46,19 +47,19 @@ msgstr "Nuova ACL"
|
||||
msgid "Delete"
|
||||
msgstr "Cancella"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Permessi"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
msgstr "L'oggetto \"%s\" non è un modello e su di esso non si può eseguire un controllo accessi."
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr ""
|
||||
msgstr "Permessi insufficienti per: %s"
|
||||
|
||||
#: models.py:57
|
||||
msgid "Access entry"
|
||||
@@ -123,13 +124,13 @@ msgstr "Cancella ACL: %s"
|
||||
|
||||
#: views.py:147
|
||||
msgid "There are no ACLs for this object"
|
||||
msgstr ""
|
||||
msgstr "Non ci sono ACL per questo oggetto"
|
||||
|
||||
#: views.py:150
|
||||
msgid ""
|
||||
"ACL stands for Access Control List and is a precise method to control user "
|
||||
"access to objects in the system."
|
||||
msgstr ""
|
||||
msgstr "ACL sta per Access Control List (lista di controllo degli accessi) ed è un metodo preciso per controllare l'accesso dell'utente agli oggetti nel sistema."
|
||||
|
||||
#: views.py:154
|
||||
#, python-format
|
||||
@@ -147,7 +148,7 @@ msgstr "Autorizzazioni disponibili "
|
||||
#: views.py:215
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\"."
|
||||
msgstr ""
|
||||
msgstr "Permessi del ruolo \"%(role)s\" per \"%(object)s\"."
|
||||
|
||||
#: views.py:224
|
||||
msgid ""
|
||||
@@ -155,42 +156,50 @@ msgid ""
|
||||
"to the role and can't be removed from this view. Inherited permissions need "
|
||||
"to be removed from the parent object's ACL or from them role via the Setup "
|
||||
"menu."
|
||||
msgstr ""
|
||||
msgstr "I permessi disabilitati sono ereditati da un oggetto padre o direttamente concessi al ruolo e non possono essere rimossi da questa schermata. I permessi ereditati vanno rimossi dalle ACL dell'oggetto padre o del ruolo tramite il menù Setup."
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr ""
|
||||
msgstr "Tipo dell'oggetto"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
msgstr "Tipo dell'oggetto per il quale l'accesso sarà modificato"
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
msgstr "ID dell'oggetto"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
msgstr "Identificativo numerico dell'oggetto per il quale l'accesso sarà modificato"
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Ruoli "
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
msgstr "Ruoli il cui accesso sarà modificato"
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
msgstr "Permessi da concedere/revocare al ruolo per l'oggetto selezionato"
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr ""
|
||||
msgstr "Concedi accesso"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr ""
|
||||
msgstr "Revoca accesso"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr "Concedi accesso al documento"
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr "Revoca accesso al documento"
|
||||
|
||||
BIN
mayan/apps/acls/locale/lv/LC_MESSAGES/django.mo
Normal file
BIN
mayan/apps/acls/locale/lv/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
204
mayan/apps/acls/locale/lv/LC_MESSAGES/django.po
Normal file
204
mayan/apps/acls/locale/lv/LC_MESSAGES/django.po
Normal 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-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-28 11:16+0000\n"
|
||||
"Last-Translator: Māris Teivāns <maris.teivans@gmail.com>\n"
|
||||
"Language-Team: Latvian (http://www.transifex.com/rosarior/mayan-edms/language/lv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: lv\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
|
||||
|
||||
#: apps.py:24 links.py:44
|
||||
msgid "ACLs"
|
||||
msgstr "PKS"
|
||||
|
||||
#: events.py:8 permissions.py:7
|
||||
msgid "Access control lists"
|
||||
msgstr "Piekļuves kontroles saraksti"
|
||||
|
||||
#: events.py:12
|
||||
msgid "ACL created"
|
||||
msgstr "PKS izveidots"
|
||||
|
||||
#: events.py:15
|
||||
msgid "ACL edited"
|
||||
msgstr "PKS rediģēts"
|
||||
|
||||
#: forms.py:15 models.py:49
|
||||
msgid "Role"
|
||||
msgstr "Loma"
|
||||
|
||||
#: links.py:34
|
||||
msgid "New ACL"
|
||||
msgstr "Jauns PKS"
|
||||
|
||||
#: links.py:39
|
||||
msgid "Delete"
|
||||
msgstr "Dzēst"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Atļaujas"
|
||||
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr "Objekts \"%s\" nav modelis un tā pieeju nevar pārbaudīt."
|
||||
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Nepietiekama piekļuve pie: %s"
|
||||
|
||||
#: models.py:57
|
||||
msgid "Access entry"
|
||||
msgstr "Piekļuves ieraksts"
|
||||
|
||||
#: models.py:58
|
||||
msgid "Access entries"
|
||||
msgstr "Piekļuves ieraksti"
|
||||
|
||||
#: models.py:62
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\""
|
||||
msgstr "Lomas \"%(role)s\" atļaujas priekš \"%(object)s\""
|
||||
|
||||
#: permissions.py:10
|
||||
msgid "Edit ACLs"
|
||||
msgstr "Rediģēt PKS"
|
||||
|
||||
#: permissions.py:13
|
||||
msgid "View ACLs"
|
||||
msgstr "Skatīt PKS"
|
||||
|
||||
#: serializers.py:26 serializers.py:136
|
||||
msgid ""
|
||||
"API URL pointing to the list of permissions for this access control list."
|
||||
msgstr "API URL, kas norāda uz piekļuves kontroles saraksta atļauju sarakstu."
|
||||
|
||||
#: serializers.py:59
|
||||
msgid ""
|
||||
"API URL pointing to a permission in relation to the access control list to "
|
||||
"which it is attached. This URL is different than the canonical workflow URL."
|
||||
msgstr "API URL, kas norāda uz atļauju saistībā ar piekļuves kontroles sarakstu, kuram tas ir pievienots. Šis URL atšķiras no kanoniskā darbplūsmas URL."
|
||||
|
||||
#: serializers.py:91
|
||||
msgid "Primary key of the new permission to grant to the access control list."
|
||||
msgstr "Primārā atslēga priekš jaunās atļaujas, ko piešķirt piekļuves kontroles sarakstam."
|
||||
|
||||
#: serializers.py:115 serializers.py:191
|
||||
#, python-format
|
||||
msgid "No such permission: %s"
|
||||
msgstr "Šādas atļaujas nav: %s"
|
||||
|
||||
#: serializers.py:130
|
||||
msgid ""
|
||||
"Comma separated list of permission primary keys to grant to this access "
|
||||
"control list."
|
||||
msgstr "Ar komatu atdalīts saraksts ar atļauju primārajām atslēgām, kuras piešķirt šim piekļuves kontroles sarakstam."
|
||||
|
||||
#: serializers.py:142
|
||||
msgid "Primary keys of the role to which this access control list binds to."
|
||||
msgstr "Primārās atslēgas lomai, pie kuras šis piekļuves kontroles saraksts ir piesaistīts."
|
||||
|
||||
#: views.py:62
|
||||
#, python-format
|
||||
msgid "New access control lists for: %s"
|
||||
msgstr "Jauni piekļuves kontroles saraksti priekš: %s"
|
||||
|
||||
#: views.py:100
|
||||
#, python-format
|
||||
msgid "Delete ACL: %s"
|
||||
msgstr "Dzēst PKS: %s"
|
||||
|
||||
#: views.py:147
|
||||
msgid "There are no ACLs for this object"
|
||||
msgstr "Šim objektam nav neviens PKS"
|
||||
|
||||
#: views.py:150
|
||||
msgid ""
|
||||
"ACL stands for Access Control List and is a precise method to control user "
|
||||
"access to objects in the system."
|
||||
msgstr "PKS apzīmē Piekļuves Kontroles Sarakstu un tā ir precīza metode, lai kontrolētu lietotāja piekļuvi sistēmā esošajiem objektiem."
|
||||
|
||||
#: views.py:154
|
||||
#, python-format
|
||||
msgid "Access control lists for: %s"
|
||||
msgstr "Piekļuves kontroles saraksti priekš: %s"
|
||||
|
||||
#: views.py:170
|
||||
msgid "Granted permissions"
|
||||
msgstr "Piešķirtās atļaujas"
|
||||
|
||||
#: views.py:171
|
||||
msgid "Available permissions"
|
||||
msgstr "Pieejamās atļaujas"
|
||||
|
||||
#: views.py:215
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\"."
|
||||
msgstr "Lomas \"%(role)s\" atļaujas priekš \"%(object)s\"."
|
||||
|
||||
#: views.py:224
|
||||
msgid ""
|
||||
"Disabled permissions are inherited from a parent object or directly granted "
|
||||
"to the role and can't be removed from this view. Inherited permissions need "
|
||||
"to be removed from the parent object's ACL or from them role via the Setup "
|
||||
"menu."
|
||||
msgstr "Atspējotas atļaujas tiek mantotas no mātes objekta vai tieši piešķirtas lomai, un tās nevar noņemt no šī skata. Mantotās atļaujas ir jānoņem no mātes objekta PKS vai no lomas, izmantojot Setup izvēlni."
|
||||
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Objekta tips"
|
||||
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "Objekta, kuram tiks rediģēta piekļuve, tips."
|
||||
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "Objekta ID"
|
||||
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "Objekta, kuram tiks rediģēta piekļuve, skaitliskais identifikators."
|
||||
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Lomas"
|
||||
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "Lomas, kuru piekļuve tiks mainīta."
|
||||
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "Atļaujas piešķirt/atsaukt iepriekš atlasītā objekta lomu."
|
||||
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Piešķirt piekļuvi"
|
||||
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Atsaukt piekļuvi"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr "Piešķirt piekļuvi dokumentam"
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr "Atsaukt piekļuvi dokumentam"
|
||||
Binary file not shown.
@@ -5,13 +5,13 @@
|
||||
# Translators:
|
||||
# Evelijn Saaltink <evelijnsaaltink@gmail.com>, 2016
|
||||
# Justin Albstbstmeijer <justin@albstmeijer.nl>, 2016
|
||||
# Martin Horseling <martin.horseling@gmail.com>, 2018
|
||||
# Martin Horseling <martin.horseling@gmail.com>, 2018-2019
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -30,11 +30,11 @@ msgstr "Authorisatielijsten"
|
||||
|
||||
#: events.py:12
|
||||
msgid "ACL created"
|
||||
msgstr ""
|
||||
msgstr "Authorisatie Controle Lijst Aangemaakt"
|
||||
|
||||
#: events.py:15
|
||||
msgid "ACL edited"
|
||||
msgstr ""
|
||||
msgstr "Authorisatie Controle Lijst gewijzigd"
|
||||
|
||||
#: forms.py:15 models.py:49
|
||||
msgid "Role"
|
||||
@@ -48,16 +48,16 @@ msgstr "Nieuwe authorisatielijst"
|
||||
msgid "Delete"
|
||||
msgstr "Verwijder"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Permissies"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
msgstr "Voorwerp \"%s\" is geen model en kan niet aangevinkt worden voor toegang"
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Onvoldoende toegang voor: %s"
|
||||
@@ -125,13 +125,13 @@ msgstr "Verwijder authorisatielijst: %s"
|
||||
|
||||
#: views.py:147
|
||||
msgid "There are no ACLs for this object"
|
||||
msgstr ""
|
||||
msgstr "Er zijn geen toegangscontrolelijsten voor dit onderwerp"
|
||||
|
||||
#: views.py:150
|
||||
msgid ""
|
||||
"ACL stands for Access Control List and is a precise method to control user "
|
||||
"access to objects in the system."
|
||||
msgstr ""
|
||||
msgstr "ACL betekent Toegangscontrolelijst en is een precieze methode om gebruikerstoegang te geven of verwijderen voor objecten in het systeem"
|
||||
|
||||
#: views.py:154
|
||||
#, python-format
|
||||
@@ -149,7 +149,7 @@ msgstr "Beschikbare permissies"
|
||||
#: views.py:215
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\"."
|
||||
msgstr ""
|
||||
msgstr "Rol \"%(role)s\" toestemmingen voor \"%(object)s\"."
|
||||
|
||||
#: views.py:224
|
||||
msgid ""
|
||||
@@ -157,42 +157,50 @@ msgid ""
|
||||
"to the role and can't be removed from this view. Inherited permissions need "
|
||||
"to be removed from the parent object's ACL or from them role via the Setup "
|
||||
"menu."
|
||||
msgstr ""
|
||||
msgstr "Onbeschikbare of uitgeschakelde rechten zijn geërfd van een hoger niveau of direct geven aan de gebruikersrol en kunnen hier niet verwijderd worden. Geërfde rechten moeten verwijderd worden vanaf het hogere niveau of via de gebruikersrol via het Instellingen menu. "
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Objecttype"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "Objecttype waarvoor de toegang gewijzigd gaat worden"
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "voorwerp identificatie"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "Nummer van het voorwerp waarvoor de toegang wordt gewijzigd"
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Gebruikersrollen"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "Gebruikersrol waarvoor de toegang wordt gewijzigd"
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "Permissies to geven/verwijderen naar/van de rol voor het geselecteerde object hierboven "
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Geef toegang"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Verwijder toegang"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -4,15 +4,17 @@
|
||||
#
|
||||
# Translators:
|
||||
# Daniel Winiarski <daniel.winiarski.dw@gmail.com>, 2017
|
||||
# Marcin Lozynski <mlozynski@wp.pl>, 2019
|
||||
# Tomasz Szymanowicz <alakdae@gmail.com>, 2019
|
||||
# Wojciech Warczakowski <w.warczakowski@gmail.com>, 2016
|
||||
# Wojciech Warczakowski <w.warczakowski@gmail.com>, 2017-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-09-23 09:33+0000\n"
|
||||
"Last-Translator: Tomasz Szymanowicz <alakdae@gmail.com>\n"
|
||||
"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -26,15 +28,15 @@ msgstr "Listy ACL"
|
||||
|
||||
#: events.py:8 permissions.py:7
|
||||
msgid "Access control lists"
|
||||
msgstr "Listy ACL"
|
||||
msgstr "Listy kontroli dostępu"
|
||||
|
||||
#: events.py:12
|
||||
msgid "ACL created"
|
||||
msgstr ""
|
||||
msgstr "Utworzono listę ACL"
|
||||
|
||||
#: events.py:15
|
||||
msgid "ACL edited"
|
||||
msgstr ""
|
||||
msgstr "Wyedytowano listę ACL"
|
||||
|
||||
#: forms.py:15 models.py:49
|
||||
msgid "Role"
|
||||
@@ -48,16 +50,16 @@ msgstr "Nowa lista ACL"
|
||||
msgid "Delete"
|
||||
msgstr "Usuń"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Uprawnienia"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
msgstr "Obiekt \"%s\" nie jest modelem i nie może być sprawdzony pod kątem dostępu."
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Niewystarczający dostęp dla: %s"
|
||||
@@ -125,13 +127,13 @@ msgstr "Usuń listę ACL: %s"
|
||||
|
||||
#: views.py:147
|
||||
msgid "There are no ACLs for this object"
|
||||
msgstr ""
|
||||
msgstr "Brak listy ACL dla tego objektu"
|
||||
|
||||
#: views.py:150
|
||||
msgid ""
|
||||
"ACL stands for Access Control List and is a precise method to control user "
|
||||
"access to objects in the system."
|
||||
msgstr ""
|
||||
msgstr "Lista ACL stanowi metodę kontroli dostępu użytkownika do obiektów znajdujących się w systemie."
|
||||
|
||||
#: views.py:154
|
||||
#, python-format
|
||||
@@ -149,7 +151,7 @@ msgstr "Dostępne uprawnienia"
|
||||
#: views.py:215
|
||||
#, python-format
|
||||
msgid "Role \"%(role)s\" permission's for \"%(object)s\"."
|
||||
msgstr ""
|
||||
msgstr "Rola \"%(role)s\" uprawnienia dla \"%(object)s\"."
|
||||
|
||||
#: views.py:224
|
||||
msgid ""
|
||||
@@ -157,42 +159,50 @@ msgid ""
|
||||
"to the role and can't be removed from this view. Inherited permissions need "
|
||||
"to be removed from the parent object's ACL or from them role via the Setup "
|
||||
"menu."
|
||||
msgstr ""
|
||||
msgstr "Wyłączone prawa są dziedziczone z obiektu rodzica lub bezpośrednio nadane dla roli i nie mogą być usunięte w tym widoku. Dziedziczone prawa muszą być usunięte z listy ACL obiektu rodzica lub z roli w menu Ustawień."
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Typ obiektu"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "Typ obiektu, dla którego dostęp zostanie zmodyfikowany."
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "ID obiektu"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "Numeryczny identyfikator obiektu, dla którego dostęp zostanie zmodyfikowany."
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Role"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "Role, których dostęp zostanie zmodyfikowany."
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "Uprawnienia do nadawania/odwoływania do/z roli dla obiektu."
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Przyznaj dostęp"
|
||||
msgstr "Przydziel dostęp"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Odwołaj dostęp"
|
||||
msgstr "Zabierz dostęp"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr "Przydziel dostęp dla dokumentu"
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr "Zabierz dostęp do dokumentu"
|
||||
|
||||
Binary file not shown.
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -45,16 +45,16 @@ msgstr ""
|
||||
msgid "Delete"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Permissões"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr ""
|
||||
@@ -156,40 +156,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Funções"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -48,16 +48,16 @@ msgstr "Nova regra"
|
||||
msgid "Delete"
|
||||
msgstr "Excluir"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Permissões"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Acesso insuficiente para: %s"
|
||||
@@ -159,40 +159,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Tipo do objeto"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "Tipo do objeto cujo acesso será modificado."
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "ID do objeto"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "Identificador numérico do objeto cujo acesso será modificado."
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Papéis"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "Papéis cujo acesso será modificado."
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "Permissões a serem concedidas/revogadas para o papel em relação ao objeto selecionado acima."
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Conceder acesso"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Revogar acesso"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-08 07:09+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-18 15:35+0000\n"
|
||||
"Last-Translator: Harald Ersch\n"
|
||||
"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -46,16 +46,16 @@ msgstr "ACL nou"
|
||||
msgid "Delete"
|
||||
msgstr "Șterge"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Permisiuni"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr "Obiectul \"%s\" nu este un model și nu poate fi verificat pentru acces."
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Acces insuficient pentru: %s"
|
||||
@@ -157,40 +157,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr "Permisiunile dezactivate sunt moștenite de la un obiect părinte sau acordate direct rolului și nu pot fi eliminate din această vizualizare. Prerogativele moștenite trebuie să fie eliminate din ACL-ul obiectului părinte sau din rolul acestora prin meniul Setup (Configurare)."
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Tipul obiectului"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "Tipul obiectului pentru care va fi modificat accesul ."
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "ID obiect"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "Identificatorul numeric al obiectului pentru care va fi modificat accesul."
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Roluri"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "Roluri a căror acces va fi modificat."
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "Permisiuni de acordare / revocare în / a rolului pentru obiectului selectat mai sus."
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Acordă acces"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Revocă acces"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr "Acordați acces la documente"
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr "Revocați accesul la documente"
|
||||
|
||||
Binary file not shown.
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -46,16 +46,16 @@ msgstr "Создать СУД"
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Разрешения"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr ""
|
||||
@@ -157,40 +157,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Роли"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -46,16 +46,16 @@ msgstr "Novi ACL"
|
||||
msgid "Delete"
|
||||
msgstr "Izbriši"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "Pravice"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "Nezadosten dostop za: %s"
|
||||
@@ -157,40 +157,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "Vrsta objekta"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "Vrsta predmeta, za katerega bo dostop spremenjen."
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "ID objekta"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "Številčni identifikator predmeta, za katerega bo dostop spremenjen."
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Vloge"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "Vloge, katerih dostop bo spremenjen."
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "Dovoljenja za odobritev/preklic v/iz vlog za zgoraj izbrani objekt."
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "Dovoli dostop"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "Prekliči dostop"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Turkish (Turkey) (http://www.transifex.com/rosarior/mayan-edms/language/tr_TR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -46,16 +46,16 @@ msgstr "Yeni Erişim Kontrol Listesi"
|
||||
msgid "Delete"
|
||||
msgstr "Sil"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "İzinler"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr ""
|
||||
@@ -157,40 +157,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "Roller"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -45,16 +45,16 @@ msgstr ""
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr ""
|
||||
@@ -156,40 +156,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:57-0400\n"
|
||||
"PO-Revision-Date: 2019-05-05 01:43+0000\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-06-15 07:48+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Chinese (http://www.transifex.com/rosarior/mayan-edms/language/zh/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -46,16 +46,16 @@ msgstr "新的访问控制列表"
|
||||
msgid "Delete"
|
||||
msgstr "删除"
|
||||
|
||||
#: links.py:49 models.py:45 workflow_actions.py:48
|
||||
#: links.py:49 models.py:45 workflow_actions.py:49 workflow_actions.py:164
|
||||
msgid "Permissions"
|
||||
msgstr "权限"
|
||||
|
||||
#: managers.py:209
|
||||
#: managers.py:216
|
||||
#, python-format
|
||||
msgid "Object \"%s\" is not a model and cannot be checked for access."
|
||||
msgstr ""
|
||||
|
||||
#: managers.py:229
|
||||
#: managers.py:236
|
||||
#, python-format
|
||||
msgid "Insufficient access for: %s"
|
||||
msgstr "访问权限不足:%s"
|
||||
@@ -157,40 +157,48 @@ msgid ""
|
||||
"menu."
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:25
|
||||
#: workflow_actions.py:26
|
||||
msgid "Object type"
|
||||
msgstr "对象类型"
|
||||
|
||||
#: workflow_actions.py:28
|
||||
#: workflow_actions.py:29
|
||||
msgid "Type of the object for which the access will be modified."
|
||||
msgstr "要为其修改访问权限的对象的类型。"
|
||||
|
||||
#: workflow_actions.py:34
|
||||
#: workflow_actions.py:35
|
||||
msgid "Object ID"
|
||||
msgstr "对象ID"
|
||||
|
||||
#: workflow_actions.py:37
|
||||
#: workflow_actions.py:38
|
||||
msgid ""
|
||||
"Numeric identifier of the object for which the access will be modified."
|
||||
msgstr "要为其修改访问权限的对象的数字标识符。"
|
||||
|
||||
#: workflow_actions.py:42
|
||||
#: workflow_actions.py:43 workflow_actions.py:158
|
||||
msgid "Roles"
|
||||
msgstr "角色"
|
||||
|
||||
#: workflow_actions.py:44
|
||||
#: workflow_actions.py:45 workflow_actions.py:160
|
||||
msgid "Roles whose access will be modified."
|
||||
msgstr "访问权限将被修改的角色。"
|
||||
|
||||
#: workflow_actions.py:51
|
||||
#: workflow_actions.py:52 workflow_actions.py:167
|
||||
msgid ""
|
||||
"Permissions to grant/revoke to/from the role for the object selected above."
|
||||
msgstr "授予/撤销给上述选定对象角色的权限。"
|
||||
|
||||
#: workflow_actions.py:59
|
||||
#: workflow_actions.py:60
|
||||
msgid "Grant access"
|
||||
msgstr "授予访问权限"
|
||||
|
||||
#: workflow_actions.py:135
|
||||
#: workflow_actions.py:143
|
||||
msgid "Revoke access"
|
||||
msgstr "撤消访问权限"
|
||||
|
||||
#: workflow_actions.py:175
|
||||
msgid "Grant document access"
|
||||
msgstr ""
|
||||
|
||||
#: workflow_actions.py:214
|
||||
msgid "Revoke document access"
|
||||
msgstr ""
|
||||
|
||||
@@ -200,7 +200,14 @@ class AccessControlListManager(models.Manager):
|
||||
|
||||
return result
|
||||
|
||||
def check_access(self, obj, permissions, user):
|
||||
def check_access(self, obj, permissions, user, manager=None):
|
||||
# Allow specific managers for models that have more than one
|
||||
# for example the Document model when checking for access for a trashed
|
||||
# document.
|
||||
|
||||
if manager:
|
||||
source_queryset = manager.all()
|
||||
else:
|
||||
meta = getattr(obj, '_meta', None)
|
||||
|
||||
if not meta:
|
||||
@@ -232,6 +239,9 @@ class AccessControlListManager(models.Manager):
|
||||
)
|
||||
|
||||
def restrict_queryset(self, permission, queryset, user):
|
||||
if not user.is_authenticated():
|
||||
return queryset.none()
|
||||
|
||||
# Check directly granted permission via a role
|
||||
try:
|
||||
Permission.check_user_permissions(
|
||||
|
||||
@@ -36,11 +36,6 @@ class ACLTestMixin(PermissionTestMixin, RoleTestMixin, TestModelTestMixin):
|
||||
auto_create_test_role = True
|
||||
auto_create_test_object = False
|
||||
|
||||
def _create_test_acl(self):
|
||||
self.test_acl = AccessControlList.objects.create(
|
||||
content_object=self.test_object, role=self.test_role
|
||||
)
|
||||
|
||||
def setUp(self):
|
||||
super(ACLTestMixin, self).setUp()
|
||||
if self.auto_create_test_role:
|
||||
@@ -49,6 +44,22 @@ class ACLTestMixin(PermissionTestMixin, RoleTestMixin, TestModelTestMixin):
|
||||
if self.auto_create_test_object:
|
||||
self._setup_test_object()
|
||||
|
||||
def tearDown(self):
|
||||
# Deregister the permissions of the ephimeral test models
|
||||
# this avoids their Content Type from being looked up
|
||||
# in subsequent tests where they don't exists due to the database
|
||||
# transaction rollback.
|
||||
for model in self._test_models:
|
||||
ModelPermission.deregister(model=model)
|
||||
self._test_models.remove(model)
|
||||
|
||||
super(ACLTestMixin, self).tearDown()
|
||||
|
||||
def _create_test_acl(self):
|
||||
self.test_acl = AccessControlList.objects.create(
|
||||
content_object=self.test_object, role=self.test_role
|
||||
)
|
||||
|
||||
def _inject_test_object_content_type(self):
|
||||
self.test_object_content_type = ContentType.objects.get_for_model(
|
||||
model=self.test_object
|
||||
|
||||
12
mayan/apps/acls/tests/test_classes.py
Normal file
12
mayan/apps/acls/tests/test_classes.py
Normal 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
|
||||
)
|
||||
@@ -2,10 +2,13 @@ from __future__ import unicode_literals
|
||||
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
|
||||
from mayan.apps.document_states.tests.test_actions import ActionTestCase
|
||||
from mayan.apps.document_states.tests.test_workflow_actions import ActionTestCase
|
||||
from mayan.apps.documents.permissions import permission_document_view
|
||||
|
||||
from ..workflow_actions import GrantAccessAction, RevokeAccessAction
|
||||
from ..workflow_actions import (
|
||||
GrantAccessAction, GrantDocumentAccessAction, RevokeAccessAction,
|
||||
RevokeDocumentAccessAction
|
||||
)
|
||||
|
||||
|
||||
class ACLActionTestCase(ActionTestCase):
|
||||
@@ -29,6 +32,22 @@ class ACLActionTestCase(ActionTestCase):
|
||||
)
|
||||
self.assertEqual(self.test_document.acls.first().role, self._test_case_role)
|
||||
|
||||
def test_grant_document_access_action(self):
|
||||
action = GrantDocumentAccessAction(
|
||||
form_data={
|
||||
'roles': [self._test_case_role.pk],
|
||||
'permissions': [permission_document_view.pk],
|
||||
}
|
||||
)
|
||||
action.execute(context={'document': self.test_document})
|
||||
|
||||
self.assertEqual(self.test_document.acls.count(), 1)
|
||||
self.assertEqual(
|
||||
list(self.test_document.acls.first().permissions.all()),
|
||||
[permission_document_view.stored_permission]
|
||||
)
|
||||
self.assertEqual(self.test_document.acls.first().role, self._test_case_role)
|
||||
|
||||
def test_revoke_access_action(self):
|
||||
self.grant_access(
|
||||
obj=self.test_document, permission=permission_document_view
|
||||
@@ -47,3 +66,18 @@ class ACLActionTestCase(ActionTestCase):
|
||||
action.execute(context={'entry_log': self.entry_log})
|
||||
|
||||
self.assertEqual(self.test_document.acls.count(), 0)
|
||||
|
||||
def test_revoke_document_access_action(self):
|
||||
self.grant_access(
|
||||
obj=self.test_document, permission=permission_document_view
|
||||
)
|
||||
|
||||
action = RevokeDocumentAccessAction(
|
||||
form_data={
|
||||
'roles': [self._test_case_role.pk],
|
||||
'permissions': [permission_document_view.pk],
|
||||
}
|
||||
)
|
||||
action.execute(context={'document': self.test_document})
|
||||
|
||||
self.assertEqual(self.test_document.acls.count(), 0)
|
||||
@@ -8,6 +8,7 @@ from django.core.exceptions import ValidationError
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from mayan.apps.acls.models import AccessControlList
|
||||
from mayan.apps.documents.models import Document
|
||||
from mayan.apps.document_states.classes import WorkflowAction
|
||||
from mayan.apps.permissions.classes import Permission
|
||||
from mayan.apps.permissions.models import Role
|
||||
@@ -58,6 +59,11 @@ class GrantAccessAction(WorkflowAction):
|
||||
field_order = ('content_type', 'object_id', 'roles', 'permissions')
|
||||
label = _('Grant access')
|
||||
widgets = {
|
||||
'content_type': {
|
||||
'class': 'django.forms.widgets.Select', 'kwargs': {
|
||||
'attrs': {'class': 'select2'},
|
||||
}
|
||||
},
|
||||
'roles': {
|
||||
'class': 'django.forms.widgets.SelectMultiple', 'kwargs': {
|
||||
'attrs': {'class': 'select2'},
|
||||
@@ -97,7 +103,9 @@ class GrantAccessAction(WorkflowAction):
|
||||
return form_data
|
||||
|
||||
def get_form_schema(self, *args, **kwargs):
|
||||
self.fields['content_type']['kwargs']['queryset'] = ModelPermission.get_classes(as_content_type=True)
|
||||
self.fields['content_type']['kwargs']['queryset'] = ModelPermission.get_classes(
|
||||
as_content_type=True
|
||||
).order_by('model')
|
||||
self.fields['permissions']['kwargs']['choices'] = Permission.all(
|
||||
as_choices=True
|
||||
)
|
||||
@@ -142,3 +150,74 @@ class RevokeAccessAction(GrantAccessAction):
|
||||
AccessControlList.objects.revoke(
|
||||
obj=self.obj, permission=permission, role=role
|
||||
)
|
||||
|
||||
|
||||
class GrantDocumentAccessAction(WorkflowAction):
|
||||
fields = {
|
||||
'roles': {
|
||||
'label': _('Roles'),
|
||||
'class': 'django.forms.ModelMultipleChoiceField', 'kwargs': {
|
||||
'help_text': _('Roles whose access will be modified.'),
|
||||
'queryset': Role.objects.all(), 'required': True
|
||||
}
|
||||
}, 'permissions': {
|
||||
'label': _('Permissions'),
|
||||
'class': 'django.forms.MultipleChoiceField', 'kwargs': {
|
||||
'help_text': _(
|
||||
'Permissions to grant/revoke to/from the role for the '
|
||||
'object selected above.'
|
||||
), 'choices': (),
|
||||
'required': True
|
||||
}
|
||||
}
|
||||
}
|
||||
field_order = ('roles', 'permissions')
|
||||
label = _('Grant document access')
|
||||
widgets = {
|
||||
'roles': {
|
||||
'class': 'django.forms.widgets.SelectMultiple', 'kwargs': {
|
||||
'attrs': {'class': 'select2'},
|
||||
}
|
||||
},
|
||||
'permissions': {
|
||||
'class': 'django.forms.widgets.SelectMultiple', 'kwargs': {
|
||||
'attrs': {'class': 'select2'},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def get_form_schema(self, *args, **kwargs):
|
||||
self.fields['permissions']['kwargs']['choices'] = ModelPermission.get_for_class(
|
||||
klass=Document, as_choices=True
|
||||
)
|
||||
return super(GrantDocumentAccessAction, self).get_form_schema(*args, **kwargs)
|
||||
|
||||
def get_execute_data(self):
|
||||
self.roles = Role.objects.filter(pk__in=self.form_data['roles'])
|
||||
self.permissions = [
|
||||
Permission.get(
|
||||
pk=permission, proxy_only=True
|
||||
) for permission in self.form_data['permissions']
|
||||
]
|
||||
|
||||
def execute(self, context):
|
||||
self.get_execute_data()
|
||||
|
||||
for role in self.roles:
|
||||
for permission in self.permissions:
|
||||
AccessControlList.objects.grant(
|
||||
obj=context['document'], permission=permission, role=role
|
||||
)
|
||||
|
||||
|
||||
class RevokeDocumentAccessAction(GrantDocumentAccessAction):
|
||||
label = _('Revoke document access')
|
||||
|
||||
def execute(self, context):
|
||||
self.get_execute_data()
|
||||
|
||||
for role in self.roles:
|
||||
for permission in self.permissions:
|
||||
AccessControlList.objects.revoke(
|
||||
obj=context['document'], permission=permission, role=role
|
||||
)
|
||||
|
||||
@@ -2,15 +2,31 @@ from __future__ import unicode_literals
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from mayan.apps.dependencies.classes import JavaScriptDependency
|
||||
from mayan.apps.dependencies.classes import (
|
||||
GoogleFontDependency, JavaScriptDependency
|
||||
)
|
||||
|
||||
GoogleFontDependency(
|
||||
label=_('Lato font'), module=__name__, name='lato',
|
||||
url='https://fonts.googleapis.com/css?family=Lato:400,700,400italic'
|
||||
)
|
||||
JavaScriptDependency(
|
||||
label=_('Bootstrap'), module=__name__, name='bootstrap',
|
||||
version_string='=3.4.1'
|
||||
)
|
||||
JavaScriptDependency(
|
||||
label=_('Bootswatch'), module=__name__, name='bootswatch',
|
||||
version_string='=3.4.1'
|
||||
replace_list=[
|
||||
{
|
||||
'filename_pattern': 'bootstrap.*.css',
|
||||
'content_patterns': [
|
||||
{
|
||||
'search': '"https://fonts.googleapis.com/css?family=Lato:400,700,400italic"',
|
||||
'replace': '../../../google_fonts/lato/import.css',
|
||||
}
|
||||
]
|
||||
}
|
||||
], version_string='=3.4.1'
|
||||
)
|
||||
JavaScriptDependency(
|
||||
label=_('Fancybox'), module=__name__, name='@fancyapps/fancybox',
|
||||
@@ -21,7 +37,7 @@ JavaScriptDependency(
|
||||
name='@fortawesome/fontawesome-free', version_string='=5.6.3'
|
||||
)
|
||||
JavaScriptDependency(
|
||||
label=_('jQuery'), module=__name__, name='jquery', version_string='=3.3.1'
|
||||
label=_('jQuery'), module=__name__, name='jquery', version_string='=3.4.1'
|
||||
)
|
||||
JavaScriptDependency(
|
||||
label=_('JQuery Form'), module=__name__, name='jquery-form',
|
||||
|
||||
Binary file not shown.
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Mayan EDMS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-21 00:58-0400\n"
|
||||
"PO-Revision-Date: 2019-05-03 05:20+0000\n"
|
||||
"Last-Translator: Mohammed ALDOUB <voulnet@gmail.com>\n"
|
||||
"POT-Creation-Date: 2019-09-24 23:06-0400\n"
|
||||
"PO-Revision-Date: 2019-09-04 03:25+0000\n"
|
||||
"Last-Translator: Roberto Rosario\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -21,47 +21,51 @@ msgstr ""
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: dependencies.py:8
|
||||
#: dependencies.py:10
|
||||
msgid "Lato font"
|
||||
msgstr ""
|
||||
|
||||
#: dependencies.py:14
|
||||
msgid "Bootstrap"
|
||||
msgstr "Bootstrap"
|
||||
|
||||
#: dependencies.py:12
|
||||
#: dependencies.py:18
|
||||
msgid "Bootswatch"
|
||||
msgstr ""
|
||||
|
||||
#: dependencies.py:16
|
||||
#: dependencies.py:32
|
||||
msgid "Fancybox"
|
||||
msgstr ""
|
||||
|
||||
#: dependencies.py:20
|
||||
#: dependencies.py:36
|
||||
msgid "FontAwesome"
|
||||
msgstr ""
|
||||
|
||||
#: dependencies.py:24
|
||||
#: dependencies.py:40
|
||||
msgid "jQuery"
|
||||
msgstr ""
|
||||
|
||||
#: dependencies.py:27
|
||||
#: dependencies.py:43
|
||||
msgid "JQuery Form"
|
||||
msgstr ""
|
||||
|
||||
#: dependencies.py:31
|
||||
#: dependencies.py:47
|
||||
msgid "jQuery Lazy Load"
|
||||
msgstr ""
|
||||
|
||||
#: dependencies.py:35
|
||||
#: dependencies.py:51
|
||||
msgid "JQuery Match Height"
|
||||
msgstr ""
|
||||
|
||||
#: dependencies.py:39
|
||||
#: dependencies.py:55
|
||||
msgid "Select 2"
|
||||
msgstr ""
|
||||
|
||||
#: dependencies.py:43
|
||||
#: dependencies.py:59
|
||||
msgid "Toastr"
|
||||
msgstr ""
|
||||
|
||||
#: dependencies.py:46
|
||||
#: dependencies.py:62
|
||||
msgid "URI.js"
|
||||
msgstr ""
|
||||
|
||||
@@ -148,15 +152,14 @@ msgstr ""
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" The complete list of changes is available via the <a class=\"new_window\" href=\"https://docs.mayan-edms.com/releases/index.html\">Release notes %(icon_documentation)s</a> or the short version <a class=\"new_window\" href=\"https://gitlab.com/mayan-edms/mayan-edms/blob/master/HISTORY.rst\">Changelog %(icon_documentation)s</a>.\n"
|
||||
" You can also <a class=\"new_window\" href=\"https://www.paypal.com/paypalme2/RobertoRosario\">donate directly to the creator and lead developer. %(icon_social_paypal)s</a>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:127
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" For questions check the <a class=\"new_window\" href=\"https://docs.mayan-edms.com\">Documentation %(icon_documentation)s</a> or the <a class=\"new_window\" href=\"https://wiki.mayan-edms.com\">Wiki %(icon_wiki)s</a>.\n"
|
||||
" Besides donations you can also support the project by <a class=\"new_window\" href=\"https://sellfy.com/p/um2fkx/\">purchasing a copy of the book \"Exploring Mayan EDMS\" by Roberto Rosario</a>. <br>The book is available on pre-release format at a discounted price for a limited time.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
@@ -164,11 +167,27 @@ msgstr ""
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" The complete list of changes is available via the <a class=\"new_window\" href=\"https://docs.mayan-edms.com/releases/index.html\">Release notes %(icon_documentation)s</a> or the short version <a class=\"new_window\" href=\"https://gitlab.com/mayan-edms/mayan-edms/blob/master/HISTORY.rst\">Changelog %(icon_documentation)s</a>.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:139
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" For questions check the <a class=\"new_window\" href=\"https://docs.mayan-edms.com\">Documentation %(icon_documentation)s</a> or the <a class=\"new_window\" href=\"https://wiki.mayan-edms.com\">Wiki %(icon_wiki)s</a>.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:145
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" If you found a bug or have a feature idea, visit the <a class=\"new_window\" href=\"https://forum.mayan-edms.com\">Forum %(icon_forum)s</a> or open a ticket in the <a class=\"new_window\" href=\"https://gitlab.com/mayan-edms/mayan-edms\">Source code repository %(icon_source_code)s</a>.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/about.html:138
|
||||
#: templates/appearance/about.html:150
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -177,16 +196,22 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:32
|
||||
#: templates/appearance/base.html:36 templates/appearance/base.html:46
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:51
|
||||
#: templates/appearance/base.html:46
|
||||
msgid ""
|
||||
"Settings updated, restart your installation for changes to take proper "
|
||||
"effect."
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/base.html:60
|
||||
#: templates/appearance/generic_list_items_subtemplate.html:104
|
||||
msgid "Actions"
|
||||
msgstr "الإجراءات"
|
||||
|
||||
#: templates/appearance/base.html:53
|
||||
#: templates/appearance/base.html:62
|
||||
#: templates/appearance/generic_list_items_subtemplate.html:106
|
||||
msgid "Toggle Dropdown"
|
||||
msgstr ""
|
||||
@@ -259,22 +284,6 @@ msgstr ""
|
||||
msgid "Before you can fully use Mayan EDMS you need the following:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:50
|
||||
msgid "Search pages"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:52 templates/appearance/home.html:62
|
||||
msgid "Search"
|
||||
msgstr "البحث"
|
||||
|
||||
#: templates/appearance/home.html:53 templates/appearance/home.html:63
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/home.html:60
|
||||
msgid "Search documents"
|
||||
msgstr ""
|
||||
|
||||
#: templates/appearance/main_menu.html:10
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user