Update the document type quick label delete view to a CBV.

This commit is contained in:
Roberto Rosario
2015-08-24 17:56:01 -04:00
parent 4008715991
commit 8481802b23
2 changed files with 27 additions and 38 deletions

View File

@@ -17,9 +17,9 @@ from .views import (
DocumentManyDeleteView, DocumentManyRestoreView, DocumentPageListView,
DocumentPreviewView, DocumentRestoreView, DocumentTypeCreateView,
DocumentTypeDeleteView, DocumentTypeDocumentListView,
DocumentTypeFilenameEditView, DocumentTypeFilenameListView,
DocumentTypeListView, DocumentTypeEditView, DocumentVersionListView,
EmptyTrashCanView, RecentDocumentListView
DocumentTypeFilenameDeleteView, DocumentTypeFilenameEditView,
DocumentTypeFilenameListView, DocumentTypeListView, DocumentTypeEditView,
DocumentVersionListView, EmptyTrashCanView, RecentDocumentListView
)
urlpatterns = patterns(
@@ -215,15 +215,18 @@ urlpatterns = patterns(
),
url(
r'^type/(?P<pk>\d+)/filename/list/$',
DocumentTypeFilenameListView.as_view(), name='document_type_filename_list'
DocumentTypeFilenameListView.as_view(),
name='document_type_filename_list'
),
url(
r'^type/filename/(?P<pk>\d+)/edit/$',
DocumentTypeFilenameEditView.as_view(), name='document_type_filename_edit'
DocumentTypeFilenameEditView.as_view(),
name='document_type_filename_edit'
),
url(
r'^type/filename/(?P<document_type_filename_id>\d+)/delete/$',
'document_type_filename_delete', name='document_type_filename_delete'
r'^type/filename/(?P<pk>\d+)/delete/$',
DocumentTypeFilenameDeleteView.as_view(),
name='document_type_filename_delete'
),
url(
r'^type/(?P<document_type_id>\d+)/filename/create/$',

View File

@@ -1035,39 +1035,25 @@ class DocumentTypeFilenameEditView(SingleObjectEditView):
}
def document_type_filename_delete(request, document_type_filename_id):
Permission.check_permissions(request.user, (permission_document_type_edit,))
document_type_filename = get_object_or_404(DocumentTypeFilename, pk=document_type_filename_id)
class DocumentTypeFilenameDeleteView(SingleObjectDeleteView):
model = DocumentTypeFilename
view_permission = permission_document_type_edit
post_action_redirect = reverse('documents:document_type_filename_list', args=(document_type_filename.document_type_id,))
def get_extra_context(self):
return {
'document_type': self.get_object().document_type,
'filename': self.get_object(),
'navigation_object_list': ('document_type', 'filename',),
'title': _('Delete the quick label: %(label)s, from document type "%(document_type)s"?') % {
'document_type': self.get_object().document_type, 'label': self.get_object()
},
}
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL))))
next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL))))
if request.method == 'POST':
try:
document_type_filename.delete()
messages.success(request, _('Document type quick label: %s deleted successfully.') % document_type_filename)
except Exception as exception:
messages.error(request, _('Document type quick label: %(document_type_filename)s delete error: %(error)s') % {
'document_type_filename': document_type_filename, 'error': exception})
return HttpResponseRedirect(next)
context = {
'delete_view': True,
'document_type': document_type_filename.document_type,
'filename': document_type_filename,
'previous': previous,
'navigation_object_list': ('document_type', 'filename',),
'next': next,
'title': _('Delete the quick label: %(filename)s, from document type "%(document_type)s"?') % {
'document_type': document_type_filename.document_type, 'filename': document_type_filename
},
}
return render_to_response('appearance/generic_confirm.html', context,
context_instance=RequestContext(request))
def get_post_action_redirect(self):
return reverse(
'documents:document_type_filename_list',
args=(self.get_object().document_type.pk,)
)
def document_type_filename_create(request, document_type_id):