Bug 12405 - Search links on callnumber fails on intranet results page
On intranet results page, the callnumber of items is a search like : /cgi-bin/koha/catalogue/search.pl?idx=callnum&q=[% result.itemcallnumber |url %] The callnumber should be URI-escaped to avoid special URI characters like & , ? ... If the callnumber contains some CCL words or parenthesis, the search will fail, it should be wrapped with double-quotes. This patch adds this to catalogue/results.pl and catalogue/shelves.pl : - uri TT filter instead of url - adds double-quotes using there URI code %22 since its in a HTML attribute using double-quotes Test plan : - Edit an item callnumber with : & ABC 123 - Index zebraqueue - Perform a search returning this item - Click on the callnumber => Without this patch you get no result, because URL parameters are : idx=callnum&q=& ABC 123 => With this patch you get results - Set syspref QueryWeightFields off (because this is no bug if on) - Edit an item callnumber with : AB(C) AND OR - Index zebraqueue - Perform a search returning this item - Click on the callnumber => Without this patch you get no result, because the search contains CCL words "OR" and "AND" => With this patch you get results Signed-off-by: Liz Rea <liz@catalyst.net.nz> Tested all with and without queryweightfields - all searches from clicked call numbers for given callnumbers fail without the patch, all are successful with the patch. Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Works as described - no problems found. Passes tests and QA script. Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
parent
bf26d347c1
commit
3ce2c0235c
|
|
@ -509,7 +509,7 @@ var holdForPatron = function () {
|
|||
[% IF ( SEARCH_RESULT.size ) %] ; [% SEARCH_RESULT.size %][% END %]</span> [% IF ( SEARCH_RESULT.isbn ) %]<span class="results_isbn">ISBN: [% SEARCH_RESULT.isbn | replace('\s\|', ', ')%]</span>[% END %]
|
||||
<span class="results_itemtype">[% SEARCH_RESULT.description %]</span>
|
||||
[% IF ( SEARCH_RESULT.timestamp ) %] <i>(modified on [% SEARCH_RESULT.timestamp %])</i>[% END %]
|
||||
[% IF ( SEARCH_RESULT.cn_class ) %][<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=[% SEARCH_RESULT.cn_class |url %]">[% SEARCH_RESULT.cn_class %]</a>][% END %]
|
||||
[% IF ( SEARCH_RESULT.cn_class ) %][<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=%22[% SEARCH_RESULT.cn_class |uri %]%22">[% SEARCH_RESULT.cn_class %]</a>][% END %]
|
||||
</p>
|
||||
[% IF ( SEARCH_RESULT.searchhighlightblob ) %]<p class="searchhighlightblob">[% SEARCH_RESULT.searchhighlightblob %]</p>[% END %]
|
||||
|
||||
|
|
@ -553,7 +553,7 @@ var holdForPatron = function () {
|
|||
[% END %]
|
||||
[% IF ( available_items_loo.branchname ) %][% available_items_loo.branchname %][% END %]
|
||||
[% IF ( available_items_loo.location ) %][% available_items_loo.location %][% END %]
|
||||
[% IF ( available_items_loo.itemcallnumber ) %][<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=[% available_items_loo.itemcallnumber |url %]">[% available_items_loo.itemcallnumber %]</a>][% END %]
|
||||
[% IF ( available_items_loo.itemcallnumber ) %][<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=%22[% available_items_loo.itemcallnumber |uri %]%22">[% available_items_loo.itemcallnumber %]</a>][% END %]
|
||||
([% available_items_loo.count %])
|
||||
[% IF item_level_itypes && available_items_loo.description %]
|
||||
<br/>[% available_items_loo.description %]
|
||||
|
|
@ -575,7 +575,7 @@ var holdForPatron = function () {
|
|||
[% END %]
|
||||
[% IF ( onloan_items_loo.branchname ) %][% onloan_items_loo.branchname %][% END %]
|
||||
[% IF ( onloan_items_loo.location ) %][% onloan_items_loo.location %][% END %]
|
||||
[% IF ( onloan_items_loo.itemcallnumber ) %][<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=[% onloan_items_loo.itemcallnumber |url %]">[% onloan_items_loo.itemcallnumber %]</a>][% END %]
|
||||
[% IF ( onloan_items_loo.itemcallnumber ) %][<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=%22[% onloan_items_loo.itemcallnumber |uri %]%22">[% onloan_items_loo.itemcallnumber %]</a>][% END %]
|
||||
([% onloan_items_loo.count %][% IF ( onloan_items_loo.longoverdue ) %], [% onloan_items_loo.longoverdue %] long overdue[% END %]) date due: [% onloan_items_loo.due_date %]
|
||||
[% IF item_level_itypes && onloan_items_loo.description %]
|
||||
<br/>[% onloan_items_loo.description %]
|
||||
|
|
@ -597,7 +597,7 @@ var holdForPatron = function () {
|
|||
[% END %]
|
||||
[% IF ( other_items_loo.branchname ) %][% other_items_loo.branchname %][% END %]
|
||||
[% IF ( other_items_loo.location ) %][% other_items_loo.location %][% END %]
|
||||
[% IF ( other_items_loo.itemcallnumber ) %][<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=[% other_items_loo.itemcallnumber |url %]">[% other_items_loo.itemcallnumber %]</a>][% END %]
|
||||
[% IF ( other_items_loo.itemcallnumber ) %][<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=%22[% other_items_loo.itemcallnumber |uri %]%22">[% other_items_loo.itemcallnumber %]</a>][% END %]
|
||||
[% IF ( other_items_loo.withdrawn ) %](Withdrawn)[% END %]
|
||||
[% IF ( other_items_loo.itemlost ) %](Lost)[% END %]
|
||||
[% IF ( other_items_loo.damaged ) %](Damaged)[% END %]
|
||||
|
|
|
|||
|
|
@ -383,7 +383,7 @@ function placeHold () {
|
|||
[% FOREACH result IN itemsloo.ITEM_RESULTS %]
|
||||
<li>[% result.holdingbranch %] [% IF ( result.location_intranet ) %] ([% result.location_intranet %]) [% END %]
|
||||
[% IF ( result.itemcallnumber ) %]
|
||||
[<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=[% result.itemcallnumber |url %]">[% result.itemcallnumber %]</a>]
|
||||
[<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=%22[% result.itemcallnumber |uri %]%22">[% result.itemcallnumber %]</a>]
|
||||
[% END %]
|
||||
</li>
|
||||
[% END %]
|
||||
|
|
|
|||
Loading…
Reference in New Issue