Ejemplo n.º 1
0
import os

from django.conf import settings
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .setting_migrations import DocumentSignaturesSettingMigration

namespace = SettingNamespace(
    label=_('Document signatures'),
    migration_class=DocumentSignaturesSettingMigration,
    name='signatures',
    version='0002')

setting_storage_backend = namespace.add_setting(
    default='django.core.files.storage.FileSystemStorage',
    global_name='SIGNATURES_STORAGE_BACKEND',
    help_text=_('Path to the Storage subclass to use when storing detached '
                'signatures.'))
setting_storage_backend_arguments = namespace.add_setting(
    global_name='SIGNATURES_STORAGE_BACKEND_ARGUMENTS',
    default={
        'location': os.path.join(settings.MEDIA_ROOT, 'document_signatures')
    },
    help_text=_('Arguments to pass to the SIGNATURE_STORAGE_BACKEND.'))
Ejemplo n.º 2
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (
    DEFAULT_OCR_AUTO_OCR, DEFAULT_OCR_BACKEND, DEFAULT_OCR_BACKEND_ARGUMENTS
)
from .setting_migrations import OCRSettingMigration

namespace = SettingNamespace(
    label=_('OCR'), migration_class=OCRSettingMigration, name='ocr',
    version='0003'
)

setting_auto_ocr = namespace.add_setting(
    default=DEFAULT_OCR_AUTO_OCR, global_name='OCR_AUTO_OCR', help_text=_(
        'Set new document types to perform OCR automatically by default.'
    )
)
setting_ocr_backend = namespace.add_setting(
    default=DEFAULT_OCR_BACKEND, global_name='OCR_BACKEND', help_text=_(
        'Full path to the backend to be used to do OCR.'
    )
)
setting_ocr_backend_arguments = namespace.add_setting(
    default=DEFAULT_OCR_BACKEND_ARGUMENTS,
    global_name='OCR_BACKEND_ARGUMENTS'
)
Ejemplo n.º 3
0
from django.conf import settings
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (
    DEFAULT_GRAPHVIZ_DOT_PATH, DEFAULT_WORKFLOW_IMAGE_CACHE_MAXIMUM_SIZE
)
from .setting_callbacks import callback_update_workflow_image_cache_size

namespace = SettingNamespace(label=_('Workflows'), name='document_states')

