Răsfoiți Sursa

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

Romain Rigaux 8 ani în urmă
părinte
comite
9030d59126

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

@@ -567,6 +567,14 @@ def augment_response(collection, query, response):
     id_field = collection.get('idField', '')
     id_field = collection.get('idField', '')
 
 
     for doc in response['response']['docs']:
     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():
       for field, value in doc.iteritems():
         if isinstance(value, numbers.Number):
         if isinstance(value, numbers.Number):
           escaped_value = value
           escaped_value = value
@@ -579,14 +587,6 @@ def augment_response(collection, query, response):
           escaped_value = escape(value)
           escaped_value = escape(value)
         doc[field] = escaped_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['externalLink'] = link
       doc['details'] = []
       doc['details'] = []
       doc['hueId'] = smart_unicode(doc.get(id_field, ''))
       doc['hueId'] = smart_unicode(doc.get(id_field, ''))

Fișier diff suprimat deoarece este prea mare
+ 15 - 1
desktop/libs/dashboard/src/dashboard/tests.py


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff