Update Document type filenames list and edit views to CBV.
This commit is contained in:
@@ -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/$',
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
Reference in New Issue
Block a user