Convert document preview view to CBV.

This commit is contained in:
Roberto Rosario
2015-08-24 03:01:08 -04:00
parent b9a07e3fcf
commit 603d2e7417
2 changed files with 21 additions and 26 deletions

View File

@@ -15,10 +15,11 @@ from .settings import setting_print_size, setting_display_size
from .views import (
DeletedDocumentDeleteView, DeletedDocumentListView, DocumentListView,
DocumentManyDeleteView, DocumentManyRestoreView, DocumentPageListView,
DocumentRestoreView, DocumentTypeCreateView, DocumentTypeDeleteView,
DocumentTypeDocumentListView, DocumentTypeFilenameEditView,
DocumentTypeFilenameListView, DocumentTypeListView, DocumentTypeEditView,
DocumentVersionListView, EmptyTrashCanView, RecentDocumentListView
DocumentPreviewView, DocumentRestoreView, DocumentTypeCreateView,
DocumentTypeDeleteView, DocumentTypeDocumentListView,
DocumentTypeFilenameEditView, DocumentTypeFilenameListView,
DocumentTypeListView, DocumentTypeEditView, DocumentVersionListView,
EmptyTrashCanView, RecentDocumentListView
)
urlpatterns = patterns(
@@ -34,7 +35,7 @@ urlpatterns = patterns(
),
url(
r'^(?P<document_id>\d+)/preview/$', 'document_preview',
r'^(?P<pk>\d+)/preview/$', DocumentPreviewView.as_view(),
name='document_preview'
),
url(

View File

@@ -19,7 +19,7 @@ from acls.models import AccessControlList
from common.compressed_files import CompressedFile
from common.generics import (
ConfirmView, SingleObjectCreateView, SingleObjectDeleteView,
SingleObjectEditView, SingleObjectListView
SingleObjectDetailView, SingleObjectEditView, SingleObjectListView
)
from common.mixins import MultipleInstanceActionMixin
from common.utils import render_date_object
@@ -308,28 +308,22 @@ def document_properties(request, document_id):
}, context_instance=RequestContext(request))
def document_preview(request, document_id):
document = get_object_or_404(Document, pk=document_id)
class DocumentPreviewView(SingleObjectDetailView):
model = Document
object_permission = permission_document_view
try:
Permission.check_permissions(request.user, (permission_document_view,))
except PermissionDenied:
AccessControlList.objects.check_access(
permission_document_view, request.user, document
)
def dispatch(self, request, *args, **kwargs):
result = super(DocumentPreviewView, self).dispatch(request, *args, **kwargs)
self.get_object().add_as_recent_document_for_user(request.user)
return result
document.add_as_recent_document_for_user(request.user)
preview_form = DocumentPreviewForm(document=document)
return render_to_response('appearance/generic_form.html', {
'document': document,
'form': preview_form,
'hide_labels': True,
'object': document,
'read_only': True,
'title': _('Preview of document: %s') % document,
}, context_instance=RequestContext(request))
def get_extra_context(self):
return {
'form': DocumentPreviewForm(document=self.get_object()),
'hide_labels': True,
'object': self.get_object(),
'title': _('Preview of document: %s') % self.get_object(),
}
def document_trash(request, document_id=None, document_id_list=None):