Swappable Behaviours¶
Plugin Permissions¶
PRIVATE_STORAGE_AUTH_FUNCTION = ‘private_storage.permissions.allow_superuser’ # default
Access Control / Permissions are determined by a Python module, that can be swapped out using a setting:
DOCUMENT_CATALOGUE_PERMISSIONS = 'document_catalogue.permissions' # default
Override by providing an ordinary Python module that defines the permission functions. See Permissions API
By default, these functions simply use django’s built-in permissions model:
document_catalogue.change_document
document_catalogue.add_document
document_catalogue.delete_document
To simply restrict access to logged in users only, use setting:
DOCUMENT_CATALOGUE_LOGIN_REQUIRED = True # default
Document List View Plugins¶
Inject custom behaviours into views that list documents using a simple plugin registered on the view.
Plugin API¶
Extend the Abstract Base Class and override method(s) to customize behaviours
See Plugins API
Inject your plugin(s) behaviours into document list views using a setting:
DOCUMENT_CATALOGUE_LIST_VIEW_PLUGINS = ('document_catalogue.plugins.SessionOrderedViewPlugin', ) # default
See Plugin Settings
Batteries Included¶
Document Catalogue comes with 2 plugins:
-
class
document_catalogue.plugins.OrderedViewPlugin(query_param='dc_ordering')[source] Applies ordering to view’s queryset based on URL query argument found in request.GET
-
class
document_catalogue.plugins.SessionOrderedViewPlugin(query_param='dc_ordering')[source] Applies ordering to view’s queryset based on ordering passed in URL query arg and stored in session