Эх сурвалжийг харах

[search] Search page 500 when highlighting is null

Romain Rigaux 11 жил өмнө
parent
commit
190c6d06ec

+ 1 - 1
apps/search/src/search/models.py

@@ -136,7 +136,7 @@ class Result(models.Model):
     data_dict = json.loads(self.data)
 
     template = data_dict.get('template')
-    if with_highlighting:
+    if with_highlighting and data_dict.get('highlighting'):
       for field in data_dict.get('highlighting', []):
         template = re.sub('\{\{%s\}\}' % field, '{{{%s}}}' % field, template)
 

+ 3 - 3
apps/search/src/search/templates/admin_collections.mako

@@ -210,13 +210,13 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
       $("#importModal").modal("hide");
       $("#importModalBtn").button("reset");
       if (data.status == 0){
-        $(document).trigger("info", data.message + "<br/>${_('Imported:')}" + data.imported.join(", "));
+        $(document).trigger("info", data.message + "<br/>${_('Imported: ')}" + data.imported.join(", "));
       }
       else if (data.status == 1){
-        $(document).trigger("info", data.message + "<br/>${_('Imported:')}" + data.imported.join(", ") + "<br/>${_('Not imported:')}" + data.notImported.join(", "));
+        $(document).trigger("info", data.message + "<br/>${_('Imported: ')}" + data.imported.join(", ") + "<br/>${_('Not imported: ')}" + data.notImported.join(", "));
       }
       else {
-        $(document).trigger("error", data.message+ "<br/>${_('Not imported:')}" + data.notImported.join(", "));
+        $(document).trigger("error", data.message+ "<br/>${_('Not imported: ')}" + data.notImported.join(", "));
       }
     });
 

+ 8 - 0
apps/search/src/search/tests.py

@@ -92,6 +92,14 @@ class TestWithMockedSolr(TestSearchBase):
 
     assert_true('Showing 4 results' in response.content, response.content)
 
+  def test_empty_highlighting(self):
+    collection, created = Collection.objects.get_or_create(name='collection_1', solr_properties={})
+
+    assert_equal('[]', collection.result.get_highlighting())
+
+    assert_true('{{_version_}} {{affiliation}}' in collection.result.get_template(True), collection.result.get_template(True))
+
+
 
 SOLR_SCHEMA = """<?xml version="1.0" encoding="UTF-8" ?>
 <!--