Improve rendering of documents with no pages.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
XX (2017-XX-XX)
|
XX (2017-XX-XX)
|
||||||
===============
|
===============
|
||||||
- Add Django-mathfilters.
|
- Add Django-mathfilters.
|
||||||
|
- Improve render of documents with no pages.
|
||||||
|
|
||||||
2.3 (2017-06-08)
|
2.3 (2017-06-08)
|
||||||
================
|
================
|
||||||
|
|||||||
14
mayan/apps/documents/tests/test_widgets.py
Normal file
14
mayan/apps/documents/tests/test_widgets.py
Normal 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)
|
||||||
@@ -268,19 +268,41 @@ class CarouselDocumentPageThumbnailWidget(BaseDocumentThumbnailWidget):
|
|||||||
|
|
||||||
class DocumentThumbnailWidget(BaseDocumentThumbnailWidget):
|
class DocumentThumbnailWidget(BaseDocumentThumbnailWidget):
|
||||||
def get_click_view_kwargs(self, instance):
|
def get_click_view_kwargs(self, instance):
|
||||||
|
#first_page = instance.pages.first()
|
||||||
|
#if first_page:
|
||||||
return {
|
return {
|
||||||
'pk': instance.pk,
|
'pk': instance.pk,
|
||||||
'version_pk': instance.latest_version.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):
|
def get_preview_view_kwargs(self, instance):
|
||||||
|
#first_page = instance.pages.first()
|
||||||
|
#if first_page:
|
||||||
return {
|
return {
|
||||||
'pk': instance.pk,
|
'pk': instance.pk,
|
||||||
'version_pk': instance.latest_version.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):
|
def get_title(self, instance):
|
||||||
return getattr(instance, 'label', None)
|
return getattr(instance, 'label', None)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user