Merged the 'new document page view'

This commit is contained in:
Roberto Rosario
2011-04-14 23:33:51 -04:00
parent 58e4e611e2
commit facfc68fc6
6 changed files with 102 additions and 86 deletions

View File

@@ -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_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_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_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_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_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]}} 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(['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(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_edit, document_page_transformation_delete])
register_links(DocumentPageTransformation, [document_page_transformation_go_back], menu_name='sidebar') 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]) register_links(StagingFile, [staging_file_preview, staging_file_delete])

View File

@@ -31,9 +31,8 @@ class DocumentPageTransformationForm(forms.ModelForm):
class DocumentPageImageWidget(forms.widgets.Widget): class DocumentPageImageWidget(forms.widgets.Widget):
def render(self, name, value, attrs=None): def render(self, name, value, attrs=None):
output = [] output = []
output.append('<img src="%(img)s?page=%(page)s" />' % { output.append('<div style="overflow: auto;"><img src="%(img)s?page=%(page)s" /></div>' % {
'img': reverse('document_preview_transformation', 'img': reverse('document_display', args=[value.document.id]),
args=[value.document.id]),
'page': value.page_number, 'page': value.page_number,
}) })
return mark_safe(u''.join(output)) return mark_safe(u''.join(output))
@@ -42,10 +41,16 @@ class DocumentPageImageWidget(forms.widgets.Widget):
class DocumentPageForm(DetailForm): class DocumentPageForm(DetailForm):
class Meta: class Meta:
model = DocumentPage model = DocumentPage
exclude = ('document_type')
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(DocumentPageForm, self).__init__(*args, **kwargs) super(DocumentPageForm, self).__init__(*args, **kwargs)
self.fields['page_image'].initial = self.instance 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())
@@ -54,33 +59,21 @@ class ImageWidget(forms.widgets.Widget):
def render(self, name, value, attrs=None): def render(self, name, value, attrs=None):
output = [] output = []
page_count = value.documentpage_set.count() page_count = value.documentpage_set.count()
if page_count > 1: output.append(
'<br /><span class="famfam active famfam-page_white_copy"></span>%s<br />' %
ugettext(u'Pages'))
for page in value.documentpage_set.all():
output.append( output.append(
'<br /><span class="famfam active famfam-page_white_copy"></span>%s<br />' % #'<span>%(page)s)<a rel="gallery_1" class="fancybox-iframe" href="%(url)s?page=%(page)s"><img src="%(img)s?page=%(page)s" /></a></span>' % {
ugettext(u'Pages')) '<span>%(page)s)<a rel="gallery_1" class="fancybox-iframe" href="%(url)s"><img src="%(img)s?page=%(page)s" /></a></span>' % {
for page_index in range(value.documentpage_set.count()): 'url': reverse('document_page_view', args=[page.id]),
output.append(
'<span>%(page)s)<a rel="gallery_1" class="fancybox-noscaling" href="%(url)s?page=%(page)s"><img src="%(img)s?page=%(page)s" /></a></span>' % {
'url': reverse('document_display', args=[value.id]),
'img': reverse('document_preview_multipage', args=[value.id]), 'img': reverse('document_preview_multipage', args=[value.id]),
'page': page_index + 1, 'page': page.page_number,
})
else:
output.append(
'<a class="fancybox-noscaling" href="%(url)s"><img width="300" src="%(img)s" /></a>' % {
'url': reverse('document_display', args=[value.id]),
'img': reverse('document_preview', args=[value.id]),
}) })
output.append( output.append(
'<br /><span class="famfam active famfam-magnifier"></span>%s' % '<br /><span class="famfam active famfam-magnifier"></span>%s' %
ugettext(u'Click on the image for full size view')) 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(
'<br/><a href="%(url)s"><span class="famfam active famfam-page_white"></span>%(text)s</a>' % {
'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)) return mark_safe(u''.join(output))
@@ -109,11 +102,9 @@ class DocumentForm(forms.ModelForm):
class DocumentPreviewForm(forms.Form): class DocumentPreviewForm(forms.Form):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
self.document = kwargs.pop('document', None) self.document = kwargs.pop('document', None)
self.hide_detail_link = kwargs.pop('hide_detail_link', False)
super(DocumentPreviewForm, self).__init__(*args, **kwargs) super(DocumentPreviewForm, self).__init__(*args, **kwargs)
self.fields['preview'].initial = self.document self.fields['preview'].initial = self.document
self.fields['preview'].widget.attrs['hide_detail_link'] = self.hide_detail_link
preview = forms.CharField(widget=ImageWidget()) preview = forms.CharField(widget=ImageWidget())
@@ -133,7 +124,7 @@ class DocumentContentForm(forms.Form):
contents = forms.CharField( contents = forms.CharField(
label=_(u'Contents'), 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): class DocumentForm_view(DetailForm):

View File

@@ -43,7 +43,10 @@ urlpatterns = patterns('documents.views',
url(r'^staging_file/(?P<staging_file_id>\w+)/delete/$', 'staging_file_delete', (), 'staging_file_delete'), url(r'^staging_file/(?P<staging_file_id>\w+)/delete/$', 'staging_file_delete', (), 'staging_file_delete'),
url(r'^document/page/(?P<document_page_id>\d+)/$', 'document_page_view', (), 'document_page_view'), url(r'^document/page/(?P<document_page_id>\d+)/$', 'document_page_view', (), 'document_page_view'),
url(r'^document/page/(?P<document_page_id>\d+)/transformation/list/$', 'document_page_transformation_list', (), 'document_page_transformation_list'),
url(r'^document/page/(?P<document_page_id>\d+)/transformation/create/$', 'document_page_transformation_create', (), 'document_page_transformation_create'), url(r'^document/page/(?P<document_page_id>\d+)/transformation/create/$', 'document_page_transformation_create', (), 'document_page_transformation_create'),
url(r'^document/page/transformation/(?P<document_page_transformation_id>\d+)/edit/$', 'document_page_transformation_edit', (), 'document_page_transformation_edit'), url(r'^document/page/transformation/(?P<document_page_transformation_id>\d+)/edit/$', 'document_page_transformation_edit', (), 'document_page_transformation_edit'),
url(r'^document/page/transformation/(?P<document_page_transformation_id>\d+)/delete/$', 'document_page_transformation_delete', (), 'document_page_transformation_delete'), url(r'^document/page/transformation/(?P<document_page_transformation_id>\d+)/delete/$', 'document_page_transformation_delete', (), 'document_page_transformation_delete'),

View File

@@ -270,28 +270,26 @@ def document_view(request, document_id):
for error in errors: for error in errors:
messages.warning(request, _(u'Metadata group query error: %s' % error)) messages.warning(request, _(u'Metadata group query error: %s' % error))
preview_form = DocumentPreviewForm(document=document) preview_form = DocumentPreviewForm(document=document)
form_list = [ form_list = [
{ {
'form':form, 'form': preview_form,
'object':document, 'object': document,
'grid':6,
}, },
{ {
'form':preview_form, 'title': _(u'document properties'),
'title':_(u'document preview'), 'form': form,
'object':document, 'object': document,
'grid':6,
'grid_clear':True,
}, },
] ]
subtemplates_dict = [ subtemplates_dict = [
{ {
'name':'generic_list_subtemplate.html', 'name': 'generic_list_subtemplate.html',
'title':_(u'metadata'), 'title': _(u'metadata'),
'object_list':document.documentmetadata_set.all(), 'object_list': document.documentmetadata_set.all(),
'extra_columns':[{'name':_(u'value'), 'attribute':'value'}], 'extra_columns': [{'name':_(u'value'), 'attribute':'value'}],
'hide_link':True, 'hide_link': True,
}, },
] ]
@@ -631,25 +629,19 @@ def staging_file_delete(request, staging_file_id):
}, context_instance=RequestContext(request)) }, context_instance=RequestContext(request))
def document_page_view(request, document_page_id): def document_page_transformation_list(request, document_page_id):
check_permissions(request.user, 'documents', [PERMISSION_DOCUMENT_VIEW]) check_permissions(request.user, 'documents', [PERMISSION_DOCUMENT_TRANSFORM])
document_page = get_object_or_404(DocumentPage, pk=document_page_id) document_page = get_object_or_404(DocumentPage, pk=document_page_id)
document_page_form = DocumentPageForm(instance=document_page)
form_list = [ return object_list(
{ request,
'form': document_page_form, queryset=document_page.documentpagetransformation_set.all(),
'title': _(u'details for document page: %s') % document_page.page_number, template_name='generic_list.html',
extra_context={
'object': document_page, 'object': document_page,
'grid': 6, 'title': _(u'document page transformations'),
}, 'web_theme_hide_menus': True,
]
subtemplates_dict = [
{
'name': 'generic_list_subtemplate.html',
'title': _(u'transformations'),
'object_list': document_page.documentpagetransformation_set.all(),
'extra_columns': [ 'extra_columns': [
{'name': _(u'order'), 'attribute': 'order'}, {'name': _(u'order'), 'attribute': 'order'},
{'name': _(u'transformation'), 'attribute': lambda x: x.get_transformation_display()}, {'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_link': True,
'hide_object': 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): 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, 'object': document_page,
'title': _(u'Create new transformation for page: %(page)s of document: %(document)s') % { 'title': _(u'Create new transformation for page: %(page)s of document: %(document)s') % {
'page': document_page.page_number, 'document': document_page.document}, 'page': document_page.page_number, 'document': document_page.document},
'web_theme_hide_menus': True,
}, context_instance=RequestContext(request)) }, 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(), 'transformation': document_page_transformation.get_transformation_display(),
'page': document_page_transformation.document_page.page_number, 'page': document_page_transformation.document_page.page_number,
'document': document_page_transformation.document_page.document}, '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, 'page': document_page_transformation.document_page.page_number,
'document': document_page_transformation.document_page.document}, 'document': document_page_transformation.document_page.document},
'previous': previous, 'previous': previous,
'web_theme_hide_menus': True,
}) })
@@ -830,19 +816,16 @@ def document_view_simple(request, document_id):
for error in errors: for error in errors:
messages.warning(request, _(u'Metadata group query error: %s' % error)) 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_list = [
{ {
'form': content_form, 'form': preview_form,
'object': document, 'object': document,
'grid': 6,
}, },
{ {
'form': preview_form, 'title':_(u'document properties'),
'title': _(u'document preview'), 'form': content_form,
'object': document, 'object': document,
'grid': 6,
'grid_clear': True,
}, },
] ]
subtemplates_dict = [ subtemplates_dict = [
@@ -903,3 +886,23 @@ def document_missing_list(request):
'object_list': Document.objects.in_bulk(missing_id_list).values(), 'object_list': Document.objects.in_bulk(missing_id_list).values(),
'title': _(u'missing documents'), 'title': _(u'missing documents'),
}, context_instance=RequestContext(request)) }, 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))

