Move the document upload wizard to the sources app

This commit is contained in:
Roberto Rosario
2012-07-26 05:30:39 -04:00
parent ac65a6db76
commit e2e7e4bb49
7 changed files with 28 additions and 25 deletions

View File

@@ -53,7 +53,6 @@ def is_current_version(context):
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_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_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]}
@@ -128,9 +127,9 @@ register_multi_item_links(['document_find_duplicates', 'folder_view', 'index_ins
# Document Version links
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')
# Document page links

View File

@@ -8,7 +8,6 @@ from .conf.settings import (PREVIEW_SIZE, PRINT_SIZE, THUMBNAIL_SIZE,
urlpatterns = patterns('documents.views',
url(r'^list/$', 'document_list', (), 'document_list'),
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/advanced/$', 'document_view', {'advanced': True}, 'document_view_advanced'),

View File

@@ -26,7 +26,6 @@ from converter.literals import DEFAULT_ZOOM_LEVEL, DEFAULT_ROTATION, \
DEFAULT_PAGE_NUMBER, DEFAULT_FILE_FORMAT_MIMETYPE
from converter.office_converter import OfficeConverter
from filetransfers.api import serve_file
from metadata.forms import MetadataFormSet, MetadataSelectionForm
from navigation.utils import resolve_to_name
from permissions.models import Permission
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_CREATE, PERMISSION_DOCUMENT_TYPE_VIEW)
from .events import history_document_edited
from .forms import (DocumentTypeSelectForm,
DocumentForm_edit, DocumentPropertiesForm,
from .forms import (DocumentForm_edit, DocumentPropertiesForm,
DocumentPreviewForm, DocumentPageForm,
DocumentPageTransformationForm, DocumentContentForm,
DocumentPageForm_edit, DocumentPageForm_text, PrintForm,
DocumentTypeForm, DocumentTypeFilenameForm,
DocumentTypeFilenameForm_create, DocumentDownloadForm)
from .wizards import DocumentCreateWizard
from .models import (Document, DocumentType, DocumentPage,
DocumentPageTransformation, RecentDocument, DocumentTypeFilename,
DocumentVersion)
@@ -85,14 +82,6 @@ def document_list(request, object_list=None, title=None, extra_context=None):
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):
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_CREATE])

View File

@@ -8,6 +8,7 @@ from common.utils import encapsulate
from project_setup.api import register_setup
from documents.permissions import (PERMISSION_DOCUMENT_NEW_VERSION,
PERMISSION_DOCUMENT_CREATE)
from documents.models import Document
from .staging import StagingFile
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_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_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_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')

View File

@@ -6,6 +6,8 @@ from .literals import (SOURCE_CHOICE_WEB_FORM, SOURCE_CHOICE_STAGING,
SOURCE_CHOICE_WATCH)
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+)/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'),

View File

@@ -16,26 +16,29 @@ from documents.permissions import (PERMISSION_DOCUMENT_CREATE,
from documents.models import DocumentType, Document
from documents.conf.settings import THUMBNAIL_SIZE
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 permissions.models import Permission
from common.utils import encapsulate
import sendfile
from acls.models import AccessEntry
from sources.models import (WebForm, StagingFolder, SourceTransformation,
from .models import (WebForm, StagingFolder, SourceTransformation,
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)
from sources.literals import (SOURCE_UNCOMPRESS_CHOICE_Y,
from .literals import (SOURCE_UNCOMPRESS_CHOICE_Y,
SOURCE_UNCOMPRESS_CHOICE_ASK)
from sources.staging import create_staging_file_class
from sources.forms import (StagingDocumentForm, WebFormForm,
from .forms import (StagingDocumentForm, WebFormForm,
WatchFolderSetupForm)
from sources.forms import WebFormSetupForm, StagingFolderSetupForm
from sources.forms import SourceTransformationForm, SourceTransformationForm_create
from .forms import WebFormSetupForm, StagingFolderSetupForm
from .forms import SourceTransformationForm, SourceTransformationForm_create
from .permissions import (PERMISSION_SOURCES_SETUP_VIEW,
PERMISSION_SOURCES_SETUP_EDIT, PERMISSION_SOURCES_SETUP_DELETE,
PERMISSION_SOURCES_SETUP_CREATE)
from .wizards import DocumentCreateWizard
def return_function(obj):
@@ -706,3 +709,11 @@ def setup_source_transformation_create(request, source_type, source_id):
'navigation_object_name': 'source',
'title': _(u'Create new transformation for source: %s') % source,
}, 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)

View File

@@ -6,10 +6,8 @@ from django.http import HttpResponseRedirect
from django.utils.http import urlencode
from common.wizard import BoundFormWizard
from metadata.forms import MetadataSelectionForm, MetadataFormSet
from .forms import DocumentTypeSelectForm
from documents.forms import DocumentTypeSelectForm
class DocumentCreateWizard(BoundFormWizard):