setting_graphviz_dot_path = namespace.add_setting(
    global_name='WORKFLOWS_GRAPHVIZ_DOT_PATH', default=DEFAULT_GRAPHVIZ_DOT_PATH,
    help_text=_(
        'File path to the graphviz dot program used to generate workflow previews.'
    ),
    is_path=True
)
setting_workflow_image_cache_maximum_size = namespace.add_setting(
    global_name='WORKFLOWS_IMAGE_CACHE_MAXIMUM_SIZE',
    default=DEFAULT_WORKFLOW_IMAGE_CACHE_MAXIMUM_SIZE,
    help_text=_(
        'The threshold at which the WORKFLOWS_IMAGE_CACHE_STORAGE_BACKEND will '
        'start deleting the oldest workflow image cache files. Specify the '
        'size in bytes.'
    ), post_edit_function=callback_update_workflow_image_cache_size
)
settings_workflow_image_cache_time = namespace.add_setting(
    global_name='WORKFLOWS_IMAGE_CACHE_TIME', default='31556926',
    help_text=_(
Ejemplo n.º 4
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (
    DEFAULT_LOCK_MANAGER_BACKEND, DEFAULT_LOCK_MANAGER_BACKEND_ARGUMENTS,
    DEFAULT_LOCK_MANAGER_DEFAULT_LOCK_TIMEOUT
)

namespace = SettingNamespace(label=_('Lock manager'), name='lock_manager')

setting_backend = namespace.add_setting(
    default=DEFAULT_LOCK_MANAGER_BACKEND, global_name='LOCK_MANAGER_BACKEND',
    help_text=_(
        'Path to the class to use when to request and release '
        'resource locks.'
    )
)
setting_backend_arguments = namespace.add_setting(
    default=DEFAULT_LOCK_MANAGER_BACKEND_ARGUMENTS,
    global_name='LOCK_MANAGER_BACKEND_ARGUMENTS', help_text=_(
        'Arguments to pass to the LOCK_MANAGER_BACKEND.'
    )
)
setting_default_lock_timeout = namespace.add_setting(
    default=DEFAULT_LOCK_MANAGER_DEFAULT_LOCK_TIMEOUT,
    global_name='LOCK_MANAGER_DEFAULT_LOCK_TIMEOUT', help_text=_(
        'Default amount of time in seconds after which a resource '
        'lock will be automatically released.'
    )
)
Ejemplo n.º 5
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (DEFAULT_MIRRORING_DOCUMENT_CACHE_LOOKUP_TIMEOUT,
                       DEFAULT_MIRRORING_NODE_CACHE_LOOKUP_TIMEOUT)

namespace = SettingNamespace(label=_('Mirroring'), name='mirroring')

setting_document_lookup_cache_timeout = namespace.add_setting(
    default=DEFAULT_MIRRORING_DOCUMENT_CACHE_LOOKUP_TIMEOUT,
    global_name='MIRRORING_DOCUMENT_CACHE_LOOKUP_TIMEOUT',
    help_text=_('Time in seconds to cache the path lookup to a document.'))
setting_node_lookup_cache_timeout = namespace.add_setting(
    default=DEFAULT_MIRRORING_NODE_CACHE_LOOKUP_TIMEOUT,
    global_name='MIRRORING_NODE_CACHE_LOOKUP_TIMEOUT',
    help_text=_('Time in seconds to cache the path lookup to an index node.'))
Ejemplo n.º 6
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (DEFAULT_LOGGING_ENABLE, DEFAULT_LOGGING_HANDLERS,
                       DEFAULT_LOGGING_LEVEL, DEFAULT_LOGGING_LOG_FILE_PATH,
                       LOGGING_HANDLER_OPTIONS)

namespace = SettingNamespace(label=_('Logging'), name='logging')

setting_logging_enable = namespace.add_setting(
    default=DEFAULT_LOGGING_ENABLE,
    global_name='LOGGING_ENABLE',
    help_text=_('Automatically enable logging to all apps.'))
setting_logging_handlers = namespace.add_setting(
    default=DEFAULT_LOGGING_HANDLERS,
    global_name='LOGGING_HANDLERS',
    help_text=_('List of handlers to which logging messages will be sent. '
                'Options are: {}'.format(', '.join(LOGGING_HANDLER_OPTIONS))))
setting_logging_level = namespace.add_setting(
    default=DEFAULT_LOGGING_LEVEL,
    global_name='LOGGING_LEVEL',
    help_text=_('Level for the logging system.'))
setting_logging_log_file_path = namespace.add_setting(
    default=DEFAULT_LOGGING_LOG_FILE_PATH,
    global_name='LOGGING_LOG_FILE_PATH',
    help_text=_(
        'Path to the logfile that will track errors during production.'),
    is_path=True)
Ejemplo n.º 7
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (DEFAULT_DOCUMENT_PARSING_AUTO_PARSING,
                       DEFAULT_DOCUMENT_PARSING_PDFTOTEXT_PATH)

namespace = SettingNamespace(label=_('Document parsing'),
                             name='document_parsing')

setting_auto_parsing = namespace.add_setting(
    default=DEFAULT_DOCUMENT_PARSING_AUTO_PARSING,
    global_name='DOCUMENT_PARSING_AUTO_PARSING',
    help_text=_(
        'Set new document types to perform parsing automatically by default.'))
setting_pdftotext_path = namespace.add_setting(
    default=DEFAULT_DOCUMENT_PARSING_PDFTOTEXT_PATH,
    global_name='DOCUMENT_PARSING_PDFTOTEXT_PATH',
    help_text=_(
        'File path to poppler\'s pdftotext program used to extract text '
        'from PDF files.'),
    is_path=True)
Ejemplo n.º 8
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .setting_migrations import OCRSettingMigration

namespace = SettingNamespace(label=_('OCR'),
                             migration_class=OCRSettingMigration,
                             name='ocr',
                             version='0003')

setting_ocr_backend = namespace.add_setting(
    global_name='OCR_BACKEND',
    default='mayan.apps.ocr.backends.tesseract.Tesseract',
    help_text=_('Full path to the backend to be used to do OCR.'))
setting_ocr_backend_arguments = namespace.add_setting(
    global_name='OCR_BACKEND_ARGUMENTS',
    default={'environment': {
        'OMP_THREAD_LIMIT': '1'
    }})
setting_auto_ocr = namespace.add_setting(
    global_name='OCR_AUTO_OCR',
    default=True,
    help_text=_(
        'Set new document types to perform OCR automatically by default.'))
Ejemplo n.º 9
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (DEFAULT_SIGNATURES_BACKEND, DEFAULT_DEFAULT_GPG_PATH,
                       DEFAULT_SIGNATURES_KEYSERVER)

namespace = SettingNamespace(label=_('Signatures'), name='django_gpg')

setting_gpg_backend = namespace.add_setting(
    default=DEFAULT_SIGNATURES_BACKEND,
    global_name='SIGNATURES_BACKEND',
    help_text=_(
        'Full path to the backend to be used to handle keys and signatures.'))
setting_gpg_backend_arguments = namespace.add_setting(
    default=DEFAULT_DEFAULT_GPG_PATH,
    global_name='SIGNATURES_BACKEND_ARGUMENTS',
)
setting_keyserver = namespace.add_setting(
    default=DEFAULT_SIGNATURES_KEYSERVER,
    global_name='SIGNATURES_KEYSERVER',
    help_text=_('Keyserver used to query for keys.'))
Ejemplo n.º 10
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import DEFAULT_EMAIL, DEFAULT_PASSWORD, DEFAULT_USERNAME

namespace = SettingNamespace(label=_('Auto administrator'), name='autoadmin')

setting_email = namespace.add_setting(
    global_name='AUTOADMIN_EMAIL', default=DEFAULT_EMAIL,
    help_text=_(
        'Sets the email of the automatically created super user account.'
    )
)
setting_password = namespace.add_setting(
    global_name='AUTOADMIN_PASSWORD', default=DEFAULT_PASSWORD,
    help_text=_(
        'The password of the automatically created super user account. '
        'If it is equal to None, the password is randomly generated.'
    )
)
setting_username = namespace.add_setting(
    global_name='AUTOADMIN_USERNAME', default=DEFAULT_USERNAME,
    help_text=_(
        'The username of the automatically created super user account.'
    )
)
Ejemplo n.º 11
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .parsers import MetadataParser
from .validators import MetadataValidator

namespace = SettingNamespace(label=_('Metadata'), name='metadata')

setting_available_validators = namespace.add_setting(
    global_name='METADATA_AVAILABLE_VALIDATORS',
    default=MetadataValidator.get_import_paths())
setting_available_parsers = namespace.add_setting(
    global_name='METADATA_AVAILABLE_PARSERS',
    default=MetadataParser.get_import_paths())
Ejemplo n.º 12
0
from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (DEFAULT_CONVERTER_ASSET_STORAGE_BACKEND,
                       DEFAULT_CONVERTER_ASSET_STORAGE_BACKEND_ARGUMENTS,
                       DEFAULT_CONVERTER_GRAPHICS_BACKEND,
                       DEFAULT_CONVERTER_GRAPHICS_BACKEND_ARGUMENTS)
from .setting_migrations import ConvertSettingMigration

namespace = SettingNamespace(label=_('Converter'),
                             migration_class=ConvertSettingMigration,
                             name='converter',
                             version='0002')

setting_graphics_backend = namespace.add_setting(
    default=DEFAULT_CONVERTER_GRAPHICS_BACKEND,
    global_name='CONVERTER_GRAPHICS_BACKEND',
    help_text=_('Graphics conversion backend to use.'))
setting_graphics_backend_arguments = namespace.add_setting(
    default=DEFAULT_CONVERTER_GRAPHICS_BACKEND_ARGUMENTS,
    global_name='CONVERTER_GRAPHICS_BACKEND_ARGUMENTS',
    help_text=_('Configuration options for the graphics conversion backend.'))
setting_storage_backend = namespace.add_setting(
    default=DEFAULT_CONVERTER_ASSET_STORAGE_BACKEND,
    global_name='CONVERTER_ASSET_STORAGE_BACKEND',
    help_text=_('Path to the Storage subclass to use when storing assets.'))
setting_storage_backend_arguments = namespace.add_setting(
    default=DEFAULT_CONVERTER_ASSET_STORAGE_BACKEND_ARGUMENTS,
    global_name='CONVERTER_ASSET_STORAGE_BACKEND_ARGUMENTS',
    help_text=_('Arguments to pass to the CONVERTER_ASSET_STORAGE_BACKEND.'))
Ejemplo n.º 13
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

namespace = SettingNamespace(label=_('REST API'),
                             name='rest_api',
                             version='0001')

setting_disable_links = namespace.add_setting(
    global_name='REST_API_DISABLE_LINKS',
    default=False,
    help_text=_('Disable the REST API links in the tools menu.'),
)
Ejemplo n.º 14
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import DEFAULT_GPG_PATH

namespace = SettingNamespace(label=_('Signatures'), name='django_gpg')


setting_gpg_backend = namespace.add_setting(
    global_name='SIGNATURES_BACKEND',
    default='mayan.apps.django_gpg.backends.python_gnupg.PythonGNUPGBackend',
    help_text=_(
        'Full path to the backend to be used to handle keys and signatures.'
    )
)
setting_gpg_backend_arguments = namespace.add_setting(
    global_name='SIGNATURES_BACKEND_ARGUMENTS',
    default={
        'gpg_path': DEFAULT_GPG_PATH,
    }
)
setting_keyserver = namespace.add_setting(
    global_name='SIGNATURES_KEYSERVER', default='pool.sks-keyservers.net',
    help_text=_('Keyserver used to query for keys.')
)
Ejemplo n.º 15
0
from mayan.apps.smart_settings.classes import SettingNamespace

# Don't import anything on start import, we just want to make it easy
# for apps.py to activate the settings in this module.
__all__ = ()
namespace = SettingNamespace(label=_('Django'), name='django')

setting_django_allowed_hosts = namespace.add_setting(
    global_name='ALLOWED_HOSTS',
    default=settings.ALLOWED_HOSTS,
    help_text=_(
        'A list of strings representing the host/domain names that this site '
        'can serve. This is a security measure to prevent HTTP Host header '
        'attacks, which are possible even under many seemingly-safe web '
        'server configurations. Values in this list can be '
        'fully qualified names (e.g. \'www.example.com\'), in which case '
        'they will be matched against the request\'s Host header exactly '
        '(case-insensitive, not including port). A value beginning with a '
        'period can be used as a subdomain wildcard: \'.example.com\' will '
        'match example.com, www.example.com, and any other subdomain of '
        'example.com. A value of \'*\' will match anything; in this case you '
        'are responsible to provide your own validation of the Host header '
        '(perhaps in a middleware; if so this middleware must be listed '
        'first in MIDDLEWARE).'),
)
setting_django_append_slash = namespace.add_setting(
    global_name='APPEND_SLASH',
    default=settings.APPEND_SLASH,
    help_text=_(
        'When set to True, if the request URL does not match any of the '
        'patterns in the URLconf and it doesn\'t end in a slash, an HTTP '
        'redirect is issued to the same URL with a slash appended. Note '
Ejemplo n.º 16
0
import os
import tempfile

from django.conf import settings
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

namespace = SettingNamespace(label=_('Storage'), name='storage')

setting_shared_storage = namespace.add_setting(
    global_name='STORAGE_SHARED_STORAGE',
    default='django.core.files.storage.FileSystemStorage',
    help_text=_('A storage backend that all workers can use to share files.'))
setting_shared_storage_arguments = namespace.add_setting(
    global_name='STORAGE_SHARED_STORAGE_ARGUMENTS',
    default={'location': os.path.join(settings.MEDIA_ROOT, 'shared_files')})
setting_temporary_directory = namespace.add_setting(
    global_name='STORAGE_TEMPORARY_DIRECTORY',
    default=tempfile.gettempdir(),
    help_text=_(
        'Temporary directory used site wide to store thumbnails, previews '
        'and temporary files.'))
Ejemplo n.º 17
0
from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (DEFAULT_LIBREOFFICE_PATH, DEFAULT_PDFTOPPM_DPI,
                       DEFAULT_PDFTOPPM_FORMAT, DEFAULT_PDFTOPPM_PATH,
                       DEFAULT_PDFINFO_PATH, DEFAULT_PILLOW_FORMAT,
                       DEFAULT_PILLOW_MAXIMUM_IMAGE_PIXELS)
from .setting_migrations import ConvertSettingMigration

namespace = SettingNamespace(label=_('Converter'),
                             migration_class=ConvertSettingMigration,
                             name='converter',
                             version='0002')

setting_graphics_backend = namespace.add_setting(
    default='mayan.apps.converter.backends.python.Python',
    help_text=_('Graphics conversion backend to use.'),
    global_name='CONVERTER_GRAPHICS_BACKEND',
)
setting_graphics_backend_arguments = namespace.add_setting(
    default={
        'libreoffice_path': DEFAULT_LIBREOFFICE_PATH,
        'pdftoppm_dpi': DEFAULT_PDFTOPPM_DPI,
        'pdftoppm_format': DEFAULT_PDFTOPPM_FORMAT,
        'pdftoppm_path': DEFAULT_PDFTOPPM_PATH,
        'pdfinfo_path': DEFAULT_PDFINFO_PATH,
        'pillow_format': DEFAULT_PILLOW_FORMAT,
        'pillow_maximum_image_pixels': DEFAULT_PILLOW_MAXIMUM_IMAGE_PIXELS,
    },
    help_text=_('Configuration options for the graphics conversion backend.'),
    global_name='CONVERTER_GRAPHICS_BACKEND_ARGUMENTS')
setting_storage_backend = namespace.add_setting(
Ejemplo n.º 18
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import DEFAULT_REST_API_DISABLE_LINKS

namespace = SettingNamespace(
    label=_('REST API'), name='rest_api', version='0001'
)

setting_disable_links = namespace.add_setting(
    default=DEFAULT_REST_API_DISABLE_LINKS,
    global_name='REST_API_DISABLE_LINKS', help_text=_(
        'Disable the REST API links in the tools menu.'
    )
)
Ejemplo n.º 19
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (DEFAULT_FILE_METADATA_AUTO_PROCESS,
                       DEFAULT_FILE_METADATA_DRIVERS_ARGUMENTS)
from .setting_migrations import FileMetadataSettingMigration

namespace = SettingNamespace(label=_('File metadata'),
                             migration_class=FileMetadataSettingMigration,
                             name='file_metadata',
                             version='0002')
setting_auto_process = namespace.add_setting(
    default=DEFAULT_FILE_METADATA_AUTO_PROCESS,
    global_name='FILE_METADATA_AUTO_PROCESS',
    help_text=_('Set new document types to perform file metadata processing '
                'automatically by default.'))
setting_drivers_arguments = namespace.add_setting(
    default=DEFAULT_FILE_METADATA_DRIVERS_ARGUMENTS,
    global_name='FILE_METADATA_DRIVERS_ARGUMENTS',
    help_text=_('Arguments to pass to the drivers.'))
Ejemplo n.º 20
0
from django.conf import settings
from django.utils.translation import ugettext_lazy as _

import mayan
from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import DEFAULT_COMMON_HOME_VIEW

namespace = SettingNamespace(
    label=_('Common'), name='common', version='0002'
)

settings_db_sync_task_delay = namespace.add_setting(
    global_name='COMMON_DB_SYNC_TASK_DELAY',
    default=2,
    help_text=_(
        'Time to delay background tasks that depend on a database commit to '
        'propagate.'
    )
)
setting_disabled_apps = namespace.add_setting(
    global_name='COMMON_DISABLED_APPS',
    default=settings.COMMON_DISABLED_APPS,
    help_text=_(
        'A list of strings designating all applications that are to be removed '
        'from the list normally installed by Mayan EDMS. Each string should be '
        'a dotted Python path to: an application configuration class (preferred), '
        'or a package containing an application.'
    ),
)
setting_extra_apps = namespace.add_setting(
    global_name='COMMON_EXTRA_APPS',
Ejemplo n.º 21
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (DEFAULT_METADATA_AVAILABLE_PARSERS,
                       DEFAULT_METADATA_AVAILABLE_VALIDATORS)

namespace = SettingNamespace(label=_('Metadata'), name='metadata')

setting_available_parsers = namespace.add_setting(
    default=DEFAULT_METADATA_AVAILABLE_PARSERS,
    global_name='METADATA_AVAILABLE_PARSERS')
setting_available_validators = namespace.add_setting(
    default=DEFAULT_METADATA_AVAILABLE_VALIDATORS,
    global_name='METADATA_AVAILABLE_VALIDATORS')
Ejemplo n.º 22
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (
    DEFAULT_SEARCH_BACKEND, DEFAULT_SEARCH_BACKEND_ARGUMENTS,
    DEFAULT_SEARCH_DISABLE_SIMPLE_SEARCH, DEFAULT_SEARCH_RESULTS_LIMIT
)

namespace = SettingNamespace(label=_('Search'), name='search')

setting_backend = namespace.add_setting(
    default=DEFAULT_SEARCH_BACKEND, global_name='SEARCH_BACKEND',
    help_text=_(
        'Full path to the backend to be used to handle the search.'
    )
)
setting_backend_arguments = namespace.add_setting(
    default=DEFAULT_SEARCH_BACKEND_ARGUMENTS,
    global_name='SEARCH_BACKEND_ARGUMENTS'
)
setting_disable_simple_search = namespace.add_setting(
    default=DEFAULT_SEARCH_DISABLE_SIMPLE_SEARCH,
    global_name='SEARCH_DISABLE_SIMPLE_SEARCH', help_text=_(
        'Disables the single term bar search leaving only the advanced '
        'search button.'
    )
)
setting_results_limit = namespace.add_setting(
    default=DEFAULT_SEARCH_RESULTS_LIMIT, global_name='SEARCH_RESULTS_LIMIT',
    help_text=_('Maximum number search results to fetch and display.')
Ejemplo n.º 23
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import DEFAULT_TASK_RETRY_DELAY

namespace = SettingNamespace(
    label=_('Document indexing'),
    name='document_indexing',
)

setting_task_retry = namespace.add_setting(
    default=DEFAULT_TASK_RETRY_DELAY,
    global_name='DOCUMENT_INDEXING_TASK_RETRY_DELAY',
    help_text=_(
        'Amount of time in seconds, a failed indexing task will wait before '
        'retrying. Lower values will increase the speed at which documents '
        'are indexed but will cause a higher count of failed/retried tasks '
        'in the queue.'))
Ejemplo n.º 24
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (
    DEFAULT_DOCUMENT_BODY_TEMPLATE, DEFAULT_DOCUMENT_SUBJECT_TEMPLATE,
    DEFAULT_LINK_BODY_TEMPLATE, DEFAULT_LINK_SUBJECT_TEMPLATE
)

namespace = SettingNamespace(label=_('Mailing'), name='mailer')

setting_document_subject_template = namespace.add_setting(
    default=DEFAULT_DOCUMENT_SUBJECT_TEMPLATE,
    help_text=_('Template for the document email form subject line.'),
    global_name='MAILER_DOCUMENT_SUBJECT_TEMPLATE'
)
setting_document_body_template = namespace.add_setting(
    default=DEFAULT_DOCUMENT_BODY_TEMPLATE,
    help_text=_('Template for the document email form body text. Can include HTML.'),
    global_name='MAILER_DOCUMENT_BODY_TEMPLATE'
)
setting_link_subject_template = namespace.add_setting(
    default=DEFAULT_LINK_SUBJECT_TEMPLATE,
    help_text=_('Template for the document link email form subject line.'),
    global_name='MAILER_LINK_SUBJECT_TEMPLATE'
)
setting_link_body_template = namespace.add_setting(
    default=DEFAULT_LINK_BODY_TEMPLATE,
    help_text=_('Template for the document link email form body text. Can include HTML.'),
    global_name='MAILER_LINK_BODY_TEMPLATE'
)
Ejemplo n.º 25
0
                       DEFAULT_DOCUMENTS_HASH_BLOCK_SIZE, DEFAULT_LANGUAGE,
                       DEFAULT_LANGUAGE_CODES,
                       DEFAULT_STUB_EXPIRATION_INTERVAL,
                       DEFAULT_TASK_GENERATE_DOCUMENT_PAGE_IMAGE_RETRY_DELAY)
from .setting_callbacks import callback_update_cache_size
from .setting_migrations import DocumentsSettingMigration

namespace = SettingNamespace(label=_('Documents'),
                             migration_class=DocumentsSettingMigration,
                             name='documents',
                             version='0002')

setting_document_cache_maximum_size = namespace.add_setting(
    global_name='DOCUMENTS_CACHE_MAXIMUM_SIZE',
    default=DEFAULT_DOCUMENTS_CACHE_MAXIMUM_SIZE,
    help_text=_(
        'The threshold at which the DOCUMENT_CACHE_STORAGE_BACKEND will start '
        'deleting the oldest document image cache files. Specify the size in '
        'bytes.'),
    post_edit_function=callback_update_cache_size)
setting_documentimagecache_storage = namespace.add_setting(
    global_name='DOCUMENTS_CACHE_STORAGE_BACKEND',
    default='django.core.files.storage.FileSystemStorage',
    help_text=_('Path to the Storage subclass to use when storing the cached '
                'document image files.'))
setting_documentimagecache_storage_arguments = namespace.add_setting(
    global_name='DOCUMENTS_CACHE_STORAGE_BACKEND_ARGUMENTS',
    default={'location': os.path.join(settings.MEDIA_ROOT, 'document_cache')},
    help_text=_('Arguments to pass to the DOCUMENT_CACHE_STORAGE_BACKEND.'),
)
setting_display_height = namespace.add_setting(
    global_name='DOCUMENTS_DISPLAY_HEIGHT', default='')
Ejemplo n.º 26
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (
    DEFAULT_SIGNATURES_STORAGE_BACKEND,
    DEFAULT_SIGNATURES_STORAGE_BACKEND_ARGUMENTS
)
from .setting_migrations import DocumentSignaturesSettingMigration

namespace = SettingNamespace(
    label=_('Document signatures'),
    migration_class=DocumentSignaturesSettingMigration, name='signatures',
    version='0002'
)

setting_storage_backend = namespace.add_setting(
    default=DEFAULT_SIGNATURES_STORAGE_BACKEND,
    global_name='SIGNATURES_STORAGE_BACKEND', help_text=_(
        'Path to the Storage subclass to use when storing detached '
        'signatures.'
    )
)
setting_storage_backend_arguments = namespace.add_setting(
    default=DEFAULT_SIGNATURES_STORAGE_BACKEND_ARGUMENTS,
    global_name='SIGNATURES_STORAGE_BACKEND_ARGUMENTS', help_text=_(
        'Arguments to pass to the SIGNATURE_STORAGE_BACKEND.'
    )
)
Ejemplo n.º 27
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import DEFAULT_LOGIN_METHOD, DEFAULT_MAXIMUM_SESSION_LENGTH

namespace = SettingNamespace(label=_('Authentication'), name='authentication')
setting_login_method = namespace.add_setting(
    global_name='AUTHENTICATION_LOGIN_METHOD',
    default=DEFAULT_LOGIN_METHOD,
    help_text=_(
        'Controls the mechanism used to authenticated user. Options are: '
        'username, email'))
setting_maximum_session_length = namespace.add_setting(
    global_name='AUTHENTICATION_MAXIMUM_SESSION_LENGTH',
    default=DEFAULT_MAXIMUM_SESSION_LENGTH,
    help_text=_('Maximum time a user clicking the "Remember me" checkbox will '
                'remain logged in. Value is time in seconds.'))
setting_disable_password_reset = namespace.add_setting(
    global_name='AUTHENTICATION_DISABLE_PASSWORD_RESET',
    default=False,
    help_text=_(
        'Remove the "Forgot your password?" link on the login form used to '
        'trigger the password reset.'))
Ejemplo n.º 28
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import DEFAULT_VIEWS_PAGINATE_BY

namespace = SettingNamespace(label=_('Views'), name='views')

setting_paginate_by = namespace.add_setting(
    default=DEFAULT_VIEWS_PAGINATE_BY, global_name='VIEWS_PAGINATE_BY',
    help_text=_(
        'The number objects that will be displayed per page.'
    )
)
Ejemplo n.º 29
0
from django.conf import settings
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .setting_migrations import SourcesSettingMigration

namespace = SettingNamespace(label=_('Sources'),
                             migration_class=SourcesSettingMigration,
                             name='sources',
                             version='0002')

setting_scanimage_path = namespace.add_setting(
    global_name='SOURCES_SCANIMAGE_PATH',
    default='/usr/bin/scanimage',
    help_text=_(
        'File path to the scanimage program used to control image scanners.'),
    is_path=True)
setting_staging_file_image_cache_storage = namespace.add_setting(
    global_name='SOURCES_STAGING_FILE_CACHE_STORAGE_BACKEND',
    default='django.core.files.storage.FileSystemStorage',
    help_text=_('Path to the Storage subclass to use when storing the cached '
                'staging_file image files.'))
setting_staging_file_image_cache_storage_arguments = namespace.add_setting(
    global_name='SOURCES_STAGING_FILE_CACHE_STORAGE_BACKEND_ARGUMENTS',
    default={
        'location': os.path.join(settings.MEDIA_ROOT, 'staging_file_cache')
    },
    help_text=_(
        'Arguments to pass to the SOURCES_STAGING_FILE_CACHE_STORAGE_BACKEND.')
)
Ejemplo n.º 30
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.smart_settings.classes import SettingNamespace

from .literals import (DEFAULT_STORAGE_SHARED_STORAGE,
                       DEFAULT_STORAGE_SHARED_STORAGE_ARGUMENTS,
                       DEFAULT_STORAGE_TEMPORARY_DIRECTORY)

namespace = SettingNamespace(label=_('Storage'), name='storage')

setting_shared_storage = namespace.add_setting(
    default=DEFAULT_STORAGE_SHARED_STORAGE,
    global_name='STORAGE_SHARED_STORAGE',
    help_text=_('A storage backend that all workers can use to share files.'))
setting_shared_storage_arguments = namespace.add_setting(
    default=DEFAULT_STORAGE_SHARED_STORAGE_ARGUMENTS,
    global_name='STORAGE_SHARED_STORAGE_ARGUMENTS')
setting_temporary_directory = namespace.add_setting(
    default=DEFAULT_STORAGE_TEMPORARY_DIRECTORY,
    global_name='STORAGE_TEMPORARY_DIRECTORY',
    help_text=_(
        'Temporary directory used site wide to store thumbnails, previews '
        'and temporary files.'))