瀏覽代碼

HUE-5984 [search] Escaping corrupts link-meta for building external links in grid dashboard

Romain Rigaux 8 年之前
父節點
當前提交
9030d59
共有 2 個文件被更改,包括 23 次插入9 次删除
  1. 8 8
      desktop/libs/dashboard/src/dashboard/models.py
  2. 15 1
      desktop/libs/dashboard/src/dashboard/tests.py

+ 8 - 8
desktop/libs/dashboard/src/dashboard/models.py

@@ -567,6 +567,14 @@ def augment_response(collection, query, response):
     id_field = collection.get('idField', '')
 
     for doc in response['response']['docs']:
+      link = None
+      if 'link-meta' in doc:
+        meta = json.loads(doc['link-meta'])
+        link = get_data_link(meta)
+      elif 'link' in doc:
+        meta = {'type': 'link', 'link': doc['link']}
+        link = get_data_link(meta)
+
       for field, value in doc.iteritems():
         if isinstance(value, numbers.Number):
           escaped_value = value
@@ -579,14 +587,6 @@ def augment_response(collection, query, response):
           escaped_value = escape(value)
         doc[field] = escaped_value
 
-      link = None
-      if 'link-meta' in doc:
-        meta = json.loads(doc['link-meta'])
-        link = get_data_link(meta)
-      elif 'link' in doc:
-        meta = {'type': 'link', 'link': doc['link']}
-        link = get_data_link(meta)
-
       doc['externalLink'] = link
       doc['details'] = []
       doc['hueId'] = smart_unicode(doc.get(id_field, ''))

文件差異過大導致無法顯示
+ 15 - 1
desktop/libs/dashboard/src/dashboard/tests.py


部分文件因文件數量過多而無法顯示