Update Document type filenames list and edit views to CBV.

This commit is contained in:
Roberto Rosario
2015-08-13 20:47:34 -04:00
parent 97bba65668
commit 5ae033eb77
2 changed files with 44 additions and 50 deletions
+6 -5
View File
@@ -16,7 +16,8 @@ from .views import (
DeletedDocumentDeleteView, DeletedDocumentListView, DocumentListView, DeletedDocumentDeleteView, DeletedDocumentListView, DocumentListView,
DocumentManyDeleteView, DocumentManyRestoreView, DocumentPageListView, DocumentManyDeleteView, DocumentManyRestoreView, DocumentPageListView,
DocumentRestoreView, DocumentTypeCreateView, DocumentTypeDeleteView, DocumentRestoreView, DocumentTypeCreateView, DocumentTypeDeleteView,
DocumentTypeDocumentListView, DocumentTypeListView, DocumentTypeEditView, DocumentTypeDocumentListView, DocumentTypeFilenameEditView,
DocumentTypeFilenameListView, DocumentTypeListView, DocumentTypeEditView,
EmptyTrashCanView, RecentDocumentListView EmptyTrashCanView, RecentDocumentListView
) )
@@ -212,12 +213,12 @@ urlpatterns = patterns(
name='document_type_document_list' name='document_type_document_list'
), ),
url( url(
r'^type/(?P<document_type_id>\d+)/filename/list/$', r'^type/(?P<pk>\d+)/filename/list/$',
'document_type_filename_list', name='document_type_filename_list' DocumentTypeFilenameListView.as_view(), name='document_type_filename_list'
), ),
url( url(
r'^type/filename/(?P<document_type_filename_id>\d+)/edit/$', r'^type/filename/(?P<pk>\d+)/edit/$',
'document_type_filename_edit', name='document_type_filename_edit' DocumentTypeFilenameEditView.as_view(), name='document_type_filename_edit'
), ),
url( url(
r'^type/filename/(?P<document_type_filename_id>\d+)/delete/$', r'^type/filename/(?P<document_type_filename_id>\d+)/delete/$',
+38 -45
View File
@@ -991,58 +991,51 @@ class DocumentTypeCreateView(SingleObjectCreateView):
} }
def document_type_filename_list(request, document_type_id): class DocumentTypeFilenameListView(SingleObjectListView):
Permission.check_permissions(request.user, (permission_document_type_view,)) model = DocumentType
document_type = get_object_or_404(DocumentType, pk=document_type_id) view_permission = permission_document_type_view
context = { def get_document_type(self):
'document_type': document_type, return get_object_or_404(DocumentType, pk=self.kwargs['pk'])
'extra_columns': [
{
'name': _('Enabled'),
'attribute': encapsulate(lambda x: two_state_template(x.enabled)),
}
],
'hide_link': True,
'navigation_object_list': ('document_type',),
'object_list': document_type.filenames.all(),
'title': _('Filenames for document type: %s') % document_type,
}
return render_to_response('appearance/generic_list.html', context, def get_extra_context(self):
context_instance=RequestContext(request)) return {
'document_type': self.get_document_type(),
'extra_columns': (
{
'name': _('Enabled'),
'attribute': encapsulate(lambda filename: two_state_template(filename.enabled)),
},
),
'hide_link': True,
'navigation_object_list': ('document_type',),
'object_list': self.get_document_type().filenames.all(),
'title': _('Filenames for document type: %s') % self.get_document_type(),
}
def document_type_filename_edit(request, document_type_filename_id): class DocumentTypeFilenameEditView(SingleObjectEditView):
Permission.check_permissions(request.user, (permission_document_type_edit,)) fields = ('enabled', 'filename',)
document_type_filename = get_object_or_404(DocumentTypeFilename, pk=document_type_filename_id) model = DocumentTypeFilename
view_permission = permission_document_type_edit
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('documents:document_type_filename_list', args=[document_type_filename.document_type_id])))) def get_post_action_redirect(self):
return reverse(
'documents:document_type_filename_list',
args=(self.get_object().document_type.pk,)
)
if request.method == 'POST': def get_extra_context(self):
form = DocumentTypeFilenameForm(instance=document_type_filename, data=request.POST) document_type_filename = self.get_object()
if form.is_valid():
try:
document_type_filename.filename = form.cleaned_data['filename']
document_type_filename.enabled = form.cleaned_data['enabled']
document_type_filename.save()
messages.success(request, _('Document type filename edited successfully'))
return HttpResponseRedirect(next)
except Exception as exception:
messages.error(request, _('Error editing document type filename; %s') % exception)
else:
form = DocumentTypeFilenameForm(instance=document_type_filename)
return render_to_response('appearance/generic_form.html', { return {
'document_type': document_type_filename.document_type, 'document_type': document_type_filename.document_type,
'filename': document_type_filename, 'filename': document_type_filename,
'form': form, 'navigation_object_list': ('document_type', 'filename',),
'navigation_object_list': ('document_type', 'filename',), 'title': _('Edit filename "%(filename)s" from document type "%(document_type)s"') % {
'next': next, 'document_type': document_type_filename.document_type, 'filename': document_type_filename
'title': _('Edit filename "%(filename)s" from document type "%(document_type)s"') % { },
'document_type': document_type_filename.document_type, 'filename': document_type_filename }
},
}, context_instance=RequestContext(request))
def document_type_filename_delete(request, document_type_filename_id): def document_type_filename_delete(request, document_type_filename_id):