Browse Source

[search] Do not convert to string multivalue fields

Now escapes the list of values.
There is only one level of nesting in multivalue fields.
Romain Rigaux 10 years ago
parent
commit
5838f00
2 changed files with 43 additions and 0 deletions
  1. 2 0
      apps/search/src/search/models.py
  2. 41 0
      apps/search/src/search/tests.py

+ 2 - 0
apps/search/src/search/models.py

@@ -806,6 +806,8 @@ def augment_solr_response(response, collection, query):
     for field, value in doc.iteritems():
       if isinstance(value, numbers.Number):
         escaped_value = value
+      elif isinstance(value, list): # Multivalue field
+        escaped_value = [smart_unicode(val, errors='replace') for val in value]
       else:
         value = smart_unicode(value, errors='replace')
         escaped_value = escape(value)

File diff suppressed because it is too large
+ 41 - 0
apps/search/src/search/tests.py


Some files were not shown because too many files changed in this diff