diff --git a/src/app/item-page/simple/field-components/clarin-generic-item-field/clarin-generic-item-field.component.ts b/src/app/item-page/simple/field-components/clarin-generic-item-field/clarin-generic-item-field.component.ts index e8174206450..c57d6723873 100644 --- a/src/app/item-page/simple/field-components/clarin-generic-item-field/clarin-generic-item-field.component.ts +++ b/src/app/item-page/simple/field-components/clarin-generic-item-field/clarin-generic-item-field.component.ts @@ -148,7 +148,8 @@ export class ClarinGenericItemFieldComponent implements OnInit { } const searchType = convertMetadataFieldIntoSearchType(this.fields); - return this.baseUrl + '/search?f.' + searchType + '=' + metadataValue + ',equals'; + return this.baseUrl + '/search?f.' + encodeURIComponent(searchType) + '=' + + encodeURIComponent(metadataValue) + ',equals'; } /** diff --git a/src/app/shared/clarin-item-box-view/clarin-item-box-view.component.ts b/src/app/shared/clarin-item-box-view/clarin-item-box-view.component.ts index cd9fecbed94..8dc1defc1f1 100644 --- a/src/app/shared/clarin-item-box-view/clarin-item-box-view.component.ts +++ b/src/app/shared/clarin-item-box-view/clarin-item-box-view.component.ts @@ -147,7 +147,8 @@ export class ClarinItemBoxViewComponent implements OnInit { this.itemUri = getItemPageRoute(this.item); this.itemDescription = this.item?.firstMetadataValue('dc.description'); this.itemPublisher = this.item?.firstMetadataValue('dc.publisher'); - this.publisherRedirectLink = this.baseUrl + '/search?f.publisher=' + this.itemPublisher + ',equals'; + this.publisherRedirectLink = this.baseUrl + '/search?f.publisher=' + encodeURIComponent(this.itemPublisher) + + ',equals'; this.itemDate = this.clarinDateService.composeItemDate(this.item); await this.assignBaseUrl(); @@ -192,8 +193,9 @@ export class ClarinItemBoxViewComponent implements OnInit { .pipe(getFirstSucceededRemoteDataPayload()) .subscribe((community: Community) => { this.itemCommunity.next(community); - this.communitySearchRedirect.next(this.baseUrl + '/search?f.items_owning_community=' + - this.dsoNameService.getName(community) + ',equals'); + const encodedRedirectLink = this.baseUrl + + '/search?f.items_owning_community=' + encodeURIComponent(this.dsoNameService.getName(community)) + ',equals'; + this.communitySearchRedirect.next(encodedRedirectLink); }); }); } diff --git a/src/app/shared/clarin-shared-util.ts b/src/app/shared/clarin-shared-util.ts index e94ad04bf3d..89ff26c149e 100644 --- a/src/app/shared/clarin-shared-util.ts +++ b/src/app/shared/clarin-shared-util.ts @@ -63,7 +63,7 @@ export function loadItemAuthors(item, itemAuthors, baseUrl, fields) { } const itemAuthorsLocal = []; authorsMV.forEach((authorMV: MetadataValue) => { - const authorSearchLink = baseUrl + '/search?f.author=' + authorMV.value + ',equals'; + const authorSearchLink = baseUrl + '/search?f.author=' + encodeURIComponent(authorMV.value) + ',equals'; const authorNameLink = Object.assign(new AuthorNameLink(), { name: authorMV.value, url: authorSearchLink