View File

@@ -59,6 +59,18 @@
'type' : 'image', 'type' : 'image',
'autoScale' : false '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
});
}); });
</script> </script>
{% block javascript %}{% endblock %} {% block javascript %}{% endblock %}
@@ -122,7 +134,7 @@
{% block web_theme_sidebar %} {% block web_theme_sidebar %}
{% get_main_setting "SIDE_BAR_SEARCH" as side_bar_search %} {% 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 side_bar %}
{% with "true" as form_hide_required_text %} {% with "true" as form_hide_required_text %}
{% search_form %} {% search_form %}

View File

@@ -58,23 +58,27 @@
{% block content_plain %}{% endblock %} {% block content_plain %}{% endblock %}
</div> </div>
{% else %} {% else %}
<div id="header"> {% if not web_theme_hide_menus %}
<h1><a href="{% url home %}">{% block web_theme_project_name %}{% endblock %}</a></h1> <div id="header">
<div id="user-navigation"> <h1><a href="{% url home %}">{% block web_theme_project_name %}{% endblock %}</a></h1>
<div id="user-navigation">
<ul class="wat-cf">
{% block web_theme_user_navigation %}{% endblock %}
</ul>
</div>
<div id="main-navigation">
<ul class="wat-cf"> <ul class="wat-cf">
{% block web_theme_user_navigation %}{% endblock %} {% block web_theme_main_navigation %}{% endblock %}
</ul> </ul>
</div> </div>
<div id="main-navigation">
<ul class="wat-cf">
{% block web_theme_main_navigation %}{% endblock %}
</ul>
</div> </div>
</div> {% endif %}
<div id="wrapper" class="wat-cf"> <div id="wrapper" class="wat-cf">
<div id="main"> <div id="main">
<div class="block" id="block-text"> <div class="block" id="block-text">
{% block web_theme_secondary_navigation %}{% endblock %} {% if not web_theme_hide_menus %}
{% block web_theme_secondary_navigation %}{% endblock %}
{% endif %}
{% if messages %} {% if messages %}
<div class="inner"> <div class="inner">
<div class="flash"> <div class="flash">