Remove the setting STORAGE_FILESTORAGE_LOCATION. Document storage location for the storage.backend.filebasedstorage.FileBasedStorage backdend must now passed via the DOCUMENTS_STORAGE_BACKEND_ARGUMENTS, DOCUMENTS_CACHE_STORAGE_BACKEND_ARGUMENTS, or SIGNATURES_STORAGE_BACKEND_ARGUMENTS if the backend is used to documents, the document image cache and/or document signatures. Use DOCUMENTS_STORAGE_BACKEND_ARGUMENTS = '{ location: <specific_path> }' If no path is specified the backend will default to 'mayan/media/document_storage'.

Signed-off-by: Michael Price <loneviking72@gmail.com>
This commit is contained in:
Michael Price
2018-03-21 03:32:35 -04:00
parent f9b7012389
commit 1076d5f1ff
5 changed files with 22 additions and 19 deletions

View File

@@ -117,6 +117,19 @@
- 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
- 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
- Remove the setting STORAGE_FILESTORAGE_LOCATION. Document storage
location for the storage.backend.filebasedstorage.FileBasedStorage
backdend must now passed via the DOCUMENTS_STORAGE_BACKEND_ARGUMENTS,
DOCUMENTS_CACHE_STORAGE_BACKEND_ARGUMENTS, or
SIGNATURES_STORAGE_BACKEND_ARGUMENTS if the backend is used to documents,
the document image cache and/or document signatures. Use
DOCUMENTS_STORAGE_BACKEND_ARGUMENTS = '{ location: <specific_path> }'
If no path is specified the backend will default to
'mayan/media/document_storage'.
2.7.3 (2017-09-11)
==================

View File

@@ -17,8 +17,6 @@ except ImportError:
from django.core.files import File
from django.core.files.storage import FileSystemStorage
from ..settings import FILESTORAGE_LOCATION
class CompressedStorage(FileSystemStorage):
"""Simple wrapper for the stock Django FileSystemStorage class"""
@@ -26,8 +24,8 @@ class CompressedStorage(FileSystemStorage):
separator = os.path.sep
def __init__(self, *args, **kwargs):
self.location = kwargs.pop('location')
super(CompressedStorage, self).__init__(*args, **kwargs)
self.location = FILESTORAGE_LOCATION
def save(self, name, content):
descriptor = StringIO()

View File

@@ -3,8 +3,9 @@ from __future__ import unicode_literals
import os
from django.core.files.storage import FileSystemStorage
from django.conf import settings
from ..settings import setting_filestorage_location
from .literals import DEFAULT_PATH
class FileBasedStorage(FileSystemStorage):
@@ -13,5 +14,7 @@ class FileBasedStorage(FileSystemStorage):
separator = os.path.sep
def __init__(self, *args, **kwargs):
self.location = kwargs.pop(
'location', os.path.join(settings.MEDIA_ROOT, DEFAULT_PATH)
)
super(FileBasedStorage, self).__init__(*args, **kwargs)
self.location = setting_filestorage_location.value

View File

@@ -0,0 +1,3 @@
from __future__ import unicode_literals
DEFAULT_PATH = 'document_storage'

View File

@@ -1,14 +0,0 @@
from __future__ import unicode_literals
import os
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
from smart_settings import Namespace
namespace = Namespace(name='storage', label=_('Storage'))
setting_filestorage_location = namespace.add_setting(
global_name='STORAGE_FILESTORAGE_LOCATION',
default=os.path.join(settings.MEDIA_ROOT, 'document_storage'), is_path=True
)