Added document edit view
This commit is contained in:
@@ -9,8 +9,9 @@ document_create = {'text':_('upload a document'), 'view':'document_create', 'fam
|
|||||||
document_create_multiple = {'text':_('upload multiple document'), 'view':'document_create_multiple', 'famfam':'page_add'}
|
document_create_multiple = {'text':_('upload multiple document'), 'view':'document_create_multiple', 'famfam':'page_add'}
|
||||||
document_view = {'text':_('details'), 'view':'document_view', 'args':'object.id', 'famfam':'page'}
|
document_view = {'text':_('details'), 'view':'document_view', 'args':'object.id', 'famfam':'page'}
|
||||||
document_delete = {'text':_('delete'), 'view':'document_delete', 'args':'object.id', 'famfam':'page_delete'}
|
document_delete = {'text':_('delete'), 'view':'document_delete', 'args':'object.id', 'famfam':'page_delete'}
|
||||||
|
document_edit = {'text':_('edit'), 'view':'document_edit', 'args':'object.id', 'famfam':'page_edit'}
|
||||||
|
|
||||||
register_links(Document, [document_view, document_delete])
|
register_links(Document, [document_view, document_edit, document_delete])
|
||||||
register_links(Document, [document_list, document_create, document_create_multiple], menu_name='sidebar')
|
register_links(Document, [document_list, document_create, document_create_multiple], menu_name='sidebar')
|
||||||
register_links(['document_list', 'document_create', 'document_create_multiple', 'upload_document_with_type', 'upload_multiple_documents_with_type'], [document_list, document_create, document_create_multiple], menu_name='sidebar')
|
register_links(['document_list', 'document_create', 'document_create_multiple', 'upload_document_with_type', 'upload_multiple_documents_with_type'], [document_list, document_create, document_create_multiple], menu_name='sidebar')
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,14 @@ class DocumentForm_view(DetailForm):
|
|||||||
class Meta:
|
class Meta:
|
||||||
model = Document
|
model = Document
|
||||||
exclude = ('file',)
|
exclude = ('file',)
|
||||||
|
|
||||||
|
|
||||||
|
class DocumentForm_edit(forms.ModelForm):
|
||||||
|
class Meta:
|
||||||
|
model = Document
|
||||||
|
exclude = ('file','document_type')
|
||||||
|
new_filename = forms.CharField(label=_(u'New filename'), required=False)
|
||||||
|
|
||||||
|
|
||||||
class DocumentTypeSelectForm(forms.Form):
|
class DocumentTypeSelectForm(forms.Form):
|
||||||
document_type = forms.ModelChoiceField(queryset=DocumentType.objects.all())
|
document_type = forms.ModelChoiceField(queryset=DocumentType.objects.all())
|
||||||
|
|||||||
@@ -11,4 +11,5 @@ urlpatterns = patterns('documents.views',
|
|||||||
url(r'^document/type/(?P<document_type_id>\d+)/upload/multiple/$', 'upload_document_with_type', {'multiple':True}, 'upload_multiple_documents_with_type'),
|
url(r'^document/type/(?P<document_type_id>\d+)/upload/multiple/$', 'upload_document_with_type', {'multiple':True}, 'upload_multiple_documents_with_type'),
|
||||||
url(r'^document/(?P<document_id>\d+)/$', 'document_view', (), 'document_view'),
|
url(r'^document/(?P<document_id>\d+)/$', 'document_view', (), 'document_view'),
|
||||||
url(r'^document/(?P<document_id>\d+)/delete/$', 'document_delete', (), 'document_delete'),
|
url(r'^document/(?P<document_id>\d+)/delete/$', 'document_delete', (), 'document_delete'),
|
||||||
|
url(r'^document/(?P<document_id>\d+)/edit/$', 'document_edit', (), 'document_edit'),
|
||||||
)
|
)
|
||||||
|
|||||||
+25
-2
@@ -8,7 +8,7 @@ from django.template import RequestContext
|
|||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.views.generic.list_detail import object_detail, object_list
|
from django.views.generic.list_detail import object_detail, object_list
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.views.generic.create_update import create_object, delete_object
|
from django.views.generic.create_update import create_object, delete_object, update_object
|
||||||
from django.forms.formsets import formset_factory
|
from django.forms.formsets import formset_factory
|
||||||
|
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ from forms import DocumentForm_view
|
|||||||
|
|
||||||
from models import Document, DocumentMetadata, DocumentType, MetadataType
|
from models import Document, DocumentMetadata, DocumentType, MetadataType
|
||||||
from forms import DocumentTypeSelectForm, DocumentCreateWizard, \
|
from forms import DocumentTypeSelectForm, DocumentCreateWizard, \
|
||||||
MetadataForm, DocumentForm
|
MetadataForm, DocumentForm, DocumentForm_edit
|
||||||
|
|
||||||
from documents.conf.settings import STAGING_DIRECTORY
|
from documents.conf.settings import STAGING_DIRECTORY
|
||||||
|
|
||||||
@@ -127,3 +127,26 @@ def document_delete(request, document_id):
|
|||||||
'object':document,
|
'object':document,
|
||||||
'object_name':_(u'document'),
|
'object_name':_(u'document'),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
def document_edit(request, document_id):
|
||||||
|
document = get_object_or_404(Document, pk=document_id)
|
||||||
|
if request.method == 'POST':
|
||||||
|
form = DocumentForm_edit(request.POST)
|
||||||
|
if form.is_valid():
|
||||||
|
document.delete_fs_links()
|
||||||
|
document.file_filename = form.cleaned_data['new_filename']
|
||||||
|
document.save()
|
||||||
|
document.create_fs_links()
|
||||||
|
messages.success(request, _(u'Document edited and filesystem links updated.'))
|
||||||
|
return HttpResponseRedirect(reverse('document_list'))
|
||||||
|
else:
|
||||||
|
form = DocumentForm_edit(instance=document, initial={'new_filename':document.file_filename})
|
||||||
|
|
||||||
|
return render_to_response('generic_form.html', {
|
||||||
|
'form':form,
|
||||||
|
'object':document,
|
||||||
|
|
||||||
|
}, context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user