Koha/koha-tmpl/intranet-tmpl/prog/en/includes/authorities_js.inc
Phil Ringnalda 16e5a9d8dc Bug 26606: Correctly URI-encode query string in URL loaded after deleting an authority record
If you search for "this & that" and delete one of the results, after
it is deleted the search in the reloaded page is for "this " rather
than for "this & that". The template uses the url filter, which is
for filtering an entire URI where :, &, #, etc. should be left alone,
rather than the uri filter which is for filtering a URI component
where they should be encoded.

To test:
1) Go to Authorities > New authority > New from Z39.50/SRU
2) Search for the Author (corporate) this & that collective
3) Actions > Import, Save
4) From the detail for that authority, Edit > Edit as new (duplicate)
5) Edit the 110 field, add 2 at the end and Save
6) Search authorities for this & that
7) For one of the ones you created, Actions > Delete, confirm
8) The page that reloads should have a search for this & that, not
just for this

Signed-off-by: Didier Gautheron <didier.gautheron@biblibre.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2020-10-26 00:16:14 +01:00

95 lines
3.6 KiB
PHP

<!-- authorities_js.inc -->
<script>
function mergeAuth(authid, summary) {
var alreadySelected = Cookies.get('auth_to_merge');
if (alreadySelected !== undefined) {
alreadySelected = JSON.parse(alreadySelected);
Cookies.remove('auth_to_merge');
var refstring = "";
if (typeof alreadySelected.mergereference !== 'undefined') {
refstring = "&mergereference=" + alreadySelected.mergereference;
}
window.location.href = "/cgi-bin/koha/authorities/merge.pl?authid=" + authid + "&authid=" + alreadySelected.authid + refstring;
} else {
Cookies.set('auth_to_merge', JSON.stringify({ 'authid': authid, 'summary': summary }), { 'path' : '/' });
showMergingInProgress();
}
}
function showMergingInProgress() {
var alreadySelected = Cookies.get('auth_to_merge');
if (alreadySelected !== undefined) {
alreadySelected = JSON.parse(alreadySelected);
$('#merge_in_progress').html(_("Merging with authority: ") + "<a href='detail.pl?authid=" + alreadySelected.authid + "'><span class='authorizedheading'>" + alreadySelected.summary + "</span> (" + alreadySelected.authid + ")</a> <a href='#' id='cancel_merge'>" + _("Cancel merge") + "</a>");
$('#cancel_merge').click(function(event) {
event.preventDefault();
Cookies.remove('auth_to_merge');
$('#merge_in_progress').empty();
});
} else {
$('#merge_in_progress').empty();
}
}
function confirm_deletion(id) {
var is_confirmed = confirm(_("Are you sure you want to delete this authority?"));
if( !id ){
id = "[% authid | html %]";
}
if (is_confirmed) {
window.location="authorities-home.pl?op=delete"
+ "&authid=" + id
+ "&type=intranet"
+ "&authtypecode=[% authtypecode | html %]"
+ "&marclist=[% marclist | html %]"
+ "&and_or=[% and_or | html %]"
+ "&excluding=[% excluding | html %]"
+ "&operator=[% operator | html %]"
+ "&orderby=[% orderby | html %]"
+ "&value=[% value |uri %]"
+ "&startfrom=[% startfrom | html %]"
+ "&resultsperpage=[% resultsperpage | html %]"
+ "&csrf_token=[% csrf_token | html %]";
}
}
$(document).ready(function () {
showMergingInProgress();
$('.merge_auth').click(function (event) {
event.preventDefault();
mergeAuth($(this).parents('tr').attr('data-authid'), $(this).parents('tr').find('div.authorizedheading').text());
});
$("#delAuth").click(function(){
confirm_deletion();
return false;
});
$("#z3950_new").click(function(e){
e.preventDefault();
window.open("/cgi-bin/koha/cataloguing/z3950_auth_search.pl","z3950search",'width=800,height=500,location=yes,toolbar=no,scrollbars=yes,resize=yes');
});
$("#z3950_replace").click(function(e){
e.preventDefault();
window.open("/cgi-bin/koha/cataloguing/z3950_auth_search.pl?authid=[% authid | html %]","z3950search",'width=800,height=500,location=yes,toolbar=no,scrollbars=yes,resize=yes');
});
var searchType = '[% marclist | html %]';
if (searchType) {
if ('mainmainentry' == searchType) {
$("#header_search").tabs( "option", "active", 0 );
} else if ('mainentry' == searchType) {
$("#header_search").tabs( "option", "active", 1 );
} else if ('match' == searchType) {
$("#header_search").tabs( "option", "active", 2 );
} else if ('all' == searchType) {
$("#header_search").tabs( "option", "active", 3 );
}
}
});
</script>
<!-- / authorities_js.inc -->