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('
s?page=%(page)s)
' % {
+ '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 %}
-