Show current metadata in document upload view

This commit is contained in:
Roberto Rosario
2011-03-09 15:27:08 -04:00
parent 1148cae5e5
commit fa073237b2
5 changed files with 109 additions and 13 deletions

View File

@@ -31,6 +31,8 @@ def save_metadata_list(metadata_list, document):
if item['value']:
save_metadata(item, document)
else:
#If there is no metadata value, delete the metadata entry
#completely from the document
try:
metadata_type = MetadataType.objects.get(id=item['id'])
document_metadata = DocumentMetadata.objects.get(document=document,
@@ -52,3 +54,21 @@ def save_metadata(metadata_dict, document):
#http://stackoverflow.com/questions/4382875/handling-iri-in-django
document_metadata.value=unquote_plus(metadata_dict['value'])#.decode('utf-8')
document_metadata.save()
def metadata_repr(metadata_list):
return ', '.join(metadata_repr_as_list(metadata_list))
def metadata_repr_as_list(metadata_list):
output = []
for metadata_dict in metadata_list:
try:
output.append('%s - %s' % (MetadataType.objects.get(pk=metadata_dict['id']), metadata_dict.get('value', '')))
except:
pass
return output

View File

@@ -50,7 +50,8 @@ from forms import DocumentTypeSelectForm, DocumentCreateWizard, \
StagingDocumentForm, DocumentTypeMetadataType, DocumentPreviewForm, \
MetadataFormSet, DocumentPageForm, DocumentPageTransformationForm
from metadata import save_metadata, save_metadata_list, decode_metadata_from_url
from metadata import save_metadata, save_metadata_list, \
decode_metadata_from_url, metadata_repr_as_list
from models import Document, DocumentMetadata, DocumentType, MetadataType, \
DocumentPage, DocumentPageTransformation
from staging import StagingFile
@@ -227,7 +228,16 @@ def upload_document_with_type(request, document_type_id, multiple=True):
'grid_clear':True,
},
)
context.update({
'sidebar_subtemplates_list':[
{
'title':_(u'Current metadata'),
'name':'generic_subtemplate.html',
#'content':metadata_repr(decode_metadata_from_url(request.GET)),
'paragraphs':metadata_repr_as_list(decode_metadata_from_url(request.GET))
}]
})
return render_to_response('generic_form.html', context,
context_instance=RequestContext(request))