diff --git a/app/assets/javascripts/admin/routes/admin-search-logs-term.js.es6 b/app/assets/javascripts/admin/routes/admin-search-logs-term.js.es6
index 65c5c92eeb..30d6882786 100644
--- a/app/assets/javascripts/admin/routes/admin-search-logs-term.js.es6
+++ b/app/assets/javascripts/admin/routes/admin-search-logs-term.js.es6
@@ -1,5 +1,6 @@
import { ajax } from 'discourse/lib/ajax';
import { fillMissingDates } from 'discourse/lib/utilities';
+import { translateResults } from "discourse/lib/search";
export default Discourse.Route.extend({
queryParams: {
@@ -22,6 +23,9 @@ export default Discourse.Route.extend({
const endDate = moment(json.term.end_date).format('YYYY-MM-DD');
json.term.data = fillMissingDates(json.term.data, startDate, endDate);
}
+ if (json.term.search_result) {
+ json.term.search_result = translateResults(json.term.search_result)
+ }
const model = Ember.Object.create({ type: "search_log_term" });
model.setProperties(json.term);
diff --git a/app/assets/javascripts/admin/templates/search-logs-term.hbs b/app/assets/javascripts/admin/templates/search-logs-term.hbs
index c405a86d35..5e640039c3 100644
--- a/app/assets/javascripts/admin/templates/search-logs-term.hbs
+++ b/app/assets/javascripts/admin/templates/search-logs-term.hbs
@@ -10,4 +10,53 @@
{{#conditional-loading-spinner condition=refreshing}}
{{admin-graph model=model}}
+
+
+
{{i18n "admin.logs.search_logs.header_search_results"}}
+
+
+
{{/conditional-loading-spinner}}
diff --git a/app/assets/stylesheets/common/admin/admin_base.scss b/app/assets/stylesheets/common/admin/admin_base.scss
index 2054ba8037..d4fd7e823c 100644
--- a/app/assets/stylesheets/common/admin/admin_base.scss
+++ b/app/assets/stylesheets/common/admin/admin_base.scss
@@ -237,6 +237,10 @@ $mobile-breakpoint: 700px;
width: 200px;
float: right;
}
+ .header-search-results {
+ clear: both;
+ padding: 4px;
+ }
}
.admin-container .controls {
@@ -368,7 +372,7 @@ $mobile-breakpoint: 700px;
}
.d-editor-textarea-wrapper {
- max-width: 60%;
+ max-width: 60%;
.d-editor-button-bar {
overflow: hidden;
}
diff --git a/app/controllers/admin/search_logs_controller.rb b/app/controllers/admin/search_logs_controller.rb
index 4008ba85a7..bdbfc8f54e 100644
--- a/app/controllers/admin/search_logs_controller.rb
+++ b/app/controllers/admin/search_logs_controller.rb
@@ -16,6 +16,8 @@ class Admin::SearchLogsController < Admin::AdminController
details = SearchLog.term_details(term, period&.to_sym, search_type&.to_sym)
raise Discourse::NotFound if details.blank?
+ result = Search.execute(params[:term], { guardian: guardian })
+ details[:search_result] = serialize_data(result, GroupedSearchResultSerializer, result: result)
render_json_dump(term: details)
end
diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml
index f56b2d0633..ff150f7fb3 100644
--- a/config/locales/client.en.yml
+++ b/config/locales/client.en.yml
@@ -3258,6 +3258,7 @@ en:
header: "Header"
full_page: "Full Page"
click_through_only: "All (click through only)"
+ header_search_results: "Header Search Results"
logster:
title: "Error Logs"
diff --git a/lib/search.rb b/lib/search.rb
index 6f553a4945..30c5b00b99 100644
--- a/lib/search.rb
+++ b/lib/search.rb
@@ -180,7 +180,7 @@ class Search
# Query a term
def execute
- if SiteSetting.log_search_queries?
+ if SiteSetting.log_search_queries? && @opts[:search_type].present?
status, search_log_id = SearchLog.log(
term: @term,
search_type: @opts[:search_type],
diff --git a/spec/components/search_spec.rb b/spec/components/search_spec.rb
index 16cdae30a2..436fabbc23 100644
--- a/spec/components/search_spec.rb
+++ b/spec/components/search_spec.rb
@@ -915,6 +915,12 @@ describe Search do
results = s.execute
expect(results.search_log_id).to be_present
end
+
+ it "does not log search if search_type is not present" do
+ s = Search.new('foo bar',ip_address: '127.0.0.1')
+ results = s.execute
+ expect(results.search_log_id).not_to be_present
+ end
end
context 'pagination' do
diff --git a/spec/requests/admin/search_logs_spec.rb b/spec/requests/admin/search_logs_spec.rb
index 3a4e2784e9..c6e058a8c8 100644
--- a/spec/requests/admin/search_logs_spec.rb
+++ b/spec/requests/admin/search_logs_spec.rb
@@ -52,6 +52,7 @@ RSpec.describe Admin::SearchLogsController do
json = ::JSON.parse(response.body)
expect(json['term']['type']).to eq('search_log_term')
+ expect(json['term']['search_result']).to be_present
end
end
end
diff --git a/test/javascripts/acceptance/admin-search-log-term-test.js.es6 b/test/javascripts/acceptance/admin-search-log-term-test.js.es6
index ed4a1423d0..9d3fbd6b43 100644
--- a/test/javascripts/acceptance/admin-search-log-term-test.js.es6
+++ b/test/javascripts/acceptance/admin-search-log-term-test.js.es6
@@ -6,5 +6,6 @@ QUnit.test("show search log term details", assert => {
andThen(() => {
assert.ok($('div.search-logs-filter').length, "has the search type filter");
assert.ok(exists('canvas.chartjs-render-monitor'), "has graph canvas");
+ assert.ok(exists('div.header-search-results'), "has header search results");
});
});