From f4fa7e327de8681f545eb7a1987267fc4cd4e049 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 20 Apr 2011 22:38:26 -0400 Subject: [PATCH] Separated document page detail view into document text and document image views --- apps/documents/__init__.py | 5 +++-- apps/documents/forms.py | 19 ++++++++++++------- apps/documents/urls.py | 1 + apps/documents/views.py | 22 +++++++++++++++++++++- 4 files changed, 37 insertions(+), 10 deletions(-) diff --git a/apps/documents/__init__.py b/apps/documents/__init__.py index 6bb3833f4f..789aaf305d 100644 --- a/apps/documents/__init__.py +++ b/apps/documents/__init__.py @@ -63,7 +63,8 @@ document_page_transformation_page_view = {'text': _('page details'), 'view': 'do document_page_transformation_page_edit = {'text': _('edit page'), 'view': 'document_page_edit', 'args': 'object.document_page.id', 'famfam': 'page_white', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_EDIT]}} document_page_transformation_page_transformation_list = {'text': _('page transformations'), 'view': 'document_page_transformation_list', 'args': 'object.document_page.id', 'famfam': 'pencil_go', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_TRANSFORM]}} -document_page_view = {'text': _('page details'), 'view': 'document_page_view', 'args': 'object.id', 'famfam': 'page_white', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} +document_page_view = {'text': _('page image'), 'view': 'document_page_view', 'args': 'object.id', 'famfam': 'page_white', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} +document_page_text = {'text': _('page text'), 'view': 'document_page_text', 'args': 'object.id', 'famfam': 'page_white', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} document_page_edit = {'text': _('edit page'), 'view': 'document_page_edit', 'args': 'object.id', 'famfam': 'page_white', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_EDIT]}} document_page_navigation_next = {'text': _('next page'), 'view': 'document_page_navigation_next', 'args': 'object.id', 'famfam': 'resultset_next', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} document_page_navigation_previous = {'text': _('previous page'), 'view': 'document_page_navigation_previous', 'args': 'object.id', 'famfam': 'resultset_previous', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} @@ -82,7 +83,7 @@ if ENABLE_SINGLE_DOCUMENT_UPLOAD: else: register_links(['document_list_recent', 'document_list', 'document_create', 'document_create_multiple', 'upload_document_with_type', 'upload_multiple_documents_with_type'], [document_list_recent, document_list, document_create_multiple], menu_name='sidebar') -register_links(DocumentPage, [document_page_transformation_list, document_page_edit, document_page_view, document_page_navigation_previous, document_page_navigation_next]) +register_links(DocumentPage, [document_page_transformation_list, document_page_view, document_page_text, document_page_edit, document_page_navigation_previous, document_page_navigation_next]) register_links(DocumentPageTransformation, [document_page_transformation_edit, document_page_transformation_delete]) register_links(DocumentPageTransformation, [document_page_transformation_page_edit, document_page_transformation_page_view], menu_name='sidebar') diff --git a/apps/documents/forms.py b/apps/documents/forms.py index be2c41b3db..e4b0d4374b 100644 --- a/apps/documents/forms.py +++ b/apps/documents/forms.py @@ -44,20 +44,25 @@ class DocumentPageImageWidget(forms.widgets.Widget): class DocumentPageForm(DetailForm): class Meta: model = DocumentPage - exclude = ('document_type') + exclude = ('document', 'document_type', 'page_label', 'content') def __init__(self, *args, **kwargs): super(DocumentPageForm, self).__init__(*args, **kwargs) self.fields['page_image'].initial = self.instance - self.fields.keyOrder = [ - 'page_image', - 'page_label', - 'content', - ] - page_image = forms.CharField(widget=DocumentPageImageWidget()) + page_image = forms.CharField(widget=DocumentPageImageWidget(attrs={'height': '100px'})) +class DocumentPageForm_text(DetailForm): + class Meta: + model = DocumentPage + fields = ('page_label', 'content') + + content = forms.CharField( + label=_(u'Contents'), + widget=forms.widgets.Textarea(attrs={'rows': 18, 'cols': 80, 'readonly': 'readonly'})) + + class DocumentPageForm_edit(forms.ModelForm): class Meta: model = DocumentPage diff --git a/apps/documents/urls.py b/apps/documents/urls.py index 9291ed97fb..454811f4dc 100644 --- a/apps/documents/urls.py +++ b/apps/documents/urls.py @@ -42,6 +42,7 @@ urlpatterns = patterns('documents.views', url(r'^staging_file/(?P\w+)/delete/$', 'staging_file_delete', (), 'staging_file_delete'), url(r'^document/page/(?P\d+)/$', 'document_page_view', (), 'document_page_view'), + url(r'^document/page/(?P\d+)/text/$', 'document_page_text', (), 'document_page_text'), url(r'^document/page/(?P\d+)/edit/$', 'document_page_edit', (), 'document_page_edit'), url(r'^document/page/(?P\d+)/navigation/next/$', 'document_page_navigation_next', (), 'document_page_navigation_next'), url(r'^document/page/(?P\d+)/navigation/previous/$', 'document_page_navigation_previous', (), 'document_page_navigation_previous'), diff --git a/apps/documents/views.py b/apps/documents/views.py index 34dc44fdee..0a8c4a31e5 100644 --- a/apps/documents/views.py +++ b/apps/documents/views.py @@ -48,7 +48,8 @@ from forms import DocumentTypeSelectForm, DocumentCreateWizard, \ MetadataForm, DocumentForm, DocumentForm_edit, DocumentForm_view, \ StagingDocumentForm, DocumentTypeMetadataType, DocumentPreviewForm, \ MetadataFormSet, DocumentPageForm, DocumentPageTransformationForm, \ - DocumentContentForm, DocumentPageForm_edit, MetaDataGroupForm + DocumentContentForm, DocumentPageForm_edit, MetaDataGroupForm, \ + DocumentPageForm_text from metadata import save_metadata_list, \ decode_metadata_from_url, metadata_repr_as_list @@ -905,6 +906,25 @@ def document_page_view(request, document_page_id): 'web_theme_hide_menus': True, }, context_instance=RequestContext(request)) + +def document_page_text(request, document_page_id): + check_permissions(request.user, 'documents', [PERMISSION_DOCUMENT_VIEW]) + + document_page = get_object_or_404(DocumentPage, pk=document_page_id) + document_page_form = DocumentPageForm_text(instance=document_page) + + form_list = [ + { + 'form': document_page_form, + 'title': _(u'details for: %s') % document_page, + }, + ] + return render_to_response('generic_detail.html', { + 'form_list': form_list, + 'object': document_page, + 'web_theme_hide_menus': True, + }, context_instance=RequestContext(request)) + def document_page_edit(request, document_page_id): check_permissions(request.user, 'documents', [PERMISSION_DOCUMENT_EDIT])