Add document list item view.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2017-07-13 17:20:02 -04:00
parent c3d4884d34
commit ff59f34b7f
18 changed files with 420 additions and 126 deletions

View File

@@ -21,7 +21,7 @@ setting_print_size = namespace.add_setting(
global_name='DOCUMENTS_PRINT_SIZE', default='3600'
)
setting_thumbnail_size = namespace.add_setting(
global_name='DOCUMENTS_THUMBNAIL_SIZE', default='50x50'
global_name='DOCUMENTS_THUMBNAIL_SIZE', default='300'
)
setting_recent_count = namespace.add_setting(
global_name='DOCUMENTS_RECENT_COUNT', default=40,

View File

@@ -32,11 +32,14 @@ class DocumentTypeDocumentListView(DocumentListView):
return self.get_document_type().documents.all()
def get_extra_context(self):
return {
'hide_links': True,
'object': self.get_document_type(),
'title': _('Documents of type: %s') % self.get_document_type()
}
context = super(DocumentTypeDocumentListView, self).get_extra_context()
context.update(
{
'object': self.get_document_type(),
'title': _('Documents of type: %s') % self.get_document_type()
}
)
return context
class DocumentTypeListView(SingleObjectListView):

View File

@@ -50,16 +50,18 @@ logger = logging.getLogger(__name__)
class DocumentListView(SingleObjectListView):
extra_context = {
'hide_links': True,
'title': _('All documents'),
}
object_permission = permission_document_view
def get_document_queryset(self):
return Document.objects.defer('description', 'uuid', 'date_added', 'language', 'in_trash', 'deleted_date_time').all()
def get_extra_context(self):
return {
'hide_links': True,
'list_as_items': True,
'title': _('All documents'),
}
def get_queryset(self):
self.queryset = self.get_document_queryset().filter(is_stub=False)
return super(DocumentListView, self).get_queryset()
@@ -68,17 +70,21 @@ class DocumentListView(SingleObjectListView):
class DeletedDocumentListView(DocumentListView):
object_permission = None
extra_context = {
'hide_link': True,
'title': _('Documents in trash'),
}
def get_document_queryset(self):
return AccessControlList.objects.filter_by_access(
permission_document_view, self.request.user,
queryset=DeletedDocument.trash.all()
)
def get_extra_context(self):
context = super(DeletedDocumentListView, self).get_extra_context()
context.update(
{
'title': _('Documents in trash'),
}
)
return context
class DeletedDocumentDeleteView(ConfirmView):
extra_context = {
@@ -186,6 +192,16 @@ class DocumentDuplicatesListView(DocumentListView):
def get_document(self):
return get_object_or_404(Document, pk=self.kwargs['pk'])
def get_extra_context(self):
context = super(DocumentDuplicatesListView, self).get_extra_context()
context.update(
{
'object': self.get_document(),
'title': _('Duplicates for document: %s') % self.get_document(),
}
)
return context
def get_queryset(self):
try:
return DuplicatedDocument.objects.get(
@@ -194,13 +210,6 @@ class DocumentDuplicatesListView(DocumentListView):
except DuplicatedDocument.DoesNotExist:
return Document.objects.none()
def get_extra_context(self):
return {
'hide_links': True,
'object': self.get_document(),
'title': _('Duplicates for document: %s') % self.get_document(),
}
class DocumentEditView(SingleObjectEditView):
form_class = DocumentForm
@@ -374,14 +383,18 @@ class EmptyTrashCanView(ConfirmView):
class RecentDocumentListView(DocumentListView):
extra_context = {
'hide_links': True,
'title': _('Recent documents'),
}
def get_document_queryset(self):
return RecentDocument.objects.get_for_user(self.request.user)
def get_extra_context(self):
context = super(RecentDocumentListView, self).get_extra_context()
context.update(
{
'title': _('Recent documents'),
}
)
return context
class DocumentDownloadFormView(FormView):
form_class = DocumentDownloadForm
@@ -762,24 +775,28 @@ class DocumentPrint(FormView):
class DuplicatedDocumentListView(DocumentListView):
extra_context = {
'extra_columns': (
{
'name': _('Duplicates'),
'attribute': encapsulate(
lambda document: DuplicatedDocument.objects.get(
document=document
).documents.count()
)
},
),
'hide_links': True,
'title': _('Duplicated documents')
}
def get_document_queryset(self):
return Document.objects.filter(
pk__in=DuplicatedDocument.objects.values_list(
'document_id', flat=True
)
)
def get_extra_context(self):
context = super(DuplicatedDocumentListView, self).get_extra_context()
context.update(
{
'extra_columns': (
{
'name': _('Duplicates'),
'attribute': encapsulate(
lambda document: DuplicatedDocument.objects.get(
document=document
).documents.count()
)
},
),
'title': _('Duplicated documents')
}
)
return context

View File

@@ -225,13 +225,13 @@ class InstanceImageWidget(object):
)
result.append(
'<div class="spinner-container text-primary" style="margin: auto; width: {width}px; height: {height}px; border:1px solid lightgray;">'
'<span class="fa-stack fa-lg" style="margin-left: 4px; margin-top: 3px;">'
'<div class="spinner-container text-primary" style="height: {height}px;">'
'<span class="spinner-icon fa-stack fa-lg">'
'<i class="fa fa-file-o fa-stack-2x"></i>'
'<i class="fa fa-clock-o fa-stack-1x"></i>'
'</span>'
'</div>'
'<img class="thin_border {image_class} pull-left"'
'<img class="thin_border {image_class} pull-left" style="width: 100%;"'
'data-url="{preview_full_url}" src="#" '
'/> '.format(
width=self.width or '32', height=self.height or '32',