diff --git a/apps/documents/__init__.py b/apps/documents/__init__.py index e9c4adfc65..184a584bc3 100644 --- a/apps/documents/__init__.py +++ b/apps/documents/__init__.py @@ -52,12 +52,13 @@ document_find_all_duplicates = {'text': _('find all duplicates'), 'view': 'docum document_clear_transformations = {'text': _('clear all transformations'), 'view': 'document_clear_transformations', 'args': 'object.id', 'famfam': 'page_paintbrush', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_TRANSFORM]}} document_multiple_clear_transformations = {'text': _('clear all transformations'), 'view': 'document_multiple_clear_transformations', 'famfam': 'page_paintbrush', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_TRANSFORM]}} +document_page_transformation_list = {'text': _('page transformations'), 'view': 'document_page_transformation_list', 'args': 'object.id', 'famfam': 'pencil_go', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_TRANSFORM]}} document_page_transformation_create = {'text': _('create new transformation'), 'view': 'document_page_transformation_create', 'args': 'object.id', 'famfam': 'pencil_add', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_TRANSFORM]}} document_page_transformation_edit = {'text': _('edit'), 'view': 'document_page_transformation_edit', 'args': 'object.id', 'famfam': 'pencil_go', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_TRANSFORM]}} document_page_transformation_delete = {'text': _('delete'), 'view': 'document_page_transformation_delete', 'args': 'object.id', 'famfam': 'pencil_delete', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_TRANSFORM]}} -document_page_transformation_go_back = {'text': _('return to document'), 'view': 'document_view', 'args': 'object.document_page.document.id', 'famfam': 'page_go', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} +document_page_transformation_go_back = {'text': _('page view'), 'view': 'document_page_view', 'args': 'object.document_page.id', 'famfam': 'page_white', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} -document_page_go_back = {'text': _('return to document'), 'view': 'document_view', 'args': 'object.document.id', 'famfam': 'page_go', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} +document_page_go_back = {'text': _('page view'), 'view': 'document_page_view', 'args': 'object.id', 'famfam': 'page_white', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} document_missing_list = {'text': _('Find missing document files'), 'view': 'document_missing_list', 'famfam': 'folder_page', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} @@ -74,10 +75,12 @@ else: register_links(['document_list', 'document_create', 'document_create_multiple', 'upload_document_with_type', 'upload_multiple_documents_with_type'], [document_list, document_create_multiple], menu_name='sidebar') register_links(DocumentPage, [document_page_go_back], menu_name='sidebar') +register_links('document_page_transformation_list', [document_page_transformation_create, document_page_transformation_list], menu_name='sidebar') +register_links('document_page_transformation_create', [document_page_transformation_create], menu_name='sidebar') register_links(DocumentPageTransformation, [document_page_transformation_edit, document_page_transformation_delete]) register_links(DocumentPageTransformation, [document_page_transformation_go_back], menu_name='sidebar') -register_links(['document_page_view', 'document_page_transformation_edit', 'document_page_transformation_delete', 'document_page_transformation_create'], [document_page_transformation_create], menu_name='sidebar') +register_links(['document_page_view', 'document_page_transformation_edit', 'document_page_transformation_delete', 'document_page_transformation_create'], [document_page_transformation_list], menu_name='sidebar') register_links(StagingFile, [staging_file_preview, staging_file_delete]) diff --git a/apps/documents/forms.py b/apps/documents/forms.py index 87437e9172..1b9971ae74 100644 --- a/apps/documents/forms.py +++ b/apps/documents/forms.py @@ -31,9 +31,8 @@ class DocumentPageTransformationForm(forms.ModelForm): class DocumentPageImageWidget(forms.widgets.Widget): def render(self, name, value, attrs=None): output = [] - output.append('' % { - 'img': reverse('document_preview_transformation', - args=[value.document.id]), + output.append('
' % { + 'img': reverse('document_display', args=[value.document.id]), 'page': value.page_number, }) return mark_safe(u''.join(output)) @@ -42,10 +41,16 @@ class DocumentPageImageWidget(forms.widgets.Widget): class DocumentPageForm(DetailForm): class Meta: model = DocumentPage + exclude = ('document_type') 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()) @@ -54,33 +59,21 @@ class ImageWidget(forms.widgets.Widget): def render(self, name, value, attrs=None): output = [] page_count = value.documentpage_set.count() - if page_count > 1: + output.append( + '
%s
' % + ugettext(u'Pages')) + for page in value.documentpage_set.all(): output.append( - '
%s
' % - ugettext(u'Pages')) - for page_index in range(value.documentpage_set.count()): - output.append( - '%(page)s)' % { - 'url': reverse('document_display', args=[value.id]), + #'%(page)s)' % { + '%(page)s)' % { + 'url': reverse('document_page_view', args=[page.id]), 'img': reverse('document_preview_multipage', args=[value.id]), - 'page': page_index + 1, - }) - else: - output.append( - '' % { - 'url': reverse('document_display', args=[value.id]), - 'img': reverse('document_preview', args=[value.id]), + 'page': page.page_number, }) output.append( '
%s' % ugettext(u'Click on the image for full size view')) - if not self.attrs.get('hide_detail_link', False): - for document_page in value.documentpage_set.all(): - output.append( - '
%(text)s' % { - 'url': reverse('document_page_view', args=[document_page.id]), - 'text': ugettext(u'Page %s details') % document_page.page_number}) return mark_safe(u''.join(output)) @@ -109,11 +102,9 @@ class DocumentForm(forms.ModelForm): class DocumentPreviewForm(forms.Form): def __init__(self, *args, **kwargs): self.document = kwargs.pop('document', None) - self.hide_detail_link = kwargs.pop('hide_detail_link', False) super(DocumentPreviewForm, self).__init__(*args, **kwargs) self.fields['preview'].initial = self.document - self.fields['preview'].widget.attrs['hide_detail_link'] = self.hide_detail_link preview = forms.CharField(widget=ImageWidget()) @@ -133,7 +124,7 @@ class DocumentContentForm(forms.Form): contents = forms.CharField( label=_(u'Contents'), - widget=forms.widgets.Textarea(attrs={'rows': 24, 'cols': 80})) + widget=forms.widgets.Textarea(attrs={'rows': 14, 'cols': 80, 'readonly': 'readonly'})) class DocumentForm_view(DetailForm): diff --git a/apps/documents/urls.py b/apps/documents/urls.py index b7d492630e..1618c3b501 100644 --- a/apps/documents/urls.py +++ b/apps/documents/urls.py @@ -43,7 +43,10 @@ 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+)/transformation/list/$', 'document_page_transformation_list', (), 'document_page_transformation_list'), url(r'^document/page/(?P\d+)/transformation/create/$', 'document_page_transformation_create', (), 'document_page_transformation_create'), + url(r'^document/page/transformation/(?P\d+)/edit/$', 'document_page_transformation_edit', (), 'document_page_transformation_edit'), url(r'^document/page/transformation/(?P\d+)/delete/$', 'document_page_transformation_delete', (), 'document_page_transformation_delete'), diff --git a/apps/documents/views.py b/apps/documents/views.py index 9a98ab7bf0..b616ec2d5d 100644 --- a/apps/documents/views.py +++ b/apps/documents/views.py @@ -270,28 +270,26 @@ def document_view(request, document_id): for error in errors: messages.warning(request, _(u'Metadata group query error: %s' % error)) + preview_form = DocumentPreviewForm(document=document) form_list = [ { - 'form':form, - 'object':document, - 'grid':6, + 'form': preview_form, + 'object': document, }, { - 'form':preview_form, - 'title':_(u'document preview'), - 'object':document, - 'grid':6, - 'grid_clear':True, + 'title': _(u'document properties'), + 'form': form, + 'object': document, }, ] subtemplates_dict = [ { - 'name':'generic_list_subtemplate.html', - 'title':_(u'metadata'), - 'object_list':document.documentmetadata_set.all(), - 'extra_columns':[{'name':_(u'value'), 'attribute':'value'}], - 'hide_link':True, + 'name': 'generic_list_subtemplate.html', + 'title': _(u'metadata'), + 'object_list': document.documentmetadata_set.all(), + 'extra_columns': [{'name':_(u'value'), 'attribute':'value'}], + 'hide_link': True, }, ] @@ -631,25 +629,19 @@ def staging_file_delete(request, staging_file_id): }, context_instance=RequestContext(request)) -def document_page_view(request, document_page_id): - check_permissions(request.user, 'documents', [PERMISSION_DOCUMENT_VIEW]) +def document_page_transformation_list(request, document_page_id): + check_permissions(request.user, 'documents', [PERMISSION_DOCUMENT_TRANSFORM]) document_page = get_object_or_404(DocumentPage, pk=document_page_id) - document_page_form = DocumentPageForm(instance=document_page) - form_list = [ - { - 'form': document_page_form, - 'title': _(u'details for document page: %s') % document_page.page_number, + return object_list( + request, + queryset=document_page.documentpagetransformation_set.all(), + template_name='generic_list.html', + extra_context={ 'object': document_page, - 'grid': 6, - }, - ] - subtemplates_dict = [ - { - 'name': 'generic_list_subtemplate.html', - 'title': _(u'transformations'), - 'object_list': document_page.documentpagetransformation_set.all(), + 'title': _(u'document page transformations'), + 'web_theme_hide_menus': True, 'extra_columns': [ {'name': _(u'order'), 'attribute': 'order'}, {'name': _(u'transformation'), 'attribute': lambda x: x.get_transformation_display()}, @@ -657,17 +649,8 @@ def document_page_view(request, document_page_id): ], 'hide_link': True, 'hide_object': True, - 'grid': 6, - 'grid_clear': True, - 'hide_header': True, }, - ] - - return render_to_response('generic_detail.html', { - 'form_list': form_list, - 'object': document_page, - 'subtemplates_dict': subtemplates_dict, - }, context_instance=RequestContext(request)) + ) def document_page_transformation_create(request, document_page_id): @@ -688,6 +671,7 @@ def document_page_transformation_create(request, document_page_id): 'object': document_page, 'title': _(u'Create new transformation for page: %(page)s of document: %(document)s') % { 'page': document_page.page_number, 'document': document_page.document}, + 'web_theme_hide_menus': True, }, context_instance=RequestContext(request)) @@ -705,6 +689,7 @@ def document_page_transformation_edit(request, document_page_transformation_id): 'transformation': document_page_transformation.get_transformation_display(), 'page': document_page_transformation.document_page.page_number, 'document': document_page_transformation.document_page.document}, + 'web_theme_hide_menus': True, } ) @@ -728,6 +713,7 @@ def document_page_transformation_delete(request, document_page_transformation_id 'page': document_page_transformation.document_page.page_number, 'document': document_page_transformation.document_page.document}, 'previous': previous, + 'web_theme_hide_menus': True, }) @@ -830,19 +816,16 @@ def document_view_simple(request, document_id): for error in errors: messages.warning(request, _(u'Metadata group query error: %s' % error)) - preview_form = DocumentPreviewForm(document=document, hide_detail_link=True) + preview_form = DocumentPreviewForm(document=document) form_list = [ { - 'form': content_form, + 'form': preview_form, 'object': document, - 'grid': 6, }, { - 'form': preview_form, - 'title': _(u'document preview'), + 'title':_(u'document properties'), + 'form': content_form, 'object': document, - 'grid': 6, - 'grid_clear': True, }, ] subtemplates_dict = [ @@ -903,3 +886,23 @@ def document_missing_list(request): 'object_list': Document.objects.in_bulk(missing_id_list).values(), 'title': _(u'missing documents'), }, context_instance=RequestContext(request)) + + +def document_page_view(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(instance=document_page) + + form_list = [ + { + 'form': document_page_form, + 'title': _(u'details for page: %s') % document_page.page_number, + 'object': 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)) diff --git a/apps/main/templates/base.html b/apps/main/templates/base.html index 91212b5e7b..e9191a404f 100644 --- a/apps/main/templates/base.html +++ b/apps/main/templates/base.html @@ -59,6 +59,18 @@ 'type' : 'image', 'autoScale' : false }); + $("a.fancybox-iframe").fancybox({ + 'titleShow' : false, + 'transitionIn' : 'elastic', + 'transitionOut' : 'elastic', + 'easingIn' : 'easeOutBack', + 'easingOut' : 'easeInBack', + 'type' : 'iframe', + 'autoScale' : false, + 'width' : '99%', + 'height' : '99%', + 'showNavArrows' : false + }); }); {% block javascript %}{% endblock %} @@ -122,9 +134,9 @@ {% block web_theme_sidebar %} {% get_main_setting "SIDE_BAR_SEARCH" as side_bar_search %} - {% if side_bar_search %} + {% if side_bar_search and not web_theme_hide_menus %} {% with "true" as side_bar %} - {% with "true" as form_hide_required_text %} + {% with "true" as form_hide_required_text %} {% search_form %} {% endwith %} {% endwith %} diff --git a/apps/web_theme/templates/web_theme_base.html b/apps/web_theme/templates/web_theme_base.html index c303ac7d51..19e22a1e62 100644 --- a/apps/web_theme/templates/web_theme_base.html +++ b/apps/web_theme/templates/web_theme_base.html @@ -58,23 +58,27 @@ {% block content_plain %}{% endblock %} {% else %} -