Handle unicode url data from the metadata
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import ugettext
|
||||
@@ -7,6 +6,7 @@ from django.utils.http import urlencode
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.forms.formsets import formset_factory
|
||||
from django.utils.http import urlquote_plus
|
||||
|
||||
from staging import StagingFile
|
||||
|
||||
@@ -196,8 +196,8 @@ class DocumentCreateWizard(BoundFormWizard):
|
||||
self.urldata = []
|
||||
for id, metadata in enumerate(form.cleaned_data):
|
||||
if metadata['value']:
|
||||
self.urldata.append(('metadata%s_id' % id,metadata['id']))
|
||||
self.urldata.append(('metadata%s_value' % id,metadata['value']))
|
||||
self.urldata.append(('metadata%s_id' % id, metadata['id']))
|
||||
self.urldata.append(('metadata%s_value' % id, urlquote_plus(metadata['value']))
|
||||
|
||||
def get_template(self, step):
|
||||
return 'generic_wizard.html'
|
||||
@@ -211,5 +211,5 @@ class DocumentCreateWizard(BoundFormWizard):
|
||||
url = reverse(view, args=[self.document_type.id])
|
||||
return HttpResponseRedirect('%s?%s' % (url, urlencode(self.urldata)))
|
||||
|
||||
|
||||
urlquote_plus
|
||||
MetadataFormSet = formset_factory(MetadataForm, extra=0)
|
||||
|
||||
@@ -97,5 +97,5 @@ def save_metadata(metadata_dict, document):
|
||||
metadata_type=get_object_or_404(MetadataType, pk=metadata_dict['id']),
|
||||
)
|
||||
#Handle 'plus sign as space' in the url
|
||||
document_metadata.value=unquote_plus(metadata_dict['value'])
|
||||
document_metadata.value=unquote_plus(metadata_dict['value']).decode('utf-8')
|
||||
document_metadata.save()
|
||||
|
||||
@@ -11,6 +11,7 @@ from django.conf import settings
|
||||
from django.utils.http import urlencode
|
||||
from django.template.defaultfilters import slugify
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.utils.http import urlquote_plus
|
||||
|
||||
from common.utils import pretty_size
|
||||
from permissions.api import check_permissions, Unauthorized
|
||||
@@ -95,8 +96,8 @@ def document_create_sibling(request, document_id, multiple=True):
|
||||
urldata = []
|
||||
for id, metadata in enumerate(document.documentmetadata_set.all()):
|
||||
if hasattr(metadata, 'value'):
|
||||
urldata.append(('metadata%s_id' % id,metadata.metadata_type.id))
|
||||
urldata.append(('metadata%s_value' % id,metadata.value))
|
||||
urldata.append(('metadata%s_id' % id, metadata.metadata_type.id))
|
||||
urldata.append(('metadata%s_value' % id, urlquote_plus(metadata.value)))
|
||||
|
||||
if multiple:
|
||||
view = 'upload_multiple_documents_with_type'
|
||||
|
||||
Reference in New Issue
Block a user