Support passing arguments to the document, document cache and document signatures storage backends. New settings: DOCUMENTS_STORAGE_BACKEND_ARGUMENTS, DOCUMENTS_CACHE_STORAGE_BACKEND_ARGUMENTS, SIGNATURES_STORAGE_BACKEND_ARGUMENTS

Signed-off-by: Michael Price <loneviking72@gmail.com>
This commit is contained in:
Michael Price
2018-03-21 03:20:16 -04:00
parent fb2ba25f23
commit f9b7012389
5 changed files with 52 additions and 6 deletions

View File

@@ -114,7 +114,9 @@
revoke permissions for the selected role.
- Only show the new document link if the user has access to create documents of
at least one document type. GitLab Issue #302. Thanks to kg @kgraves.
- Remove the data filters feature.
- Support passing arguments to the document, document cache and document signatures
storage backends. New settings: DOCUMENTS_STORAGE_BACKEND_ARGUMENTS,
DOCUMENTS_CACHE_STORAGE_BACKEND_ARGUMENTS, SIGNATURES_STORAGE_BACKEND_ARGUMENTS
2.7.3 (2017-09-11)
==================

View File

@@ -1,5 +1,17 @@
from __future__ import unicode_literals
import yaml
from django.utils.module_loading import import_string
from .settings import setting_storage_backend
from .settings import (
setting_storage_backend, setting_storage_backend_arguments
)
storage_backend = import_string(setting_storage_backend.value)()
storage_backend = import_string(
dotted_path=setting_storage_backend.value
)(
**yaml.safe_load(
setting_storage_backend_arguments.value or '{}'
)
)

View File

@@ -9,3 +9,7 @@ setting_storage_backend = namespace.add_setting(
global_name='SIGNATURES_STORAGE_BACKEND',
default='storage.backends.filebasedstorage.FileBasedStorage'
)
setting_storage_backend_arguments = namespace.add_setting(
global_name='SIGNATURES_STORAGE_BACKEND_ARGUMENTS',
default=''
)

View File

@@ -1,6 +1,26 @@
from __future__ import unicode_literals
import yaml
from django.utils.module_loading import import_string
from .settings import setting_cache_storage_backend, setting_storage_backend
from .settings import (
setting_cache_storage_backend, setting_cache_storage_backend_arguments,
setting_storage_backend, setting_storage_backend_arguments
)
storage_backend = import_string(setting_storage_backend.value)()
cache_storage_backend = import_string(setting_cache_storage_backend.value)()
storage_backend = import_string(
dotted_path=setting_storage_backend.value
)(
**yaml.safe_load(
setting_storage_backend_arguments.value or '{}'
)
)
cache_storage_backend = import_string(
dotted_path=setting_cache_storage_backend.value
)(
**yaml.safe_load(
setting_cache_storage_backend_arguments.value or '{}'
)
)

View File

@@ -47,6 +47,10 @@ setting_storage_backend = namespace.add_setting(
global_name='DOCUMENTS_STORAGE_BACKEND',
default='storage.backends.filebasedstorage.FileBasedStorage'
)
setting_storage_backend_arguments = namespace.add_setting(
global_name='DOCUMENTS_STORAGE_BACKEND_ARGUMENTS',
default=''
)
setting_zoom_percent_step = namespace.add_setting(
global_name='DOCUMENTS_ZOOM_PERCENT_STEP', default=25,
help_text=_(
@@ -78,6 +82,10 @@ setting_cache_storage_backend = namespace.add_setting(
global_name='DOCUMENTS_CACHE_STORAGE_BACKEND',
default='documents.storage.LocalCacheFileStorage'
)
setting_cache_storage_backend_arguments = namespace.add_setting(
global_name='DOCUMENTS_CACHE_STORAGE_BACKEND_ARGUMENTS',
default=''
)
setting_language = namespace.add_setting(
global_name='DOCUMENTS_LANGUAGE', default='eng',
help_text=_('Default documents language (in ISO639-2 format).')