Skip to content

Commit a92439b

Browse files
authored
Merge pull request #445 from TechnologyEnhancedLearning/Develop/Fixes/TD-4330_Resource-links-in-search-results-direct-to-error-page
TD-4330: Resource links in search results direct to error page
2 parents 998a23b + e1ec6ee commit a92439b

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

LearningHub.Nhs.WebUI/Views/Search/_ResourceSearchResult.cshtml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,21 @@
1414
var index = pagingModel.CurrentPage * pagingModel.PageSize;
1515
var searchString = HttpUtility.UrlEncode(Model.SearchString);
1616
var searchSignal = resourceResult.Feedback?.FeedbackAction?.Payload?.SearchSignal;
17-
17+
int qVectorIndex = searchSignal.Query?.IndexOf("q_vector") ?? -1;
18+
var searchSignalQuery = searchSignal?.Query;
19+
// Check if "q_vector" is found in the string. if Yes, Remove "q_vector" and everything after it
20+
if (qVectorIndex != -1)
21+
{
22+
searchSignalQuery = searchSignal?.Query.Substring(0, qVectorIndex);
23+
}
1824
string GetUrl(int resourceReferenceId, int itemIndex, int nodePathId)
1925
{
2026
string groupId = HttpUtility.UrlEncode(Model.GroupId.ToString());
21-
string searchSignalQueryEncoded = HttpUtility.UrlEncode(HttpUtility.UrlDecode(searchSignal?.Query));
27+
string searchSignalQueryEncoded = HttpUtility.UrlEncode(HttpUtility.UrlDecode(searchSignalQuery));
2228

2329
return $@"/search/record-resource-click?url=/Resource/{resourceReferenceId}&nodePathId={nodePathId}&itemIndex={itemIndex}
2430
&pageIndex={pagingModel.CurrentPage}&totalNumberOfHits={resourceResult.TotalHits}&searchText={searchString}&resourceReferenceId={resourceReferenceId}
25-
&groupId={groupId}&searchId={searchSignal?.SearchId}&timeOfSearch={searchSignal?.TimeOfSearch}&userQuery={HttpUtility.UrlEncode(searchSignal?.UserQuery)}&query={searchSignalQueryEncoded}";
31+
&groupId={groupId}&searchId={searchSignal?.SearchId}&timeOfSearch={searchSignal?.TimeOfSearch}&userQuery={HttpUtility.UrlEncode(searchSignal.UserQuery)}&query={searchSignalQueryEncoded}";
2632
}
2733

2834
bool showCatalogueFieldsInResources = ViewBag.ShowCatalogueFieldsInResources == null || ViewBag.ShowCatalogueFieldsInResources == true;

0 commit comments

Comments
 (0)