Move the document upload wizard to the sources app
This commit is contained in:
@@ -53,7 +53,6 @@ def is_current_version(context):
|
|||||||
|
|
||||||
document_list = {'text': _(u'all documents'), 'view': 'document_list', 'famfam': 'page'}
|
document_list = {'text': _(u'all documents'), 'view': 'document_list', 'famfam': 'page'}
|
||||||
document_list_recent = {'text': _(u'recent documents'), 'view': 'document_list_recent', 'famfam': 'page'}
|
document_list_recent = {'text': _(u'recent documents'), 'view': 'document_list_recent', 'famfam': 'page'}
|
||||||
document_create_multiple = {'text': _(u'upload new documents'), 'view': 'document_create_multiple', 'famfam': 'page_add', 'permissions': [PERMISSION_DOCUMENT_CREATE], 'children_view_regex': [r'upload_interactive']}
|
|
||||||
document_create_siblings = {'text': _(u'clone metadata'), 'view': 'document_create_siblings', 'args': 'object.id', 'famfam': 'page_copy', 'permissions': [PERMISSION_DOCUMENT_CREATE]}
|
document_create_siblings = {'text': _(u'clone metadata'), 'view': 'document_create_siblings', 'args': 'object.id', 'famfam': 'page_copy', 'permissions': [PERMISSION_DOCUMENT_CREATE]}
|
||||||
document_view_simple = {'text': _(u'details'), 'view': 'document_view_simple', 'args': 'object.id', 'famfam': 'page', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
|
document_view_simple = {'text': _(u'details'), 'view': 'document_view_simple', 'args': 'object.id', 'famfam': 'page', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
|
||||||
document_view_advanced = {'text': _(u'properties'), 'view': 'document_view_advanced', 'args': 'object.id', 'famfam': 'page_gear', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
|
document_view_advanced = {'text': _(u'properties'), 'view': 'document_view_advanced', 'args': 'object.id', 'famfam': 'page_gear', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
|
||||||
@@ -128,9 +127,9 @@ register_multi_item_links(['document_find_duplicates', 'folder_view', 'index_ins
|
|||||||
# Document Version links
|
# Document Version links
|
||||||
register_links(DocumentVersion, [document_version_revert, document_version_download])
|
register_links(DocumentVersion, [document_version_revert, document_version_download])
|
||||||
|
|
||||||
secondary_menu_links = [document_list_recent, document_list, document_create_multiple]
|
secondary_menu_links = [document_list_recent, document_list]
|
||||||
|
|
||||||
register_links(['document_list_recent', 'document_list', 'document_create', 'document_create_multiple', 'upload_interactive', 'staging_file_delete'], secondary_menu_links, menu_name='secondary_menu')
|
register_links(['document_list_recent', 'document_list', 'document_create_multiple', 'upload_interactive', 'staging_file_delete'], secondary_menu_links, menu_name='secondary_menu')
|
||||||
register_links(Document, secondary_menu_links, menu_name='secondary_menu')
|
register_links(Document, secondary_menu_links, menu_name='secondary_menu')
|
||||||
|
|
||||||
# Document page links
|
# Document page links
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ from .conf.settings import (PREVIEW_SIZE, PRINT_SIZE, THUMBNAIL_SIZE,
|
|||||||
urlpatterns = patterns('documents.views',
|
urlpatterns = patterns('documents.views',
|
||||||
url(r'^list/$', 'document_list', (), 'document_list'),
|
url(r'^list/$', 'document_list', (), 'document_list'),
|
||||||
url(r'^list/recent/$', 'document_list_recent', (), 'document_list_recent'),
|
url(r'^list/recent/$', 'document_list_recent', (), 'document_list_recent'),
|
||||||
url(r'^create/from/local/multiple/$', 'document_create', (), 'document_create_multiple'),
|
|
||||||
|
|
||||||
url(r'^(?P<document_id>\d+)/view/$', 'document_view', (), 'document_view_simple'),
|
url(r'^(?P<document_id>\d+)/view/$', 'document_view', (), 'document_view_simple'),
|
||||||
url(r'^(?P<document_id>\d+)/view/advanced/$', 'document_view', {'advanced': True}, 'document_view_advanced'),
|
url(r'^(?P<document_id>\d+)/view/advanced/$', 'document_view', {'advanced': True}, 'document_view_advanced'),
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ from converter.literals import DEFAULT_ZOOM_LEVEL, DEFAULT_ROTATION, \
|
|||||||
DEFAULT_PAGE_NUMBER, DEFAULT_FILE_FORMAT_MIMETYPE
|
DEFAULT_PAGE_NUMBER, DEFAULT_FILE_FORMAT_MIMETYPE
|
||||||
from converter.office_converter import OfficeConverter
|
from converter.office_converter import OfficeConverter
|
||||||
from filetransfers.api import serve_file
|
from filetransfers.api import serve_file
|
||||||
from metadata.forms import MetadataFormSet, MetadataSelectionForm
|
|
||||||
from navigation.utils import resolve_to_name
|
from navigation.utils import resolve_to_name
|
||||||
from permissions.models import Permission
|
from permissions.models import Permission
|
||||||
from document_indexing.api import update_indexes, delete_indexes
|
from document_indexing.api import update_indexes, delete_indexes
|
||||||
@@ -44,14 +43,12 @@ from .permissions import (PERMISSION_DOCUMENT_CREATE,
|
|||||||
PERMISSION_DOCUMENT_TYPE_EDIT, PERMISSION_DOCUMENT_TYPE_DELETE,
|
PERMISSION_DOCUMENT_TYPE_EDIT, PERMISSION_DOCUMENT_TYPE_DELETE,
|
||||||
PERMISSION_DOCUMENT_TYPE_CREATE, PERMISSION_DOCUMENT_TYPE_VIEW)
|
PERMISSION_DOCUMENT_TYPE_CREATE, PERMISSION_DOCUMENT_TYPE_VIEW)
|
||||||
from .events import history_document_edited
|
from .events import history_document_edited
|
||||||
from .forms import (DocumentTypeSelectForm,
|
from .forms import (DocumentForm_edit, DocumentPropertiesForm,
|
||||||
DocumentForm_edit, DocumentPropertiesForm,
|
|
||||||
DocumentPreviewForm, DocumentPageForm,
|
DocumentPreviewForm, DocumentPageForm,
|
||||||
DocumentPageTransformationForm, DocumentContentForm,
|
DocumentPageTransformationForm, DocumentContentForm,
|
||||||
DocumentPageForm_edit, DocumentPageForm_text, PrintForm,
|
DocumentPageForm_edit, DocumentPageForm_text, PrintForm,
|
||||||
DocumentTypeForm, DocumentTypeFilenameForm,
|
DocumentTypeForm, DocumentTypeFilenameForm,
|
||||||
DocumentTypeFilenameForm_create, DocumentDownloadForm)
|
DocumentTypeFilenameForm_create, DocumentDownloadForm)
|
||||||
from .wizards import DocumentCreateWizard
|
|
||||||
from .models import (Document, DocumentType, DocumentPage,
|
from .models import (Document, DocumentType, DocumentPage,
|
||||||
DocumentPageTransformation, RecentDocument, DocumentTypeFilename,
|
DocumentPageTransformation, RecentDocument, DocumentTypeFilename,
|
||||||
DocumentVersion)
|
DocumentVersion)
|
||||||
@@ -85,14 +82,6 @@ def document_list(request, object_list=None, title=None, extra_context=None):
|
|||||||
context_instance=RequestContext(request))
|
context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
|
||||||
def document_create(request):
|
|
||||||
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_CREATE])
|
|
||||||
|
|
||||||
wizard = DocumentCreateWizard(form_list=[DocumentTypeSelectForm, MetadataSelectionForm, MetadataFormSet])
|
|
||||||
|
|
||||||
return wizard(request)
|
|
||||||
|
|
||||||
|
|
||||||
def document_create_siblings(request, document_id):
|
def document_create_siblings(request, document_id):
|
||||||
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_CREATE])
|
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_CREATE])
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ from common.utils import encapsulate
|
|||||||
from project_setup.api import register_setup
|
from project_setup.api import register_setup
|
||||||
from documents.permissions import (PERMISSION_DOCUMENT_NEW_VERSION,
|
from documents.permissions import (PERMISSION_DOCUMENT_NEW_VERSION,
|
||||||
PERMISSION_DOCUMENT_CREATE)
|
PERMISSION_DOCUMENT_CREATE)
|
||||||
|
from documents.models import Document
|
||||||
|
|
||||||
from .staging import StagingFile
|
from .staging import StagingFile
|
||||||
from .models import (WebForm, StagingFolder, SourceTransformation,
|
from .models import (WebForm, StagingFolder, SourceTransformation,
|
||||||
@@ -17,6 +18,8 @@ from .permissions import (PERMISSION_SOURCES_SETUP_VIEW,
|
|||||||
PERMISSION_SOURCES_SETUP_EDIT, PERMISSION_SOURCES_SETUP_DELETE,
|
PERMISSION_SOURCES_SETUP_EDIT, PERMISSION_SOURCES_SETUP_DELETE,
|
||||||
PERMISSION_SOURCES_SETUP_CREATE)
|
PERMISSION_SOURCES_SETUP_CREATE)
|
||||||
|
|
||||||
|
document_create_multiple = {'text': _(u'upload new documents'), 'view': 'document_create_multiple', 'famfam': 'page_add', 'permissions': [PERMISSION_DOCUMENT_CREATE], 'children_view_regex': [r'upload_interactive']}
|
||||||
|
|
||||||
staging_file_preview = {'text': _(u'preview'), 'class': 'fancybox-noscaling', 'view': 'staging_file_preview', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'zoom', 'permissions': [PERMISSION_DOCUMENT_NEW_VERSION, PERMISSION_DOCUMENT_CREATE]}
|
staging_file_preview = {'text': _(u'preview'), 'class': 'fancybox-noscaling', 'view': 'staging_file_preview', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'zoom', 'permissions': [PERMISSION_DOCUMENT_NEW_VERSION, PERMISSION_DOCUMENT_CREATE]}
|
||||||
staging_file_delete = {'text': _(u'delete'), 'view': 'staging_file_delete', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'delete', 'keep_query': True, 'permissions': [PERMISSION_DOCUMENT_NEW_VERSION, PERMISSION_DOCUMENT_CREATE]}
|
staging_file_delete = {'text': _(u'delete'), 'view': 'staging_file_delete', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'delete', 'keep_query': True, 'permissions': [PERMISSION_DOCUMENT_NEW_VERSION, PERMISSION_DOCUMENT_CREATE]}
|
||||||
|
|
||||||
@@ -72,3 +75,5 @@ register_model_list_columns(StagingFile, [
|
|||||||
])
|
])
|
||||||
|
|
||||||
register_setup(setup_sources)
|
register_setup(setup_sources)
|
||||||
|
register_links(['document_list_recent', 'document_list', 'document_create', 'document_create_multiple', 'upload_interactive', 'staging_file_delete'], [document_create_multiple], menu_name='secondary_menu')
|
||||||
|
register_links(Document, [document_create_multiple], menu_name='secondary_menu')
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ from .literals import (SOURCE_CHOICE_WEB_FORM, SOURCE_CHOICE_STAGING,
|
|||||||
SOURCE_CHOICE_WATCH)
|
SOURCE_CHOICE_WATCH)
|
||||||
|
|
||||||
urlpatterns = patterns('sources.views',
|
urlpatterns = patterns('sources.views',
|
||||||
|
url(r'^create/from/local/multiple/$', 'document_create', (), 'document_create_multiple'),
|
||||||
|
|
||||||
url(r'^staging_file/type/(?P<source_type>\w+)/(?P<source_id>\d+)/(?P<staging_file_id>\w+)/preview/$', 'staging_file_preview', (), 'staging_file_preview'),
|
url(r'^staging_file/type/(?P<source_type>\w+)/(?P<source_id>\d+)/(?P<staging_file_id>\w+)/preview/$', 'staging_file_preview', (), 'staging_file_preview'),
|
||||||
url(r'^staging_file/type/(?P<source_type>\w+)/(?P<source_id>\d+)/(?P<staging_file_id>\w+)/delete/$', 'staging_file_delete', (), 'staging_file_delete'),
|
url(r'^staging_file/type/(?P<source_type>\w+)/(?P<source_id>\d+)/(?P<staging_file_id>\w+)/delete/$', 'staging_file_delete', (), 'staging_file_delete'),
|
||||||
url(r'^staging_file/type/staging_folder/(?P<source_id>\d+)/(?P<staging_file_id>\w+)/thumbnail/$', 'staging_file_thumbnail', (), 'staging_file_thumbnail'),
|
url(r'^staging_file/type/staging_folder/(?P<source_id>\d+)/(?P<staging_file_id>\w+)/thumbnail/$', 'staging_file_thumbnail', (), 'staging_file_thumbnail'),
|
||||||
|
|||||||
@@ -16,26 +16,29 @@ from documents.permissions import (PERMISSION_DOCUMENT_CREATE,
|
|||||||
from documents.models import DocumentType, Document
|
from documents.models import DocumentType, Document
|
||||||
from documents.conf.settings import THUMBNAIL_SIZE
|
from documents.conf.settings import THUMBNAIL_SIZE
|
||||||
from documents.exceptions import NewDocumentVersionNotAllowed
|
from documents.exceptions import NewDocumentVersionNotAllowed
|
||||||
|
from documents.forms import DocumentTypeSelectForm
|
||||||
|
from metadata.forms import MetadataFormSet, MetadataSelectionForm
|
||||||
from metadata.api import decode_metadata_from_url, metadata_repr_as_list
|
from metadata.api import decode_metadata_from_url, metadata_repr_as_list
|
||||||
from permissions.models import Permission
|
from permissions.models import Permission
|
||||||
from common.utils import encapsulate
|
from common.utils import encapsulate
|
||||||
import sendfile
|
import sendfile
|
||||||
from acls.models import AccessEntry
|
from acls.models import AccessEntry
|
||||||
|
|
||||||
from sources.models import (WebForm, StagingFolder, SourceTransformation,
|
from .models import (WebForm, StagingFolder, SourceTransformation,
|
||||||
WatchFolder)
|
WatchFolder)
|
||||||
from sources.literals import (SOURCE_CHOICE_WEB_FORM, SOURCE_CHOICE_STAGING,
|
from .literals import (SOURCE_CHOICE_WEB_FORM, SOURCE_CHOICE_STAGING,
|
||||||
SOURCE_CHOICE_WATCH)
|
SOURCE_CHOICE_WATCH)
|
||||||
from sources.literals import (SOURCE_UNCOMPRESS_CHOICE_Y,
|
from .literals import (SOURCE_UNCOMPRESS_CHOICE_Y,
|
||||||
SOURCE_UNCOMPRESS_CHOICE_ASK)
|
SOURCE_UNCOMPRESS_CHOICE_ASK)
|
||||||
from sources.staging import create_staging_file_class
|
from sources.staging import create_staging_file_class
|
||||||
from sources.forms import (StagingDocumentForm, WebFormForm,
|
from .forms import (StagingDocumentForm, WebFormForm,
|
||||||
WatchFolderSetupForm)
|
WatchFolderSetupForm)
|
||||||
from sources.forms import WebFormSetupForm, StagingFolderSetupForm
|
from .forms import WebFormSetupForm, StagingFolderSetupForm
|
||||||
from sources.forms import SourceTransformationForm, SourceTransformationForm_create
|
from .forms import SourceTransformationForm, SourceTransformationForm_create
|
||||||
from .permissions import (PERMISSION_SOURCES_SETUP_VIEW,
|
from .permissions import (PERMISSION_SOURCES_SETUP_VIEW,
|
||||||
PERMISSION_SOURCES_SETUP_EDIT, PERMISSION_SOURCES_SETUP_DELETE,
|
PERMISSION_SOURCES_SETUP_EDIT, PERMISSION_SOURCES_SETUP_DELETE,
|
||||||
PERMISSION_SOURCES_SETUP_CREATE)
|
PERMISSION_SOURCES_SETUP_CREATE)
|
||||||
|
from .wizards import DocumentCreateWizard
|
||||||
|
|
||||||
|
|
||||||
def return_function(obj):
|
def return_function(obj):
|
||||||
@@ -706,3 +709,11 @@ def setup_source_transformation_create(request, source_type, source_id):
|
|||||||
'navigation_object_name': 'source',
|
'navigation_object_name': 'source',
|
||||||
'title': _(u'Create new transformation for source: %s') % source,
|
'title': _(u'Create new transformation for source: %s') % source,
|
||||||
}, context_instance=RequestContext(request))
|
}, context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
|
||||||
|
def document_create(request):
|
||||||
|
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_CREATE])
|
||||||
|
|
||||||
|
wizard = DocumentCreateWizard(form_list=[DocumentTypeSelectForm, MetadataSelectionForm, MetadataFormSet])
|
||||||
|
|
||||||
|
return wizard(request)
|
||||||
|
|||||||
@@ -6,10 +6,8 @@ from django.http import HttpResponseRedirect
|
|||||||
from django.utils.http import urlencode
|
from django.utils.http import urlencode
|
||||||
|
|
||||||
from common.wizard import BoundFormWizard
|
from common.wizard import BoundFormWizard
|
||||||
|
|
||||||
from metadata.forms import MetadataSelectionForm, MetadataFormSet
|
from metadata.forms import MetadataSelectionForm, MetadataFormSet
|
||||||
|
from documents.forms import DocumentTypeSelectForm
|
||||||
from .forms import DocumentTypeSelectForm
|
|
||||||
|
|
||||||
|
|
||||||
class DocumentCreateWizard(BoundFormWizard):
|
class DocumentCreateWizard(BoundFormWizard):
|
||||||
Reference in New Issue
Block a user