Make document type available names list, available in document edit view
This commit is contained in:
@@ -20,14 +20,15 @@ class DocumentForm(forms.ModelForm):
|
||||
super(DocumentForm, self).__init__(*args, **kwargs)
|
||||
if 'initial' in kwargs:
|
||||
if 'document_type' in kwargs['initial']:
|
||||
if 'document_type' in self.fields:
|
||||
#To allow merging with DocumentForm_edit
|
||||
self.fields['document_type'].widget = forms.HiddenInput()
|
||||
filenames_qs = kwargs['initial']['document_type'].documenttypefilename_set.filter(enabled=True)
|
||||
if filenames_qs.count() > 0:
|
||||
self.fields['new_filename'] = forms.ModelChoiceField(
|
||||
self.fields['document_type_available_filenames'] = forms.ModelChoiceField(
|
||||
queryset=filenames_qs,
|
||||
required=False,
|
||||
label=_(u'Rename file'))
|
||||
|
||||
label=_(u'Document type available filenames'))
|
||||
|
||||
class Meta:
|
||||
model = Document
|
||||
@@ -39,11 +40,12 @@ class DocumentForm_view(DetailForm):
|
||||
exclude = ('file',)
|
||||
|
||||
|
||||
class DocumentForm_edit(forms.ModelForm):
|
||||
class DocumentForm_edit(DocumentForm):
|
||||
class Meta:
|
||||
model = Document
|
||||
exclude = ('file', 'document_type')
|
||||
new_filename = forms.CharField(label=_(u'New filename'), required=False)
|
||||
|
||||
new_filename = forms.CharField(label=_(u'New document filename'), required=False)
|
||||
|
||||
|
||||
class DocumentTypeSelectForm(forms.Form):
|
||||
|
||||
@@ -72,9 +72,9 @@ def upload_document_with_type(request, document_type_id, multiple=True):
|
||||
form = DocumentForm(request.POST, request.FILES, initial={'document_type':document_type})
|
||||
if form.is_valid():
|
||||
instance = form.save()
|
||||
if 'new_filename' in form.cleaned_data:
|
||||
if form.cleaned_data['new_filename']:
|
||||
instance.file_filename = form.cleaned_data['new_filename'].filename
|
||||
if 'document_type_available_filenames' in form.cleaned_data:
|
||||
if form.cleaned_data['document_type_available_filenames']:
|
||||
instance.file_filename = form.cleaned_data['document_type_available_filenames'].filename
|
||||
instance.save()
|
||||
|
||||
_save_metadata(request.GET, instance)
|
||||
@@ -161,7 +161,7 @@ def document_delete(request, document_id):
|
||||
def document_edit(request, document_id):
|
||||
document = get_object_or_404(Document, pk=document_id)
|
||||
if request.method == 'POST':
|
||||
form = DocumentForm_edit(request.POST)
|
||||
form = DocumentForm_edit(request.POST, initial={'document_type':document.document_type})
|
||||
if form.is_valid():
|
||||
try:
|
||||
document.delete_fs_links()
|
||||
@@ -170,6 +170,12 @@ def document_edit(request, document_id):
|
||||
return HttpResponseRedirect(reverse('document_list'))
|
||||
|
||||
document.file_filename = form.cleaned_data['new_filename']
|
||||
|
||||
print form.cleaned_data
|
||||
if 'document_type_available_filenames' in form.cleaned_data:
|
||||
if form.cleaned_data['document_type_available_filenames']:
|
||||
document.file_filename = form.cleaned_data['document_type_available_filenames'].filename
|
||||
|
||||
document.save()
|
||||
|
||||
try:
|
||||
@@ -181,7 +187,8 @@ def document_edit(request, document_id):
|
||||
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})
|
||||
form = DocumentForm_edit(instance=document, initial={
|
||||
'new_filename':document.file_filename, 'document_type':document.document_type})
|
||||
|
||||
return render_to_response('generic_form.html', {
|
||||
'form':form,
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
* Raise exception instead of returning error msg - DONE
|
||||
* Option to delete source staging file after upload - DONE
|
||||
* Jquery upload document upload form with ajax widget - NOT NEEDED (commit: b0f31f2a8f82ff0daca081005f2fcae3f5573df5)
|
||||
* Rename dropbox from document edit view - DONE
|
||||
* Document list filtering by metadata
|
||||
* Filterform date filtering widget
|
||||
* Validate GET data before saving file
|
||||
@@ -19,7 +20,6 @@
|
||||
* Change to model signal
|
||||
* Allow document type to be changed in document edit view
|
||||
* Implement single sign on or LDAP for intranets
|
||||
* Rename dropbox from document edit view
|
||||
* Ability to rename staging file during upload
|
||||
* Encrypting storage backend
|
||||
* Indicate in generic list which document don't exist in storage backend
|
||||
|
||||
Reference in New Issue
Block a user