Improve rendering of documents with no pages.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2017-06-16 17:21:44 -04:00
parent 2742d0df6e
commit 0041b2118b
3 changed files with 39 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
XX (2017-XX-XX)
===============
- Add Django-mathfilters.
- Improve render of documents with no pages.
2.3 (2017-06-08)
================

View File

@@ -0,0 +1,14 @@
from __future__ import unicode_literals
from ..widgets import DocumentThumbnailWidget
from .test_models import GenericDocumentTestCase
class DocumentWidgetTestCase(GenericDocumentTestCase):
def test_document_list_view_document_with_no_pages(self):
document_thumbnail_widget = DocumentThumbnailWidget()
self.document.pages.all().delete()
result = document_thumbnail_widget.render(instance=self.document)
self.assertTrue(self.document.get_absolute_url() in result)

View File

@@ -268,19 +268,41 @@ class CarouselDocumentPageThumbnailWidget(BaseDocumentThumbnailWidget):
class DocumentThumbnailWidget(BaseDocumentThumbnailWidget):
def get_click_view_kwargs(self, instance):
#first_page = instance.pages.first()
#if first_page:
return {
'pk': instance.pk,
'version_pk': instance.latest_version.pk,
'page_pk': instance.latest_version.pages.first().pk
'page_pk': instance.pages.first().pk
}
def get_click_view_url(self, instance):
first_page = instance.pages.first()
if first_page:
return super(DocumentThumbnailWidget, self).get_click_view_url(
instance=instance
)
else:
return '#'
def get_preview_view_kwargs(self, instance):
#first_page = instance.pages.first()
#if first_page:
return {
'pk': instance.pk,
'version_pk': instance.latest_version.pk,
'page_pk': instance.latest_version.pages.first().pk
'page_pk': instance.pages.first().pk
}
def get_preview_view_url(self, instance):
first_page = instance.pages.first()
if first_page:
return super(DocumentThumbnailWidget, self).get_preview_view_url(
instance=instance
)
else:
return ''
def get_title(self, instance):
return getattr(instance, 'label', None)