diff --git a/apps/documents/widgets.py b/apps/documents/widgets.py index 6de68c8df7..ab66ad0c89 100644 --- a/apps/documents/widgets.py +++ b/apps/documents/widgets.py @@ -4,7 +4,12 @@ from django.utils.translation import ugettext_lazy as _ from django.core.urlresolvers import reverse from django.utils.http import urlencode +from converter.literals import DEFAULT_ZOOM_LEVEL, DEFAULT_ROTATION, \ + DEFAULT_PAGE_NUMBER from converter.exceptions import UnknownFileFormat, UnkownConvertError +from mimetype.api import get_error_icon_url + +from documents.conf.settings import DISPLAY_SIZE def document_thumbnail(document): @@ -15,20 +20,15 @@ def document_link(document): return mark_safe(u'%s' % (reverse('document_view_simple', args=[document.pk]), document)) -def document_html_widget(document, size='document_thumbnail', click_view=None, page=None, zoom=None, rotation=None, gallery_name=None, fancybox_class='fancybox'): +def document_html_widget(document, view='document_thumbnail', click_view=None, page=DEFAULT_PAGE_NUMBER, zoom=DEFAULT_ZOOM_LEVEL, rotation=DEFAULT_ROTATION, gallery_name=None, fancybox_class='fancybox'): result = [] alt_text = _(u'document page image') - query_dict = {} - - if page: - query_dict['page'] = page - - if zoom: - query_dict['zoom'] = zoom - - if rotation: - query_dict['rotation'] = rotation + query_dict = { + 'page': page, + 'zoom': zoom, + 'rotation': rotation, + } if gallery_name: gallery_template = u'rel="%s"' % gallery_name @@ -36,80 +36,43 @@ def document_html_widget(document, size='document_thumbnail', click_view=None, p gallery_template = u'' query_string = urlencode(query_dict) - preview_view = u'%s?%s' % (reverse(size, args=[document.pk]), query_string) - print 'preview_view', preview_view - - zoomable_template = [] - if click_view: - zoomable_template.append(u'' % (gallery_template, fancybox_class, u'%s?%s' % (reverse(click_view, args=[document.pk]), query_string))) - zoomable_template.append(u'%s' % (preview_view, settings.STATIC_URL, alt_text)) - zoomable_template.append(u'' % (preview_view, alt_text)) - if click_view: - zoomable_template.append(u'') - - """ + preview_view = u'%s?%s' % (reverse(view, args=[document.pk]), query_string) + plain_template = [] - plain_template.append(u'%s' % (preview_view, settings.STATIC_URL, alt_text)) - plain_template.append(u'' % (preview_view, alt_text)) + plain_template.append(u'%s' % (preview_view, alt_text)) + + result.append(u'
' % (document.pk, page if page else 1)) + + if click_view: + result.append(u'' % (gallery_template, fancybox_class, u'%s?%s' % (reverse(click_view, args=[document.pk]), query_string))) + result.append(u'%s' % (preview_view, settings.STATIC_URL, alt_text)) + result.append(u'' % (preview_view, alt_text)) + + if click_view: + result.append(u'') + result.append(u'
') result.append(u''' ''' % { - u'url': reverse('documents-expensive-is_zoomable', args=[document.pk]), - u'pk': document.pk, - u'page': page if page else 1, - u'zoomable_template': mark_safe(u''.join(zoomable_template)), - u'plain_template': mark_safe(u''.join(plain_template)), + 'url': reverse('documents-expensive-is_zoomable', args=[document.pk]), + 'pk': document.pk, + 'page': page if page else 1, + 'plain_template': mark_safe(u''.join(plain_template)), + 'error_image': u''.join([settings.STATIC_URL, get_error_icon_url()]), } ) - - result.append(u'
' % (document.pk, page if page else 1)) - result.append(u'' % (u'%s?%s' % (reverse(click_view, args=[document.pk]), query_string))) - result.append(u'%s' % (settings.STATIC_URL, alt_text)) - result.append(u'' % (preview_view, alt_text)) - result.append(u'') - result.append(u'
') - """ - - #Fancybox w/ jQuery live - """ - jQuery("a.fancybox-noscaling").live('click', function(){ - jQuery.fancybox({ - 'autoDimensions' : false, - 'width' : 'auto', - 'height' : 'auto', - 'href' : $(this).attr('href'), - 'titleShow' : false, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'easingIn' : 'easeOutBack', - 'easingOut' : 'easeInBack', - 'type' : 'image', - 'autoScale' : false - - }); - return false; - }); - """ - result.append(u'
' % (document.pk, page if page else 1)) - result.extend(zoomable_template) - result.append(u'
') return mark_safe(u''.join(result))