mirror of https://github.com/kiwix/libkiwix.git
Got rid of static/templates/no_search_result.html
The "Fulltext search unavailable" error page is now generated using the static/templates/error.html template. Also added two test cases checking that error page.
This commit is contained in:
parent
dbcbdff275
commit
ae1bf39023
|
@ -447,6 +447,11 @@ std::string noSuchBookErrorMsg(const std::string& bookName)
|
||||||
return "No such book: " + bookName;
|
return "No such book: " + bookName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string noSearchResultsMsg()
|
||||||
|
{
|
||||||
|
return "The fulltext search engine is not available for this content.";
|
||||||
|
}
|
||||||
|
|
||||||
} // unnamed namespace
|
} // unnamed namespace
|
||||||
|
|
||||||
std::unique_ptr<Response> InternalServer::handle_suggest(const RequestContext& request)
|
std::unique_ptr<Response> InternalServer::handle_suggest(const RequestContext& request)
|
||||||
|
@ -591,12 +596,12 @@ std::unique_ptr<Response> InternalServer::handle_search(const RequestContext& re
|
||||||
} catch(std::runtime_error& e) {
|
} catch(std::runtime_error& e) {
|
||||||
// Searcher->search will throw a runtime error if there is no valid xapian database to do the search.
|
// Searcher->search will throw a runtime error if there is no valid xapian database to do the search.
|
||||||
// (in case of zim file not containing a index)
|
// (in case of zim file not containing a index)
|
||||||
auto data = get_default_data();
|
return HTTPErrorHtmlResponse(*this, request, MHD_HTTP_NOT_FOUND,
|
||||||
data.set("pattern", encodeDiples(searchInfo.pattern));
|
"Fulltext search unavailable",
|
||||||
auto response = ContentResponse::build(*this, RESOURCE::templates::no_search_result_html, data, "text/html; charset=utf-8");
|
"Not Found",
|
||||||
response->set_code(MHD_HTTP_NOT_FOUND);
|
m_root + "/skin/search_results.css")
|
||||||
response->set_taskbar(searchInfo.bookName, archive.get());
|
+ noSearchResultsMsg()
|
||||||
return std::move(response);
|
+ TaskbarInfo(searchInfo.bookName, archive.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@ skin/fonts/Roboto.ttf
|
||||||
skin/block_external.js
|
skin/block_external.js
|
||||||
skin/search_results.css
|
skin/search_results.css
|
||||||
templates/search_result.html
|
templates/search_result.html
|
||||||
templates/no_search_result.html
|
|
||||||
templates/error.html
|
templates/error.html
|
||||||
templates/index.html
|
templates/index.html
|
||||||
templates/suggestion.json
|
templates/suggestion.json
|
||||||
|
|
|
@ -18,7 +18,7 @@ a:hover {
|
||||||
text-decoration: underline
|
text-decoration: underline
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
h1 {
|
||||||
font-size: 120%;
|
font-size: 120%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta content="text/html;charset=UTF-8" http-equiv="content-type" />
|
|
||||||
<title>Fulltext search unavailable</title>
|
|
||||||
<link type="text/css" href="{{root}}/skin/search_results.css" rel="Stylesheet" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="header">Not found</div>
|
|
||||||
<p>
|
|
||||||
There is no article with the title <b> "{{pattern}}"</b>
|
|
||||||
and the fulltext search engine is not available for this content.
|
|
||||||
</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -686,6 +686,18 @@ TEST_F(ServerTest, 404WithBodyTesting)
|
||||||
Cannot find content entry invalid-article
|
Cannot find content entry invalid-article
|
||||||
</p>
|
</p>
|
||||||
)" },
|
)" },
|
||||||
|
|
||||||
|
{ /* url */ "/ROOT/search?content=poor&pattern=whatever",
|
||||||
|
expected_page_title=="Fulltext search unavailable" &&
|
||||||
|
expected_css_url=="/ROOT/skin/search_results.css" &&
|
||||||
|
book_name=="poor" &&
|
||||||
|
book_title=="poor" &&
|
||||||
|
expected_body==R"(
|
||||||
|
<h1>Not Found</h1>
|
||||||
|
<p>
|
||||||
|
The fulltext search engine is not available for this content.
|
||||||
|
</p>
|
||||||
|
)" },
|
||||||
};
|
};
|
||||||
|
|
||||||
for ( const auto& t : testData ) {
|
for ( const auto& t : testData ) {
|
||||||
|
|
Loading…
Reference in New Issue