Bugzilla – Attachment 137415 Details for
Bug 30952
New design for staff interface
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 30952: script searchbar
Bug-30952-script-searchbar.patch (text/plain), 188.26 KB, created by
Solene D
on 2022-07-08 13:34:40 UTC
(
hide
)
Description:
Bug 30952: script searchbar
Filename:
MIME Type:
Creator:
Solene D
Created:
2022-07-08 13:34:40 UTC
Size:
188.26 KB
patch
obsolete
>From 10585d2cb5d9e99d4c62d510065c26f222e04848 Mon Sep 17 00:00:00 2001 >From: Solene Desvaux <sdesvaux@biblibre.com> >Date: Fri, 8 Jul 2022 13:45:24 +0200 >Subject: [PATCH] Bug 30952: script searchbar > >--- > .../prog/en/includes/acquisitions-search.inc | 86 +-- > .../prog/en/includes/adv-search.inc | 82 +-- > .../prog/en/includes/authorities-search.inc | 90 +-- > .../prog/en/includes/budgets-admin-search.inc | 78 +-- > .../prog/en/includes/cat-search.inc | 38 +- > .../prog/en/includes/cataloging-search.inc | 41 +- > .../prog/en/includes/checkin-search.inc | 83 +-- > .../prog/en/includes/circ-search.inc | 75 +-- > .../prog/en/includes/cities-admin-search.inc | 75 +-- > .../en/includes/contracts-admin-search.inc | 75 +-- > .../en/includes/currencies-admin-search.inc | 75 +-- > .../prog/en/includes/desks-admin-search.inc | 75 +-- > .../prog/en/includes/home-search.inc | 78 +-- > .../prog/en/includes/letters-search.inc | 75 +-- > .../prog/en/includes/patron-search-header.inc | 88 +-- > .../prog/en/includes/patrons-admin-search.inc | 75 +-- > .../prog/en/includes/prefs-admin-search.inc | 78 +-- > .../prog/en/includes/searchbaruse.inc | 72 +++ > .../prog/en/includes/serials-search.inc | 74 +-- > .../prog/en/includes/subscriptions-search.inc | 26 +- > .../en/includes/suggestions-add-search.inc | 75 +-- > .../prog/en/includes/z3950-admin-search.inc | 75 +-- > .../prog/en/modules/admin/didyoumean.tt | 106 ++-- > .../prog/en/modules/circ/circulation.tt | 184 ++++-- > .../prog/en/modules/reserve/request.tt | 598 +++++++++--------- > .../tools/batch_record_modification.tt | 87 +-- > 26 files changed, 661 insertions(+), 1903 deletions(-) > create mode 100644 koha-tmpl/intranet-tmpl/prog/en/includes/searchbaruse.inc > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-search.inc >index 58a74deda0..38b94ea751 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-search.inc >@@ -13,11 +13,11 @@ > <input type="text" id="title" style="display:inline;left: 125px;" class="focus" placeholder="Title" name="title" size="13" value="[% title | html %]" /> > <input type="text" id="searchsupplier" style="display:inline" class="focus" placeholder="Vendor" name="name" size="13" value="[% name | html %]" /> > <input type="hidden" id="do_search" name="do_search" value="do" /> >- <span class="filteraction" id="filteraction_off" style="display:none"> <a href="#" class="toggle_element" data-element="#filtres,.filteraction">[-]</a></span> >- <span class="filteraction" id="filteraction_on"> <a href="#" class="toggle_element" data-element="#filtres,.filteraction">[+]</a></span> >+ <span class="filteraction" id="filteraction_off" style="display:none"> <a href="#" class="toggle_element" data-element="#open,.filteraction">[-]</a></span> >+ <span class="filteraction" id="filteraction_on"> <a href="#" class="toggle_element" data-element="#open,.filteraction">[+]</a></span> > <input value="" class="submit" id="submit" type="submit" /> > >- <p class="plus" id="filtres" style="display:none"> >+ <p class="more" id="open" style="display:none"> > <input type="text" style="right: 260px" placeholder="Basket" name="basket" id="basket" /> > <input type="text" placeholder="Invoice number" name="booksellerinvoicenumber" id="booksellerinvoicenumber" /> > </p> >@@ -32,83 +32,7 @@ > <span id="button_1" class="buttonsearch active">Vendor search</span> > <span id="button_2" class="buttonsearch">Orders search</span> > </ul> >-</div> >+</div><!-- /header_search --> > >- >- >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >- >-<!-- /header_search --> >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Main page Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/adv-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/adv-search.inc >index 19401337b2..a3ce22f1a7 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/adv-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/adv-search.inc >@@ -40,85 +40,7 @@ > <span id="button_3" class="buttonsearch">Renew</span> > <span id="button_4" class="buttonsearch">Search patrons</span> > </ul> >- >- >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){ >- style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >-<!-- /header_search --> >-<!-- End Main page Resident Search Box --> >- >- > </div><!-- /#header_search --> >+ >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End advanced search page resident search box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search.inc >index 57cda07ccf..75ac30c94f 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search.inc >@@ -4,7 +4,7 @@ > <div id="mainmain_heading" class="residentsearch"> > <form action="/cgi-bin/koha/authorities/authorities-home.pl" method="get"> > >- <select name="orderby" class="haut"> >+ <select name="orderby" class="upper"> > [% IF ( orderby == 'HeadingAsc' ) %] > <option value="HeadingAsc" selected="selected">Heading A-Z</option> > [% ELSE %] >@@ -22,7 +22,7 @@ > [% END %] > </select> > >- <p class="plusdessous" id="filters"> >+ <p class="more_bottom"> > <input type="hidden" name="op" value="do_search" /> > <input type="hidden" name="type" value="intranet" /> > <select name="authtypecode" id="authtype_main_heading_a"> >@@ -67,7 +67,7 @@ > > <div id="main_heading" class="residentsearch"> > <form action="/cgi-bin/koha/authorities/authorities-home.pl" method="get"> >- <select name="orderby" class="haut"> >+ <select name="orderby" class="upper"> > [% IF ( orderby == 'HeadingAsc' ) %] > <option value="HeadingAsc" selected="selected">Heading A-Z</option> > [% ELSE %] >@@ -85,7 +85,7 @@ > [% END %] > </select> > >- <p class="plusdessous" id="filters"> >+ <p class="more_bottom"> > <input type="hidden" name="op" value="do_search" /> > <input type="hidden" name="type" value="intranet" /> > <select name="authtypecode" id="authtype_main_heading"> >@@ -130,7 +130,7 @@ > <div id="matchheading_search" class="residentsearch"> > <form action="/cgi-bin/koha/authorities/authorities-home.pl" method="get"> > >- <select name="orderby" class="haut"> >+ <select name="orderby" class="upper"> > [% IF ( orderby == 'HeadingAsc' ) %] > <option value="HeadingAsc" selected="selected">Heading A-Z</option> > [% ELSE %] >@@ -148,7 +148,7 @@ > [% END %] > </select> > >- <p class="plusdessous" id="filters"> >+ <p class="more_bottom"> > <input type="hidden" name="op" value="do_search" /> > <input type="hidden" name="type" value="intranet" /> > <select name="authtypecode" id="authtype_all_headings"> >@@ -191,7 +191,7 @@ > <div id="entire_record" class="residentsearch"> > <form action="/cgi-bin/koha/authorities/authorities-home.pl" method="get"> > >- <select name="orderby" class="haut"> >+ <select name="orderby" class="upper"> > [% IF ( orderby == 'HeadingAsc' ) %] > <option value="HeadingAsc" selected="selected">Heading A-Z</option> > [% ELSE %] >@@ -209,7 +209,7 @@ > [% END %] > </select> > >- <p class="plusdessous" id="filters"> >+ <p class="more_bottom"> > <input type="hidden" name="op" value="do_search" /> > <input type="hidden" name="type" value="intranet" /> > <select name="authtypecode" id="authtype_entire_record"> >@@ -265,77 +265,5 @@ > </ul> > </div><!-- /header_search --> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Authorities Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/budgets-admin-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/budgets-admin-search.inc >index 025fbcfefb..0419ed1fb5 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/budgets-admin-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/budgets-admin-search.inc >@@ -34,81 +34,7 @@ > <span id="button_2" class="buttonsearch">Check out</span> > <span id="button_3" class="buttonsearch">Search catalog</span> > </ul> >-</div> >- >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >-<!-- /header_search --> >+</div><!-- /header_search --> > >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Suggestions Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/cat-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/cat-search.inc >index 56450d6616..dd41e45ef0 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/cat-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/cat-search.inc >@@ -1,37 +1,41 @@ > [% USE Koha %] >-<div class="gradient"> >-<div id="logo"><a href="/cgi-bin/koha/mainpage.pl">[% LibraryName | html %]</a></div><!-- Begin Catalogue Resident Search Box --> >-<div id="header_search"> >+<div id="header_search" class="fold"> > > [% INCLUDE 'patron-search-box.inc' %] > > [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %] > <div id="checkin_search" class="residentsearch"> >- <form method="post" action="/cgi-bin/koha/circ/returns.pl" autocomplete="off"> >- <label class="tip" for="ret_barcode">Scan a barcode to check in:</label> >- <input class="head-searchbox" name="barcode" id="ret_barcode" size="40" type="text" /> >- >- <input value="Submit" class="submit" type="submit" /> >+ <form action="/cgi-bin/koha/circ/returns.pl" autocomplete="off" method="post"> >+ <input id="ret_barcode" name="barcode" class="head-searchbox focus" accesskey="r" type="text" placeholder="Scan a barcode to check in" /> >+ <input value="" id="submit" type="submit"/> > </form> > </div> >+ > <div id="renew_search" class="residentsearch"> > <form method="post" action="/cgi-bin/koha/circ/renew.pl" autocomplete="off"> >- <label class="tip" for="ren_barcode">Scan a barcode to renew:</label> >- <input class="head-searchbox" name="barcode" id="ren_barcode" size="40" type="text" /> >- <input value="Submit" class="submit" type="submit" /> >+ <input class="head-searchbox focus" name="barcode" id="ren_barcode" accesskey="r" type="text" placeholder="Scan a barcode to renew" /> >+ <input value="" type="submit" id="submit" /> > </form> > </div> > [% END %] > > [% INCLUDE 'catalogue-search-box.inc' %] > >-<ul> >- [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]<li><a class="keep_text" href="#circ_search">Check out</a></li>[% END %] >- [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]<li><a class="keep_text" href="#checkin_search">Check in</a></li>[% END %] >- [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]<li><a class="keep_text" href="#renew_search">Renew</a></li>[% END %] >- [% IF ( CAN_user_catalogue ) %]<li class="ui-tabs-active"><a class="keep_text" href="#catalog_search">Search the catalog</a></li>[% END %] >+<ul id="taille"> >+ [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]<li><a id="button_1" title="Check out" onclick="clique(this)" class="iconsearch" href="#circ_search"><i class="fa fa-upload"></i></a></li>[% END %] >+ [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]<li><a id="button_2" title="Check in" onclick="clique(this)" class="iconsearch" href="#checkin_search"><i class="fa fa-download"></i></a></li>[% END %] >+ [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]<li><a id="icon_3" title="Renew" onclick="clique(this)" class="iconsearch" href="#renew_search"><i class="fa fa-retweet"></i></a></li>[% END %] >+ [% IF ( CAN_user_catalogue ) %]<li><a id="icon_4" title="Search catalog" onclick="clique(this)" class="iconsearch" href="#catalog_search"><i class="fa fa-fw fa-search"></i></a></li>[% END %] >+ >+ >+ >+ <span id="button_1" class="buttonsearch active">Check out</span> >+ <span id="button_2" class="buttonsearch">Check in</span> >+ <span id="button_3" class="buttonsearch">Renew</span> >+ <span id="button_4" class="buttonsearch">Search catalog</span> > </ul> > > </div><!-- /header_search --> >-</div><!-- /gradient --> >+ >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Catalogue Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/cataloging-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/cataloging-search.inc >index 150c78a456..cb595e34c2 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/cataloging-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/cataloging-search.inc >@@ -46,44 +46,7 @@ > <span id="button_4" class="buttonsearch">Renew</span> > <span id="button_5" class="buttonsearch">Search catalog</span> > </ul> >-</div> >+</div><!-- /header_search --> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementById('inputsearch').focus(); >- } >- >- function toggle(elem){ >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('containersearch').classList.remove('fold'); >- document.getElementById('inputsearch').style = ''; >- } >- >- focusInput(); >- } >- >- function fold(){ >- >- document.getElementById('containersearch').classList.add('fold'); >- // document.getElementById('inputsearch').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('buttonssearch').offsetWidth +5; >- document.getElementById('inputsearch').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >-</script> >- >-<!-- /header_search --> >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Main page Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/checkin-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/checkin-search.inc >index 3aad22ff79..f43fc88724 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/checkin-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/checkin-search.inc >@@ -8,7 +8,7 @@ > [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %] > <div id="renew_search" class="residentsearch"> > <form method="post" action="/cgi-bin/koha/circ/renew.pl" autocomplete="off"> >- <input class="head-searchbox focus" type="text" name="barcode" id="ren_barcode" placeholder="Scan a barcode to renew:" /> >+ <input class="head-searchbox focus" type="text" name="barcode" id="ren_barcode" placeholder="Scan a barcode to renew" /> > <input value="Submit" id="submit" type="submit" /> > </form> > </div> >@@ -25,85 +25,8 @@ > <span id="button_2" class="buttonsearch">Renew</span> > <span id="button_3" class="buttonsearch">Search catalog</span> > </ul> >-</div> >+</div><!-- /header_search --> > >- >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >- >- >-</script> >- >-<!-- /header_search --> >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Main page Resident Search Box --> > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-search.inc >index e20271f8ab..959e68810a 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-search.inc >@@ -36,78 +36,5 @@ > </ul> > </div> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Main page Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/cities-admin-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/cities-admin-search.inc >index 0f371302fa..58407ca786 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/cities-admin-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/cities-admin-search.inc >@@ -22,78 +22,5 @@ > </ul> > </div> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Cities Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/contracts-admin-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/contracts-admin-search.inc >index d3b8bf80b0..68b297d578 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/contracts-admin-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/contracts-admin-search.inc >@@ -23,78 +23,5 @@ > </ul> > </div> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Patrons Admin Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/currencies-admin-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/currencies-admin-search.inc >index 3ec15b8d26..addbf32ae2 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/currencies-admin-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/currencies-admin-search.inc >@@ -23,78 +23,5 @@ > </ul> > </div> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Currencies Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/desks-admin-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/desks-admin-search.inc >index 07c4ebb701..6725936e01 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/desks-admin-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/desks-admin-search.inc >@@ -23,78 +23,5 @@ > </ul> > </div> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Desks Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/home-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/home-search.inc >index 79dc3cd26a..78f2fa9630 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/home-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/home-search.inc >@@ -46,83 +46,9 @@ > <span id="button_4" class="buttonsearch">Search patrons</span> > <span id="button_5" class="buttonsearch">Search catalog</span> > </ul> >-</div> >+</div><!-- /header_search --> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >-<!-- /header_search --> >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Main page Resident Search Box --> > > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/letters-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/letters-search.inc >index 8e9dffa580..ee703341f6 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/letters-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/letters-search.inc >@@ -23,78 +23,5 @@ > </ul> > </div> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Notices Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-header.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-header.inc >index a36f469db1..e590e1f092 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-header.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-header.inc >@@ -17,7 +17,7 @@ > <input value="" class="submit" id="submit" type="submit" /> > </div> > >- <p class="plus" id="filters" style="display:none"> >+ <p class="more" id="filters" style="display:none"> > <select name="searchfieldstype" id="searchfieldstype" style="position: relative;bottom: 5px;"> > <option disabled selected hidden>Search fields:</option> > [% pref_fields = Koha.Preference('DefaultPatronSearchFields').split(',') %] >@@ -27,7 +27,7 @@ > [% display_name = PROCESS patron_fields name=s_o %] > [% NEXT IF !display_name.length %] > [% IF searchfieldstype == s_o %] >- <option selected="selected" value="[% s_o | html %]">[% display_name | $raw %]</option> >+ <option value="[% s_o | html %]">[% display_name | $raw %]</option> > [% ELSE %] > <option value="[% s_o | html %]">[% display_name | $raw %]</option> > [% END %] >@@ -35,12 +35,13 @@ > </select> > > <select name="searchtype" id="searchtype" style="position: relative;bottom: 5px;"> >+ <option disabled selected hidden>Search type:</option> > [% IF searchtype == 'start_with' %] >- <option selected="selected" value='start_with'>Starts with</option> >+ <option value='start_with'>Starts with</option> > <option value='contain'>Contains</option> > [% ELSE %] > <option value='start_with'>Starts with</option> >- <option selected="selected" value='contain'>Contains</option> >+ <option value='contain'>Contains</option> > [% END %] > </select> > >@@ -97,86 +98,11 @@ > [% IF ( CAN_user_catalogue ) %]<li><a id="icon_5" title="Search catalog" onclick="clique(this)" class="iconsearch" href="#catalog_search"><i class="fa fa-fw fa-search"></i></a></li>[% END %] > > <span id="button_1" class="buttonsearch active">Search patrons</span> >- <span id="button_2" class="buttonsearch active">Check out</span> >+ <span id="button_2" class="buttonsearch">Check out</span> > <span id="button_3" class="buttonsearch">Check in</span> > <span id="button_4" class="buttonsearch">Renew</span> > <span id="button_5" class="buttonsearch">Search catalog</span> > </ul> > </div><!-- /header_search --> > >- >- >- >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >+[% INCLUDE 'searchbaruse.inc' %] >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patrons-admin-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patrons-admin-search.inc >index 8b891a0d1c..93fbf34363 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/patrons-admin-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patrons-admin-search.inc >@@ -23,78 +23,5 @@ > </ul> > </div> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Patrons Admin Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/prefs-admin-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/prefs-admin-search.inc >index d2d3a7c4fc..e94e11d8e0 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/prefs-admin-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/prefs-admin-search.inc >@@ -24,81 +24,7 @@ > <span id="button_2" class="buttonsearch">Check out</span> > <span id="button_3" class="buttonsearch">Search the catalog</span> > </ul> >-</div> >+</div><!-- /header_search --> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >-<!-- /header_search --> >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Main page Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/searchbaruse.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/searchbaruse.inc >new file mode 100644 >index 0000000000..5faf1f30e6 >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/searchbaruse.inc >@@ -0,0 +1,72 @@ >+<script type="text/javascript"> >+ function focusInput(){ >+ document.getElementsByClassName('head-searchbox').focus(); >+ } >+ >+ function toggle(elem){style="width: calc(301px);" >+ var buttonssearch = document.getElementsByClassName('active'); >+ for (var i = buttonssearch.length - 1; i >= 0; i--) { >+ buttonssearch[i].classList.remove('active'); >+ } >+ >+ if(elem){ >+ elem.classList.add('active'); >+ fold(); >+ }else{//Back >+ document.getElementById('button_1').classList.add('active'); >+ document.getElementById('header_search').classList.remove('fold'); >+ document.getElementsByClassName('head-searchbox').style = ''; >+ } >+ >+ focusInput(); >+ } >+ >+ function clique(elem){ >+ var buttonssearch = document.getElementsByClassName('buttonsearch'); >+ var iconssearch = document.getElementsByClassName('iconsearch'); >+ var inputssearch = document.getElementsByClassName('head-searchbox'); >+ for (var i = buttonssearch.length - 1; i >= 0; i--) { >+ buttonssearch[i].classList.remove('active'); >+ if (elem == iconssearch[i]){ >+ buttonssearch[i].classList.add('active'); >+ } >+ } >+ >+ for (var i = inputssearch.length - 1; i >= 0; i--) { >+ inputssearch[i].classList.remove('focus'); >+ >+ if (elem == iconssearch[i]){ >+ inputssearch[i].classList.add('focus'); >+ >+ taille(inputssearch[i]) >+ } >+ } >+ >+ focusInput(); >+ fold(); >+ } >+ >+ function fold(){ >+ document.getElementById('header_search').classList.add('fold'); >+ setTimeout( >+ function(){ >+ var offsetWidth = document.getElementById('taille').offsetWidth +5; >+ document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >+ } >+ , 250); >+ } >+ >+ function taille(el){ >+ var offsetWidth = document.getElementById('taille').offsetWidth +5; >+ el.style = "width:calc(500px - "+offsetWidth+"px)"; >+ } >+ >+ $('.btn').click(function(){ >+ if($(this).hasClass('active')){ >+ $(this).removeClass('active') >+ } else { >+ $(this).addClass('active') >+ } >+}); >+ >+</script> >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/serials-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/serials-search.inc >index 7efbeeab0f..8f24f8a9e1 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/serials-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/serials-search.inc >@@ -33,77 +33,5 @@ > </ul> > </div><!-- /header_search --> > >- >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Serials Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/subscriptions-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/subscriptions-search.inc >index 13e83a90a2..41d81f066f 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/subscriptions-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/subscriptions-search.inc >@@ -1,39 +1,39 @@ > [% PROCESS 'html_helpers.inc' %] > <div id="advsearch"> > <form action="" method="get"> >- <fieldset class="brief"> >+ <fieldset class="sidebar"> > <a href="#" class="toggle_element" id="lientype" data-element="#advsearch_form">Advanced search</a> > <div id="advsearch_form" style="display:none"> > <ol> > <li> >- <p for="issn">ISSN: >- <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter | html %]" /></p> >+ <label for="issn">ISSN:</label> >+ <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter | html %]" /> > </li> > <li> >- <p for="title">Title: >- <input type="text" id="title" name="title_filter" value="[% title_filter | html %]" /></p> >+ <label for="title">Title:</label> >+ <input type="text" id="title" name="title_filter" value="[% title_filter | html %]" /> > </li> > [% IF Koha.Preference( 'marcflavour' ) == "UNIMARC" %] > <li> >- <p for="ean">EAN: >- <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter | html %]" /></p> >+ <label for="ean">EAN:</label> >+ <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter | html %]" /> > </li> > [% END %] > <li> >- <p for="publisher">Publisher: >- <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter | html %]" /></p> >+ <label for="publisher">Publisher:</label> >+ <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter | html %]" /> > </li> > <li> >- <p for="supplier">Vendor: >- <input type="text" id="supplier" name="supplier_filter" value="[% supplier_filter | html %]" /></p> >+ <label for="supplier">Vendor:</label> >+ <input type="text" id="supplier" name="supplier_filter" value="[% supplier_filter | html %]" /> > </li> > <li> >- <p for="branch">Library: >+ <p for="branch">Library:</label> > <select id="branch" name="branch_filter"> > <option value="">All</option> > [%# FIXME Should not we filter the libraries? %] > [% PROCESS options_for_libraries libraries => Branches.all( selected => branch_filter, unfiltered => 1 ) %] >- </select></p> >+ </select> > </li> > </ol> > <input type="hidden" name="searched" value="1" /> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/suggestions-add-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/suggestions-add-search.inc >index fdd99987f4..0d75e1145a 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/suggestions-add-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/suggestions-add-search.inc >@@ -26,78 +26,5 @@ > </ul> > </div> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Suggestions Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/z3950-admin-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/z3950-admin-search.inc >index 9397adc01f..23b2ecb64e 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/z3950-admin-search.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/z3950-admin-search.inc >@@ -24,78 +24,5 @@ > </ul> > </div> > >-<script type="text/javascript"> >- function focusInput(){ >- document.getElementsByClassName('head-searchbox').focus(); >- } >- >- function toggle(elem){style="width: calc(301px);" >- var buttonssearch = document.getElementsByClassName('active'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- } >- >- if(elem){ >- elem.classList.add('active'); >- fold(); >- }else{//Back >- document.getElementById('button_1').classList.add('active'); >- document.getElementById('header_search').classList.remove('fold'); >- document.getElementsByClassName('head-searchbox').style = ''; >- } >- >- focusInput(); >- } >- >- function clique(elem){ >- var buttonssearch = document.getElementsByClassName('buttonsearch'); >- var iconssearch = document.getElementsByClassName('iconsearch'); >- var inputssearch = document.getElementsByClassName('head-searchbox'); >- for (var i = buttonssearch.length - 1; i >= 0; i--) { >- buttonssearch[i].classList.remove('active'); >- if (elem == iconssearch[i]){ >- buttonssearch[i].classList.add('active'); >- } >- } >- >- for (var i = inputssearch.length - 1; i >= 0; i--) { >- inputssearch[i].classList.remove('focus'); >- >- if (elem == iconssearch[i]){ >- inputssearch[i].classList.add('focus'); >- >- taille(inputssearch[i]) >- } >- } >- >- focusInput(); >- fold(); >- } >- >- function fold(){ >- document.getElementById('header_search').classList.add('fold'); >- // document.getElementsByClassName('head-searchbox').style = "width:calc(500px - 100px)"; >- setTimeout( >- function(){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- document.getElementsByClassName('head-searchbox').style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- , 250); >- } >- >- function taille(el){ >- var offsetWidth = document.getElementById('taille').offsetWidth +5; >- el.style = "width:calc(500px - "+offsetWidth+"px)"; >- } >- >- $('.btn').click(function(){ >- if($(this).hasClass('active')){ >- $(this).removeClass('active') >- } else { >- $(this).addClass('active') >- } >-}); >- >-</script> >- >+[% INCLUDE 'searchbaruse.inc' %] > <!-- End Members Resident Search Box --> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/didyoumean.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/didyoumean.tt >index 81c3e0d8bf..0d48c25b8b 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/didyoumean.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/didyoumean.tt >@@ -1,47 +1,35 @@ > [% USE raw %] > [% USE Asset %] > [% SET footerjs = 1 %] >-[% formulaire = BLOCK %] >- [% INCLUDE 'prefs-admin-search.inc' %] >-[% END %] >- > [% BLOCK pluginlist %] > <div class="pluginlist"> >- [% FOREACH plugin IN plugins %] >- <div class="plugin"> >- <div class="pluginname"> >- [% IF plugin.enabled %] >- <input type="checkbox" checked="checked" id="checkbox_[% type | html %][% plugin.name | html %]"> >- [% ELSE %] >- <input type="checkbox" id="checkbox_[% type | html %][% plugin.name | html %]"> >- [% END %] >- >- <label class='pluginlabel' for="checkbox_[% type | html %][% plugin.name | html %]">[% plugin.name | html %]</label> >- </div> >- >- <div class="plugindesc"> >- [% SWITCH plugin.name %] >- [% CASE 'AuthorityFile' %] >- <span>Suggest authorities which are relevant to the term the user searched for.</span> >- [% CASE 'ExplodedTerms' %] >- <span>Suggest that patrons expand their searches to include broader/narrower/related terms.</span> >- [% CASE 'LibrisSpellcheck' %] >- <span>Use the LIBRIS spellcheck API.</span> >- [% END %] >- </div> >+[% FOREACH plugin IN plugins %] >+ <div class="plugin"> >+ <div class="pluginname"> >+ [% IF plugin.enabled %]<input type="checkbox" checked="checked" id="checkbox_[% type | html %][% plugin.name | html %]">[% ELSE %]<input type="checkbox" id="checkbox_[% type | html %][% plugin.name | html %]">[% END %] >+ <label class='pluginlabel' for="checkbox_[% type | html %][% plugin.name | html %]">[% plugin.name | html %]</label></div> >+ <div class="plugindesc"> >+ [% SWITCH plugin.name %] >+ [% CASE 'AuthorityFile' %] >+ <span>Suggest authorities which are relevant to the term the user searched for.</span> >+ [% CASE 'ExplodedTerms' %] >+ <span>Suggest that patrons expand their searches to include broader/narrower/related terms.</span> >+ [% CASE 'LibrisSpellcheck' %] >+ <span>Use the LIBRIS spellcheck API.</span> >+ [% END %] > </div> >- [% END %] >+ </div> >+[% END %] > </div> > [% END %] >- > [% INCLUDE 'doc-head-open.inc' %] > <title>Did you mean? › Administration › Koha</title> > [% INCLUDE 'doc-head-close.inc' %] >- > </head> > > <body id="admin_didyoumean" class="admin"> >-[% INCLUDE 'header.inc' form=formulaire %] >+[% INCLUDE 'header.inc' %] >+[% INCLUDE 'prefs-admin-search.inc' %] > > <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb"> > <ol> >@@ -57,14 +45,6 @@ > </a> > </li> > </ol> >- >- <ol> >- [% IF Koha.Preference('showLastPatron') %][% INCLUDE 'last-borrower.inc' %][% END %] >- </ol> >- >- <ol> >- <a class="toplinks" href="/cgi-bin/koha/help.pl" id="helper"><i class="fa fa-question-circle"></i> <span>Help</span></a> >- </ol> > </nav> > > <div class="main container-fluid"> >@@ -72,34 +52,27 @@ > <div class="col-sm-10 col-sm-push-2"> > <main> > >- <h2>Did you mean?</h2> >- >- <noscript> >- <div class="dialog alert"> >- <strong>Please enable Javascript:</strong> >- Configuring 'Did you mean?' plugins requires Javascript. If >- you are unable to use Javascript, you may be able to enter the >- configuration (which is stored in JSON in the OPACdidyoumean system preferences) >- in the Local preferences tab in >- the system preference editor, but this is unsupported, not >- recommended, and likely will not work. >- </div> >- </noscript> >- >- <div id="didyoumeanlegend"> >- Please put the 'Did you mean?' plugins in order by significance, from >- most significant to least significant, and check the box to enable those >- plugins that you want to use. >- </div> >+ <h1>Did you mean?</h1> >+ <noscript><div class="dialog alert"><strong>Please enable Javascript:</strong> >+ Configuring 'Did you mean?' plugins requires Javascript. If >+ you are unable to use Javascript, you may be able to enter the >+ configuration (which is stored in JSON in the OPACdidyoumean system preferences) >+ in the Local preferences tab in >+ the system preference editor, but this is unsupported, not >+ recommended, and likely will not work.</div></noscript> >+ <div id="didyoumeanlegend"> >+ Please put the 'Did you mean?' plugins in order by significance, from >+ most significant to least significant, and check the box to enable those >+ plugins that you want to use. >+ </div> >+ <form action="/cgi-bin/koha/admin/didyoumean.pl" method="post"> >+ <fieldset id="didyoumeanopac"> >+ <legend>OPAC</legend> >+ [% PROCESS pluginlist plugins=OPACpluginlist type='opac' %] >+ </fieldset> >+ <fieldset class="action"><button class="save-all submit" type="submit">Save configuration</button> <a href="/cgi-bin/koha/admin/didyoumean.pl" class="force_reload cancel">Cancel</a></fieldset> >+ </form> > >- <form action="/cgi-bin/koha/admin/didyoumean.pl" method="post"> >- <fieldset id="didyoumeanopac"> >- <h3>OPAC</h3> >- [% PROCESS pluginlist plugins=OPACpluginlist type='opac' %] >- <button class="save-all submit principal" type="submit">Save configuration</button> >- <a href="/cgi-bin/koha/admin/didyoumean.pl" class="force_reload cancel">Cancel</a> >- </fieldset> >- </form> > </main> > </div> <!-- /.col-sm-10.col-sm-push-2 --> > >@@ -108,7 +81,7 @@ > [% INCLUDE 'admin-menu.inc' %] > </aside> > </div> <!-- /.col-sm-2.col-sm-pull-10 --> >- </div> <!-- /.row --> >+ </div> <!-- /.row --> > > [% MACRO jsinclude BLOCK %] > [% Asset.js("js/admin-menu.js") | $raw %] >@@ -158,5 +131,4 @@ > } > </script> > [% END %] >- > [% INCLUDE 'intranet-bottom.inc' %] >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >index ccb9bb3834..f433448406 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >@@ -10,9 +10,6 @@ > [% USE Price %] > [% USE AuthorisedValues %] > [% SET footerjs = 1 %] >-[% formulaire = BLOCK %] >- [% INCLUDE 'circ-search.inc' %] >-[% END %] > [% INCLUDE 'doc-head-open.inc' %] > [% Asset.css("lib/jquery/plugins/rowGroup/stylesheets/rowGroup.dataTables.min.css") | $raw %] > [% SET destination = "circ" %] >@@ -27,7 +24,8 @@ > > <body id="circ_circulation" class="circ"> > >- [% INCLUDE 'header.inc' form=formulaire %] >+ [% INCLUDE 'header.inc' %] >+ [% INCLUDE 'circ-search.inc' %] > > <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb"> > <ol> >@@ -66,6 +64,8 @@ > [% INCLUDE 'members-toolbar.inc' %] > [% END %] > >+ <h1>Checkouts</h1> >+ > <!-- INITIAL BLOC : PARAMETERS & BORROWER INFO --> > [% IF ( was_renewed ) %] > <div class="dialog message">Patron's account has been renewed until [% expiry | $KohaDates %]</div> >@@ -235,6 +235,15 @@ > Please confirm that the accompanying materials are present: [% ADDITIONAL_MATERIALS | html %] > </li> > [% END %] >+ >+ [% IF RECALLED %] >+ [% IF RECALLED.waiting %] >+ <li>Item <i>[% RECALLED.biblio.title | html %]</i> ([% RECALLED.item.barcode | html %]) has been waiting for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% RECALLED.patron_id | uri %]">[% RECALLED.patron.firstname | html %] [% RECALLED.patron.surname | html %]</a> ([% RECALLED.patron.cardnumber | html %]) at [% Branches.GetName( RECALLED.pickup_library_id ) | html %] since [% RECALLED.waiting_date | $KohaDates %]</li> >+ [% ELSIF RECALLED.requested or RECALLED.overdue %] >+ <li>Item <i>[% RECALLED.biblio.title | html %]</i> [% IF RECALLED.item %]([% RECALLED.item.barcode | html %])[% END %] has been recalled by <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% RECALLED.patron_id | uri %]">[% RECALLED.patron.firstname | html %] [% RECALLED.patron.surname | html %]</a> ([% RECALLED.patron.cardnumber | html %]) at [% Branches.GetName( RECALLED.pickup_library_id ) | html %] since [% RECALLED.created_date | $KohaDates %]</li> >+ [% END %] >+ [% END %] >+ > </ul> > > [% IF CAN_user_circulate_force_checkout or HIGHHOLDS %] >@@ -284,6 +293,21 @@ > </p> > [% END %] > >+ [% IF ( RECALLED ) %] >+ <p> >+ <label for="cancelrecall">Cancel recall</label> >+ <input type="radio" value="cancel" name="cancel_recall" id="cancelrecall" /> >+ <input type="hidden" value="[% RECALLED.id | html %]" name="recall_id" /> >+ </p> >+ [% IF RECALLED.waiting %] >+ <p> >+ <label for="revertrecall">Revert waiting status</label> >+ <input type="radio" value="revert" name="cancel_recall" id="revertrecall" checked="checked"/> >+ <input type="hidden" value="[% RECALLED.id | html %]" name="recall_id" /> >+ </p> >+ [% END %] >+ [% END %] >+ > <input type="hidden" name="barcode" value="[% barcode | html %]" /> > <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" /> > <input type="hidden" name="issueconfirmed" value="1" /> >@@ -348,6 +372,12 @@ > </form> > [% END %] > >+ [% IF ( RECALLED ) %] >+ <form method="get" action="/cgi-bin/koha/circ/circulation.pl"> >+ <button class="print" type="submit" onclick="Dopop('/cgi-bin/koha/recalls/recall_pickup_slip.pl?recall_id=[% RECALLED.id | html %]');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button> >+ </form> >+ [% END %] >+ > <form method="get" action="/cgi-bin/koha/circ/circulation.pl"> > [% IF (forceallow) %]<input type="hidden" name="forceallow" value="1">[% END %] > <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" /> >@@ -365,9 +395,9 @@ > [% END %] > </form> > >- [% IF ( RESERVED || ISSUED_TO_ANOTHER ) && (CAN_user_reserveforothers_place_holds ) %] >+ [% IF ( RESERVED || ISSUED_TO_ANOTHER || RECALLED ) && (CAN_user_reserveforothers_place_holds ) %] > [% UNLESS noissues %] >- <button type="submit" id="lientype" onclick="window.location.href='/cgi-bin/koha/reserve/request.pl?biblionumber=[% itembiblionumber | html %]&borrowernumber=[% patron.borrowernumber | html %]'"><i class="fa fa-sticky-note-o"></i> Cancel checkout and place a hold for [% INCLUDE 'patron-title.inc' %]</button> >+ <button type="submit" onclick="window.location.href='/cgi-bin/koha/reserve/request.pl?biblionumber=[% itembiblionumber | html %]&borrowernumber=[% patron.borrowernumber | html %]'"><i class="fa fa-sticky-note-o"></i> Cancel checkout and place a hold for [% INCLUDE 'patron-title.inc' %]</button> > [% END %] > [% END %] > </div> <!-- /#circ_needsconfirmation --> >@@ -406,7 +436,7 @@ > > [% IF ( fast_cataloging ) %] > [% IF ( CAN_user_editcatalogue_fast_cataloging ) %] >- <a class="approve" id="lientype" href="/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=FA&barcode=[% barcode |uri %]&circborrowernumber=[% patron.borrowernumber | html %]&branch=[% branch | html %]&duedatespec=[% duedatespec | html %]&stickyduedate=[% stickyduedate | html %]"><i class="fa fa-plus"></i> Add record using fast cataloging</a> >+ <a class="approve" href="/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=FA&barcode=[% barcode |uri %]&circborrowernumber=[% patron.borrowernumber | html %]&branch=[% branch | html %]&duedatespec=[% duedatespec | html %]&stickyduedate=[% stickyduedate | html %]"><i class="fa fa-plus"></i> Add record using fast cataloging</a> > [% END %] > [% END %] > </div> >@@ -487,6 +517,10 @@ > [% IF ( USERBLOCKEDOVERDUE ) %] > <li>Checkouts are BLOCKED because patron has overdue items.</li> > [% END %] >+ >+ [% IF ( RECALLED_INTRANSIT ) %] >+ <li>Item has been recalled and is in transit for pickup at [% Branches.GetName( RECALLED_INTRANSIT ) | html %].</li> >+ [% END %] > </ul> > > [% IF (forceallow) %] >@@ -554,7 +588,7 @@ > <input type="hidden" name="barcode" value="[% item.barcode | html %]" /> > <input type="hidden" name="onsite_checkout" value="[% onsite_checkout | html %]" /> > <input type="hidden" name="auto_renew" value="[% auto_renew | html %]" /> >- <button class="btn btn-default btn-xs" type="submit" id="lientype" name="x"><i class="fa fa-check"></i> Check out</button> >+ <button class="btn btn-default btn-xs" type="submit" name="x"><i class="fa fa-check"></i> Check out</button> > </form> > </td> > </tr> >@@ -563,7 +597,7 @@ > </table> > </div> <!-- /.modal-body --> > <div class="modal-footer"> >- <button type="button" class="btn btn-default cancel" data-dismiss="modal">Cancel</button> >+ <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> > </div> > </div> <!-- /.modal-content --> > </div> <!-- /.modal-dialog.modal-wide --> >@@ -603,7 +637,6 @@ > <div class="col-sm-6"> > <form method="post" action="/cgi-bin/koha/circ/circulation.pl" id="mainform" name="mainform" autocomplete="off"> > <input type="hidden" name="restoreduedatespec" /> >- <div id="searchresults"> > [% IF ( issue ) %] > <fieldset id="circ_circulation_issue" class="lastchecked"> > [% ELSE %] >@@ -620,7 +653,7 @@ > > [% IF (forceallow) %]<input type="hidden" name="forceallow" value="1">[% END %] > >- <h3 class="circ_barcode" for="barcode">Checking out to [% INCLUDE 'patron-title.inc' %]</h3> >+ <label class="circ_barcode" for="barcode">Checking out to [% INCLUDE 'patron-title.inc' %]</label> > > [% IF Koha.Preference('itemBarcodeFallbackSearch') %] > <div class="hint">Enter item barcode or keyword:</div> >@@ -634,12 +667,12 @@ > <input type="text" name="barcode" id="barcode" class="barcode focus" size="14" /> > [% END %] > >+ <button type="submit" class="btn btn-default">Check out</button> >+ > <div id="show-circ-settings"> >- <a href="#"><i class="fa-sign-out"></i></a> >+ <a href="#"><i class="fa fa-caret-right circ-settings-icon"></i> Checkout settings</a> > </div> > >- <button type="submit" class="btn btn-default principal">Check out</button> >- > <div class="circ-settings"> > > [% UNLESS ( noissues && Koha.Preference('OnSiteCheckoutsForce') ) %] >@@ -662,31 +695,33 @@ > [% END %] > > [% UNLESS ( noissues ) %] >- <div id="set-automatic-renewal" class="circ-setting"> >- [% IF NEEDSCONFIRMATION %] >- [% IF auto_renew %] >- [% IF patron.autorenew_checkouts %] >- <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" >- title="Patron has opted out of auto-renewal"/> >+ [% IF Koha.Preference('AllowSetAutomaticRenewal') %] >+ <div id="set-automatic-renewal" class="circ-setting"> >+ [% IF NEEDSCONFIRMATION %] >+ [% IF auto_renew %] >+ [% IF patron.autorenew_checkouts %] >+ <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" >+ title="Patron has opted out of auto-renewal"/> >+ [% ELSE %] >+ <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" checked="checked" /> >+ [% END %] > [% ELSE %] >- <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" checked="checked" /> >+ <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" /> > [% END %] > [% ELSE %] >- <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" /> >- [% END %] >- [% ELSE %] >- [% IF ( auto_renew && patron.autorenew_checkouts ) %] >- <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" class="circ_setting" checked="checked" /> >- [% ELSIF patron.autorenew_checkouts %] >- <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" class="circ_setting" /> >- [% ELSE %] >- <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" >- title="Patron has opted out of auto-renewal"/> >+ [% IF ( auto_renew && patron.autorenew_checkouts ) %] >+ <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" class="circ_setting" checked="checked" /> >+ [% ELSIF patron.autorenew_checkouts %] >+ <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" class="circ_setting" /> >+ [% ELSE %] >+ <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" >+ title="Patron has opted out of auto-renewal"/> >+ [% END %] > [% END %] >- [% END %] > >- <label for="auto_renew">Automatic renewal</label> >- </div> >+ <label for="auto_renew">Automatic renewal</label> >+ </div> >+ [% END %] > [% IF Koha.Preference('decreaseLoanHighHolds') %] > <div id="set_high_holds_overrride" class="circ-setting"> > [% IF NEEDSCONFIRMATION %] >@@ -734,7 +769,6 @@ > <input type="hidden" name="charges" value="yes" /> > [% END %] > </fieldset> <!-- /#circ_circulation_issue --> >- </div> > > [% IF ( issue ) %] > <div class="lastchecked"> >@@ -756,7 +790,6 @@ > <div class="col-sm-6"> > [% END %] > >- <div id="searchresults"> > [% IF ( noissues ) %] > [% IF ( Koha.Preference('OnSiteCheckouts') && Koha.Preference('OnSiteCheckoutsForce') ) %] > <div id="circmessages" class="circmessage attention"> >@@ -773,40 +806,39 @@ > [% ELSE %] > <div id="circmessages" class="circmessage attention"> > [% END %] >- </div> > > [% INCLUDE 'patron_messages.inc' %] > >- </div> >+ </div> <!-- /#circmessages --> > </div> <!-- /div or div.col-sm-6 --> > </div> <!-- /.row --> > > <div id="patronlists" class="toptabs"> > <ul> > <li> >- [% IF ( issuecount ) %] >- <a href="#checkouts">[% issuecount | html %] Checkout(s)</a> >- [% ELSE %] >- <a href="#checkouts">0 Checkouts</a> >- [% END %] >+ <a href="#checkouts">Checkouts ([% issuecount || 0 | html %])</a> > </li> > > [% IF relatives_issues_count %] >- <li><a id="relatives-issues-tab" href="#relatives-issues">[% relatives_issues_count | html %] Relatives' checkouts</a></li> >+ <li> >+ <a id="relatives-issues-tab" href="#relatives-issues">Relatives' checkouts ([% relatives_issues_count | html %])</a> >+ </li> > [% END %] > > <li> >- [% IF ( holds_count ) %] >- <a href="#reserves" id="holds-tab">[% holds_count | html %] Hold(s)</a> >- [% ELSE %] >- <a href="#reserves" id="holds-tab">0 Holds</a> >- [% END %] >+ <a href="#reserves" id="holds-tab">Holds ([% holds_count || 0 | html %])</a> > </li> > >+ [% IF Koha.Preference('UseRecalls') %] >+ <li> >+ <a href="#recalls" id="recalls-tab">Recalls ([% recalls.count || 0 | html %])</a> >+ </li> >+ [% END %] >+ > [% IF Koha.Preference('ArticleRequests') %] > [% SET current_article_requests = Context.Scalar( Context.Scalar( patron, 'article_requests' ), 'filter_by_current' ) %] > <li> >- <a href="#article-requests" id="article-requests-tab"> [% current_article_requests.count | html %] Article requests</a> >+ <a href="#article-requests" id="article-requests-tab">Article requests ([% current_article_requests.count || 0 | html %])</a> > </li> > [% END %] > >@@ -814,8 +846,8 @@ > <li> > [% IF ( patron.return_claims.count ) %] > <a href="#return-claims" id="return-claims-tab"> >- Claim(s) >- [% IF patron.return_claims.resolved.count == 0 %] >+ Claims >+ ([% IF patron.return_claims.resolved.count == 0 %] > <span title="Resolved claims" class="label label-default" id="return-claims-count-resolved">[% patron.return_claims.resolved.count | html %]</span> > [% ELSE %] > <span title="Resolved claims" class="label label-success" id="return-claims-count-resolved">[% patron.return_claims.resolved.count | html %]</span> >@@ -824,22 +856,24 @@ > <span title="Unresolved claims" class="label label-default" id="return-claims-count-unresolved">[% patron.return_claims.unresolved.count | html %]</span> > [% ELSE %] > <span title="Unresolved claims" class="label label-warning" id="return-claims-count-unresolved">[% patron.return_claims.unresolved.count | html %]</span> >- [% END %] >+ [% END %]) > </a> > [% ELSE %] > <a href="#return-claims" id="return-claims-tab"> >- Claim(s) >- <span title="Resolved claims" class="label label-default" id="return-claims-count-resolved">0</span> >- <span title="Unresolved claims" class="label label-default" id="return-claims-count-unresolved">0</span> >+ Claims >+ (<span title="Resolved claims" class="label label-default" id="return-claims-count-resolved">0</span> >+ <span title="Unresolved claims" class="label label-default" id="return-claims-count-unresolved">0</span>) > </a> > [% END %] > </li> > [% END %] > >- <li><a id="debarments-tab-link" href="#reldebarments">[% debarments.count | html %] Restrictions</a></li> >+ <li> >+ <a id="debarments-tab-link" href="#reldebarments">Restrictions ([% debarments.count || 0 | html %])</a> >+ </li> > >- [% SET enrollments = patron.get_club_enrollments(1) %] >- [% SET enrollable = patron.get_enrollable_clubs(0,1) %] >+ [% SET enrollments = patron.get_club_enrollments %] >+ [% SET enrollable = patron.get_enrollable_clubs(0) %] <!-- 0 => not OPAC --> > [% IF CAN_user_clubs && ( enrollable.count || enrollments.count ) %] > <li> > <a id="clubs-tab-link" href="#clubs-tab"> >@@ -873,6 +907,7 @@ > <th>Hold date</th> > <th>Title</th> > <th>Call number</th> >+ <th>Item type</th> > <th>Barcode</th> > <th>Pickup at</th> > <th>Expiration</th> >@@ -888,7 +923,7 @@ > <input type="submit" class="cancel" name="submit" value="Cancel marked holds" /> > > [% SET hold_cancellation = AuthorisedValues.GetAuthValueDropbox('HOLD_CANCELLATION') %] >- [% IF hold_cancellation %] >+ [% IF hold_cancellation.count %] > <select name="cancellation-reason"> > <option value="">No reason given</option> > [% FOREACH reason IN hold_cancellation %] >@@ -904,7 +939,7 @@ > <form action="/cgi-bin/koha/reserve/modrequest_suspendall.pl" method="post"> > <input type="hidden" name="from" value="circ" /> > <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" /> >- <input type="submit" class="principal" value="Suspend all holds" /> >+ <input type="submit" value="Suspend all holds" /> > > [% IF Koha.Preference('AutoResumeSuspendedHolds') %] > <label for="suspend_until">until</label> >@@ -919,7 +954,7 @@ > <input type="hidden" name="from" value="circ" /> > <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" /> > <input type="hidden" name="suspend" value="0" /> >- <input type="submit" class="principal" value="Resume all suspended holds" /> >+ <input type="submit" value="Resume all suspended holds" /> > </form> > </fieldset> > [% END # /IF SuspendHoldsIntranet %] >@@ -929,6 +964,12 @@ > [% END # /IF holds_count %] > </div> <!-- /#reserves --> > >+ [% IF Koha.Preference('UseRecalls') %] >+ <div id="recalls"> >+ [% INCLUDE 'recalls.inc' %] >+ </div> >+ [% END %] >+ > [% IF Koha.Preference('ClaimReturnedLostValue') %] > [% INCLUDE 'patron-return-claims.inc' %] > [% END %] >@@ -939,7 +980,7 @@ > > </div> <!-- /#patronlists --> > [% ELSIF borrowernumber # IF patron %] >- <div class="dialog message">Patron not found. <a id="lientype" href="/cgi-bin/koha/members/members-home.pl">Return to search</a></div> >+ <div class="dialog message">Patron not found. <a href="/cgi-bin/koha/members/members-home.pl">Return to search</a></div> > [% END # /IF patron %] > > </div> <!-- /.col-sm-10.col-sm-push-2 --> >@@ -965,6 +1006,10 @@ > </div> <!-- /.row --> > </main> > >+ [% IF Koha.Preference('ClaimReturnedLostValue') %] >+ [% INCLUDE 'modals/resolve_return_claim.inc' %] >+ [% END %] >+ > <!-- Modal --> > <div id="barcodeSubmittedModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="barcodeSubmittedModalLabel" aria-hidden="true"> > <div class="modal-dialog"> >@@ -980,11 +1025,8 @@ > </div> <!-- /#barcodeSubmittedModal --> > > [% MACRO jsinclude BLOCK %] >- [% INCLUDE 'calendar.inc' %] > [% INCLUDE 'datatables.inc' %] > [% INCLUDE 'columns_settings.inc' %] >- [% Asset.js("lib/jquery/plugins/jquery-ui-timepicker-addon.min.js") | $raw %] >- [% INCLUDE 'timepicker.inc' %] > [% INCLUDE 'select2.inc' %] > [% Asset.js("lib/jquery/plugins/rowGroup/dataTables.rowGroup.min.js") | $raw %] > [% INCLUDE 'js-date-format.inc' %] >@@ -1012,10 +1054,14 @@ > </script> > [% Asset.js("js/pages/circulation.js") | $raw %] > [% Asset.js("js/checkouts.js") | $raw %] >+ [% IF Koha.Preference('ClaimReturnedLostValue') %] >+ [% Asset.js("js/resolve_claim_modal.js") | $raw %] >+ [% END %] > [% Asset.js("js/holds.js") | $raw %] >+ [% INCLUDE 'calendar.inc' %] > <script> >- columns_settings_issues_table = [% TablesSettings.GetColumns( 'circ', 'circulation', 'issues-table', 'json' ) | $raw %] >- columns_settings_borrowers_table = [% TablesSettings.GetColumns( 'circ', 'circulation', 'table_borrowers', 'json' ) | $raw %] >+ table_settings_issues_table = [% TablesSettings.GetTableSettings( 'circ', 'circulation', 'issues-table', 'json' ) | $raw %] >+ table_settings_borrowers_table = [% TablesSettings.GetTableSettings( 'circ', 'circulation', 'table_borrowers', 'json' ) | $raw %] > > [% IF borrowernumber and patron %] > if( Cookies.get("holdfor") != [% patron.borrowernumber | html %]){ >@@ -1090,7 +1136,7 @@ > </script> > [% INCLUDE 'str/members-menu.inc' %] > [% Asset.js("js/members-menu.js") | $raw %] >+ [% Asset.js("js/recalls.js") | $raw %] > [% END %] > > [% INCLUDE 'intranet-bottom.inc' %] >- >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt >index 599dd8364d..275fe90e53 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt >@@ -13,10 +13,11 @@ > [% USE TablesSettings %] > [% PROCESS 'i18n.inc' %] > [% SET footerjs = 1 %] >-[% formulaire = BLOCK %] >- [% INCLUDE 'circ-search.inc' %] >-[% END %] > [% INCLUDE 'doc-head-open.inc' %] >+[% SET libraries = Branches.all %] >+[% SET categories = Categories.all.unblessed %] >+[% SET columns = ['name', 'cardnumber', 'dateofbirth', 'category', 'branch', 'address', 'phone'] %] >+[% PROCESS "patron-search.inc" %] > [% UNLESS ( multi_hold ) %] > <title>Place a hold on [% INCLUDE 'biblio-title-head.inc' %] › Holds › Circulation › Koha</title> > [% ELSE %] >@@ -92,7 +93,8 @@ > > <body id="circ_request" class="catalog"> > >-[% INCLUDE 'header.inc' form=formulaire %] >+[% INCLUDE 'header.inc' %] >+[% INCLUDE 'circ-search.inc' %] > > [% UNLESS ( multi_hold ) %] > <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb"> >@@ -112,12 +114,6 @@ > </a> > </li> > </ol> >- <ol> >- [% IF Koha.Preference('showLastPatron') %][% INCLUDE 'last-borrower.inc' %][% END %] >- </ol> >- <ol> >- <a class="toplinks" href="/cgi-bin/koha/help.pl" id="helper"><i class="fa fa-question-circle"></i> <span>Help</span></a> >- </ol> > </nav> > [% ELSE %] > <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb"> >@@ -158,6 +154,7 @@ > [% END %] > > <main> >+ <h1>Holds</h1> > > [% IF ( nobiblio ) %] > <div class="dialog alert"> >@@ -190,7 +187,7 @@ > [% END %] > > [% UNLESS ( multi_hold ) %] >- <h2>Place a hold on [% INCLUDE 'biblio-title.inc' link = 1 %]</h2> >+ <h2>Place a hold on [% INCLUDE 'biblio-title.inc' link = 1 %] [% IF biblio.author %] by [% biblio.author | html %][% END %]</h2> > [% ELSE %] > <h2> > [% IF ( patron ) %] >@@ -219,35 +216,33 @@ > <p>No club with this name, please, try another</p> > </div> > [% END %] >- <fieldset class="brief"> >+ <fieldset> > [% UNLESS multi_hold %] > [% IF clubcount %] >- <h3>Search patrons or clubs</h3> >+ <h2>Search patrons or clubs</h2> > [% ELSE %] >- <label>Search patrons</label> >+ <h2>Search patrons</h2> > [% END %] > [% END %] > <div id="circ_holds_select" class="toptabs"> >- <ul> >- <li><a href="#holds_patronsearch_pane">Patrons</a></li> >+ <ul class="nav nav-tabs" role="tablist"> >+ <li role="presentation" class="active"><a href="#holds_patronsearch_pane" aria-controls="holds_patronsearch_pane" role="tab" data-toggle="tab">Patrons</a></li> > [% IF clubcount %] >- <li><a href="#holds_clubsearch_pane">Clubs</a></li> >+ <li role="presentation"><a href="#holds_clubsearch_pane" aria-controls="holds_clubsearch_pane" role="tab" data-toggle="tab">Clubs</a></li> > [% END %] > </ul> > <div class="tab-content"> > <div id="holds_patronsearch_pane" role="tabpanel" class="tab-pane active"> > [% PROCESS patron_search_filters_simple %] > >- [% IF clubs %] >- [% INCLUDE 'clubs-table.inc' destination = "holds" %] >- [% END %] >+ [% PROCESS patron_search_table table_id => 'table_borrowers', open_on_row_click => 1 %] > </div> > [% IF clubcount %] > <div id="holds_clubsearch_pane" role="tabpanel" class="tab-pane"> > <form id="holds_clubsearch" action="request.pl" method="post"> > <div class="hint">Enter club ID or partial name:</div> > <input type="text" size="40" id="club" class="focus" name="findclub" autocomplete="off" /> >- <input type="submit" class="principal" value="Search" /> >+ <input type="submit" value="Search" /> > [% FOREACH biblionumber IN biblionumbers %] > <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/> > [% END %] >@@ -265,19 +260,20 @@ > <div class="dialog alert hide clubalert"> > </div> > <fieldset class="rows"> >- <h3>Hold details</h3> >+ <legend>Hold details</legend> > <form action="/api/v1/clubs/[% club.id | html %]/holds" method="post" name="form" id="club-request-form"> > > [% IF ( multi_hold ) %] >- <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/> >- <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/> > <input type="hidden" name="request" value="any"/> > [% FOREACH biblioloo IN biblioloop %] >- <input type="hidden" name="title_[% biblioloo.biblionumber | html %]" value="[% biblioloo.title | html %]"/> >- <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/> >+ [% UNLESS biblioloo.none_avail %] >+ <input type="hidden" name="holdable_bibs" id="holdable_bibs" value="[% biblioloo.biblionumber | html %]"/> >+ <input type="hidden" name="title_[% biblioloo.biblionumber | html %]" value="[% biblioloo.title | html %]"/> >+ <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/> >+ [% END %] > [% END %] > [% ELSE %] >- <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" /> >+ <input type="hidden" name="holdable_bibs" id="holdable_bibs" value="[% biblio.biblionumber | html %]"/> > <input type="hidden" name="title" value="[% biblio.title | html %]" /> > <input type="hidden" name="rank-request" value="[% fixedRank | html %]" /> > [% END # /IF multi_hold %] >@@ -340,14 +336,14 @@ > [% END %] > [% UNLESS ( multi_hold ) %] > <fieldset class="action"> >- <input type="submit" class="principal" value="Place hold" /> >+ <input type="submit" value="Place hold" /> > </fieldset> > [% ELSE %] > <table id="requesttitles"> > <tr> > <th> </th> > <th>Title</th> >- [% UNLESS ( item_level_itypes ) %] >+ [% UNLESS Koha.Preference('item-level_itypes') %] > <th>Item type</th> > [% END %] > <th>Priority</th> >@@ -368,6 +364,7 @@ > <ul> > <li> > <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblioloo.biblionumber | uri %]">[% biblioloo.title | html %]</a> >+ [% IF biblioloo.author %] by [% biblioloo.author | html %][% END %] > </li> > [% IF ( biblioloo.publicationyear ) %] > <li> >@@ -379,9 +376,9 @@ > <span class="not_holdable" title="[% biblioloo.biblionumber | html %]"></span> > [% END %] > </td> >- [% UNLESS ( item_level_itypes ) %] >+ [% UNLESS Koha.Preference('item-level_itypes') %] > <td> >- <img src="[% biblioloo.imageurl | html %]" alt="[% biblioloo.itypename | html %]" title="[% biblioloo.itypename | html %]" /> >+ <img src="[% biblioloo.itemtype.image_location| html %]" alt="[% biblioloo.itemtype.translated_description | html %]" title="[% biblioloo.itemtype.translated_description | html %]" /> > </td> > [% END %] > <td>[% biblioloo.rank | html %]</td> >@@ -430,7 +427,7 @@ > </div> > [% END %] > >- [% IF ( no_reserves_allowed || exceeded_maxreserves || exceeded_holds_per_record || alreadyreserved || none_available || alreadypossession || ageRestricted ) %] >+ [% IF ( no_reserves_allowed || exceeded_maxreserves || exceeded_holds_per_record || alreadyreserved || none_available || alreadypossession || ageRestricted || recall ) %] > <div class="dialog alert"> > > [% UNLESS ( multi_hold ) %] >@@ -468,6 +465,8 @@ > <li><strong>Too many holds for <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblioloo.biblionumber | uri %]"> [% biblioloo.title | html %]</a>:</strong> [% INCLUDE 'patron-title.inc' patron => patron no_title => 1 no_cardnumber => 1 hide_patron_infos_if_needed => 1 %] can only place a maximum of [% max_holds_for_record | html %] hold(s) on this record.</li> > [% END %] > [% END %] >+ [% ELSIF ( none_available ) %] >+ <li><strong>No items available: </strong>One or more records have no items that can be held</li> > [% END # /IF exceeded_maxreserves %] > [% END # /UNLESS multi_hold %] > </div> >@@ -506,23 +505,25 @@ > </div> > > <fieldset class="rows"> >- <h3>Hold details</h3> >+ <legend>Hold details</legend> > <form action="placerequest.pl" method="post" name="form" id="hold-request-form"> > > <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" /> >- <input type="hidden" name="type" value="str8" /> >- >+ [% FOREACH biblionumber IN biblionumbers %] >+ <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/> >+ [% END %] > [% IF ( multi_hold ) %] >- <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/> > <input type="hidden" name="multi_holds" id="multi_holds" value="1" /> >- <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/> > <input type="hidden" name="request" value="any"/> > [% FOREACH biblioloo IN biblioloop %] >- <input type="hidden" name="title_[% biblioloo.biblionumber | html %]" value="[% biblioloo.title | html %]"/> >- <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/> >+ [% UNLESS biblioloo.none_avail %] >+ <input type="hidden" name="holdable_bibs" id="holdable_bibs" value="[% biblioloo.biblionumber | html %]"/> >+ <input type="hidden" name="title_[% biblioloo.biblionumber | html %]" value="[% biblioloo.title | html %]"/> >+ <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/> >+ [% END %] > [% END %] > [% ELSE %] >- <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" /> >+ <input type="hidden" name="holdable_bibs" id="holdable_bibs" value="[% biblio.biblionumber | html %]"/> > <input type="hidden" name="title" value="[% biblio.title | html %]" /> > <input type="hidden" name="rank-request" value="[% fixedRank | html %]" /> > [% END # /IF multi_hold %] >@@ -603,7 +604,6 @@ > [% ELSE %] > <input type="checkbox" id="requestany" name="request" checked="checked" value="Any" /> > [% END %] >- <input type="hidden" name="biblioitem" value="[% biblioitemnumber | html %]" /> > <input type="hidden" name="alreadyreserved" value="[% alreadyreserved | html %]" /> > </li> > >@@ -625,131 +625,171 @@ > </ol> > > [% UNLESS ( multi_hold ) %] >- >- >- [% FOREACH bibitemloo IN bibitemloop %] >- <ol> >- [% UNLESS ( item_level_itypes ) %] >- <li> >- <span class="label">Item type:</span> >- [% bibitemloo.description | html %] >- </li> >+ <fieldset class="action"> >+ [% IF ( patron.borrowernumber ) %] >+ [% IF ( override_required ) %] >+ <button type="submit" class="btn btn-default warning"><i class="fa fa-exclamation-triangle "></i> Place hold</button> >+ [% ELSIF ( none_available ) %] >+ <button type="submit" disabled="disabled" class="btn btn-default btn-disabled">Place hold</button> >+ [% ELSE %] >+ <button type="submit" class="btn btn-default">Place hold</button> > [% END %] >+ [% END %] >+ </fieldset> > >- [% IF ( bibitemloo.publicationyear ) %] >- <li> >- <span class="label">Publication year:</span> >- [% bibitemloo.publicationyear | html %] >- </li> >- [% END %] >- </ol> >+ [% biblio = biblioloop.0 %] > >- <h2 style="padding: 0 1em;"> >- Place a hold on a specific item >- [% IF bibitemloo.force_hold_level == 'item' %] >- <span class="error"><em>(Required)</em></span> >- [% END %] >- </h2> >+ <ol> >+ [% UNLESS Koha.Preference('item-level_itypes') %] >+ <li> >+ <span class="label">Item typeX:</span> >+ [% biblio.itemtype.translated_description | html %] >+ </li> >+ [% END %] > >- <table id="requestspecific"> >- <thead> >- <tr> >- <th>Hold</th> >- [% IF ( item_level_itypes ) %] >- <th>Item type</th> >- [% END %] >- <th>Barcode</th> >- <th>Home library</th> >- <th>Last location</th> >- [% IF itemdata_ccode %] >- <th>Collection</th> >- [% END %] >- <th>Call number</th> >- <th>Copy number</th> >- [% IF itemdata_enumchron %] >- <th>Vol no.</th> >- [% END %] >- <th>Information</th> >- <th>Allowed pickup locations</th> >- </tr> >- </thead> >- <tbody> >- [% SET selected = 0 %] >- [% FOREACH itemloo IN bibitemloo.itemloop %] >- [% UNLESS ( itemloo.hide ) %] >- <tr class="[% itemloo.backgroundcolor | html %]"> >- <td> >- [% IF itemloo.force_hold_level == 'record' # Patron has placed a record level hold previously for this record %] >- <span class="error"> >- <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i> >- Hold must be record level >- </span> >- [% ELSIF ( itemloo.available ) %] >- <input type="radio" name="checkitem" value="[% itemloo.itemnumber | html %]" /> >- [% ELSIF ( itemloo.override ) %] >- <input type="radio" name="checkitem" class="needsoverride" value="[% itemloo.itemnumber | html %]" /> >- <i class="fa fa-exclamation-triangle fa-lg" style="color:gold" title="Requires override of hold policy"/></i> >- [% ELSE %] >- <span class="error"> >- <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i> >- [% IF itemloo.not_holdable %] >- [% IF itemloo.not_holdable == 'damaged' %] >- Item damaged >- [% ELSIF itemloo.not_holdable == 'ageRestricted' %] >- Age restricted >- [% ELSIF itemloo.not_holdable == 'tooManyHoldsForThisRecord' %] >- Exceeded max holds per record >- [% ELSIF itemloo.not_holdable == 'tooManyReservesToday' %] >- Daily hold limit reached for patron >- [% ELSIF itemloo.not_holdable == 'tooManyReserves' %] >- Too many holds >- [% ELSIF itemloo.not_holdable == 'notReservable' %] >- Not holdable >- [% ELSIF itemloo.not_holdable == 'cannotReserveFromOtherBranches' %] >- Patron is from different library >- [% ELSIF itemloo.not_holdable == 'branchNotInHoldGroup' %] >- Cannot place hold from patron's library >- [% ELSIF itemloo.not_holdable == 'itemAlreadyOnHold' %] >- Patron already has hold for this item >- [% ELSIF itemloo.not_holdable == 'cannotBeTransferred' %] >- Cannot be transferred to pickup library >- [% ELSIF itemloo.not_holdable == 'pickupNotInHoldGroup' %] >- Only pickup locations within the same hold group are allowed >- [% ELSIF itemloo.not_holdable == 'noReservesAllowed' %] >- No reserves are allowed on this item >- [% ELSIF itemloo.not_holdable == 'libraryNotPickupLocation' %] >- Library is not a pickup location >- [% ELSIF itemloo.not_holdable == 'no_valid_pickup_location' %] >- No valid pickup location >- [% ELSE %] >- [% itemloo.not_holdable | html %] >- [% END %] >+ [% IF ( biblio.biblioitem.publicationyear ) %] >+ <li> >+ <span class="label">Publication year:</span> >+ [% biblio.biblioitem.publicationyear | html %] >+ </li> >+ [% END %] >+ </ol> >+ >+ <h2 style="padding: 0 1em;"> >+ Place a hold on a specific item >+ [% IF force_hold_level == 'item' %] >+ <span class="error"><em>(Required)</em></span> >+ [% END %] >+ </h2> >+ >+ <table id="requestspecific"> >+ <thead> >+ <tr> >+ <th>Hold</th> >+ <th>Allowed pickup locations</th> >+ [% IF Koha.Preference('item-level_itypes') %] >+ <th>Item type</th> >+ [% END %] >+ <th>Barcode</th> >+ <th>Home library</th> >+ <th>Last location</th> >+ [% IF itemdata_ccode %] >+ <th>Collection</th> >+ [% END %] >+ <th>Call number</th> >+ <th>Copy number</th> >+ [% IF itemdata_enumchron %] >+ <th>Vol no.</th> >+ [% END %] >+ <th>Information</th> >+ </tr> >+ </thead> >+ <tbody> >+ [% SET selected = 0 %] >+ [% FOREACH itemloo IN biblio.itemloop %] >+ [% UNLESS ( itemloo.hide ) %] >+ <tr class="[% itemloo.backgroundcolor | html %]"> >+ <td> >+ [% IF force_hold_level == 'record' # Patron has placed a record level hold previously for this record %] >+ <span class="error"> >+ <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i> >+ Hold must be record level >+ </span> >+ [% ELSIF ( itemloo.available ) %] >+ <input type="radio" name="checkitem" value="[% itemloo.itemnumber | html %]" /> >+ [% ELSIF ( itemloo.override ) %] >+ <input type="radio" name="checkitem" class="needsoverride" value="[% itemloo.itemnumber | html %]" /> >+ <i class="fa fa-exclamation-triangle fa-lg" style="color:gold" title="Requires override of hold policy"/></i> >+ [% ELSE %] >+ <span class="error"> >+ <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i> >+ [% IF itemloo.not_holdable %] >+ [% IF itemloo.not_holdable == 'damaged' %] >+ <span>Item damaged</span> >+ [% ELSIF itemloo.not_holdable == 'ageRestricted' %] >+ <span>Age restricted</span> >+ [% ELSIF itemloo.not_holdable == 'tooManyHoldsForThisRecord' %] >+ <span>Exceeded max holds per record</span> >+ [% ELSIF itemloo.not_holdable == 'tooManyReservesToday' %] >+ <span>Daily hold limit reached for patron</span> >+ [% ELSIF itemloo.not_holdable == 'tooManyReserves' %] >+ <span>Too many holds</span> >+ [% ELSIF itemloo.not_holdable == 'notReservable' %] >+ <span>Not holdable</span> >+ [% ELSIF itemloo.not_holdable == 'cannotReserveFromOtherBranches' %] >+ <span>Patron is from different library</span> >+ [% ELSIF itemloo.not_holdable == 'branchNotInHoldGroup' %] >+ <span>Cannot place hold from patron's library</span> >+ [% ELSIF itemloo.not_holdable == 'itemAlreadyOnHold' %] >+ <span>Patron already has hold for this item</span> >+ [% ELSIF itemloo.not_holdable == 'cannotBeTransferred' %] >+ <span>Cannot be transferred to pickup library</span> >+ [% ELSIF itemloo.not_holdable == 'pickupNotInHoldGroup' %] >+ <span>Only pickup locations within the same hold group are allowed</span> >+ [% ELSIF itemloo.not_holdable == 'noReservesAllowed' %] >+ <span>No holds are allowed on this item</span> >+ [% ELSIF itemloo.not_holdable == 'libraryNotPickupLocation' %] >+ <span>Library is not a pickup location</span> >+ [% ELSIF itemloo.not_holdable == 'no_valid_pickup_location' %] >+ <span>No valid pickup location</span> >+ [% ELSIF itemloo.not_holdable == 'notforloan' %] >+ <span>Not for loan</span> >+ [% ELSE %] >+ <span>[% itemloo.not_holdable | html %]</span> > [% END %] >- </span> >- [% END # /IF itemloo.force_hold_level %] >- </td> >- [% IF ( item_level_itypes ) %] >- <td> >- [% UNLESS ( noItemTypeImages ) %] >- [% IF ( itemloo.imageurl ) %]<img src="[% itemloo.imageurl | html %]" alt="" /> <br /> [% END %] > [% END %] >- [% itemloo.itypename | html %] >- </td> >+ </span> >+ [% END # /IF force_hold_level %] >+ </td> >+ <td> >+ [% IF (itemloo.pickup_locations_count > 0) %] >+ <select name="item_pickup_[% itemloo.itemnumber | html %]" class="pickup_locations" style="width:100%;" >+ data-item-id="[% itemloo.itemnumber | html %]" >+ data-patron-id="[% patron.borrowernumber | html %]" >+ data-pickup-location-source="item"> >+ [% IF (itemloo.default_pickup_location) %] >+ <option value="[% itemloo.default_pickup_location.branchcode | html %]" selected="selected">[% itemloo.default_pickup_location.branchname | html %]</option> > [% END %] >+ </select> >+ [% END %] >+ </td> >+ [% IF Koha.Preference('item-level_itypes') %] > <td> >- [% itemloo.barcode | html %] >+ [% UNLESS ( noItemTypeImages ) %] >+ [% IF ( itemloo.itemtype.image_location) %]<img src="[% itemloo.itemtype.image_location | html %]" alt="" /> <br /> [% END %] >+ [% END %] >+ [% itemloo.itemtype.translated_description | html %] > </td> >+ [% END %] >+ <td> >+ [% itemloo.barcode | html %] >+ </td> >+ <td> >+ [% Branches.GetName( itemloo.homebranch ) | html %] >+ </td> >+ <td> >+ [% Branches.GetName( itemloo.holdingbranch ) | html %] >+ </td> >+ [% IF itemdata_ccode %] > <td> >- [% Branches.GetName( itemloo.homebranch ) | html %] >+ [% IF ( itemloo.ccode ) %][% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => itemloo.ccode ) | html %][% END %] > </td> >+ [% END %] >+ <td> >+ [% itemloo.itemcallnumber | html %] >+ </td> >+ <td> >+ [% IF ( itemloo.copynumber ) %][% itemloo.copynumber | html %][% ELSE %] [% END %] >+ </td> >+ [% IF itemdata_enumchron %] > <td> >- [% Branches.GetName( itemloo.holdingbranch ) | html %] >+ [% itemloo.enumchron | html %] > </td> >- [% IF itemdata_ccode %] >- <td> >- [% IF ( itemloo.ccode ) %][% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => itemloo.ccode ) | html %][% END %] >- </td> >- [% END %] >+ [% END %] >+ [% IF ( itemloo.onloan ) %] >+ <td data-order="[% itemloo.date_due | html %]"> >+ <span class="checkedout">Due [% itemloo.date_due | $KohaDates as_due_date => 1 %]</span> >+ [% ELSE %] > <td> > [% IF ( itemloo.transfertwhen ) %] > <span>In transit from [% Branches.GetName( itemloo.transfertfrom ) | html %], >@@ -770,86 +810,66 @@ > [% IF ( itemloo.waitingdate ) %] > [% itemloo.waitingdate | $KohaDates %] > [% ELSE %] >- [% IF ( itemloo.waitingdate ) %]Waiting[% ELSE %]On hold[% END %] >- [% IF ( itemloo.canreservefromotherbranches ) %] >- for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% itemloo.ReservedFor.borrowernumber | uri %]">[% itemloo.ReservedFor.firstname | html %] [% itemloo.ReservedFor.surname | html %]</a> >+ [% IF ( itemloo.reservedate ) %] >+ [% itemloo.reservedate | html %] > [% END %] >- [% IF ( itemloo.waitingdate ) %]at[% ELSE %]expected at[% END %] >- [% Branches.GetName( itemloo.ExpectedAtLibrary ) | html %] since >- [% IF ( itemloo.waitingdate ) %] >- [% itemloo.waitingdate | $KohaDates %] >- [% ELSE %] >- [% IF ( itemloo.reservedate ) %] >- [% itemloo.reservedate | html %] >- [% END %] >- [% END %]. >- <a class="info cancel-hold" href="modrequest.pl?CancelBiblioNumber=[% itemloo.biblionumber | html %]&CancelBorrowerNumber=[% itemloo.ReservedFor.borrowernumber | html %]&CancelItemnumber=[% itemloo.itemnumber | html %]">Cancel hold</a> >- [% END # /IF itemloo.nocancel %] >- [% ELSE %] >- Not on hold >- [% END # /IF itemloo.reservedate %] >+ [% END %]. >+ <a class="info cancel-hold" href="modrequest.pl?CancelBiblioNumber=[% itemloo.biblionumber | html %]&CancelBorrowerNumber=[% itemloo.ReservedFor.borrowernumber | html %]&CancelItemnumber=[% itemloo.itemnumber | html %]">Cancel hold</a> >+ [% END # /IF itemloo.nocancel %] >+ [% ELSE %] >+ Not on hold >+ [% END # /IF itemloo.reservedate %] > >- [% IF itemloo.item_level_holds == "N" %] >- <br/>Item level hold not allowed from OPAC >- [% ELSIF itemloo.item_level_holds == "F" %] >- <br/>Item level hold forced from OPAC >- [% END %] >+ [% IF itemloo.item_level_holds == "N" %] >+ <br/>Item level hold not allowed from OPAC >+ [% ELSIF itemloo.item_level_holds == "F" %] >+ <br/>Item level hold forced from OPAC >+ [% END %] > >- [% IF ( itemloo.itemlost ) %] >- <span class="lost">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => itemloo.itemlost ) | html %]</span> >- [% END %] >+ [% IF ( itemloo.itemlost ) %] >+ <span class="lost">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => itemloo.itemlost ) | html %]</span> >+ [% END %] > >- [% IF ( itemloo.damaged ) %] >- <span class="dmg">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.damaged', authorised_value => itemloo.damaged ) | html %]</span> >- [% END %] >+ [% IF ( itemloo.damaged ) %] >+ <span class="dmg">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.damaged', authorised_value => itemloo.damaged ) | html %]</span> >+ [% END %] > >- [% IF ( itemloo.withdrawn ) %] >- <span class="wdn">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => itemloo.withdrawn ) | html %]</span> >- [% END %] >+ [% IF ( itemloo.withdrawn ) %] >+ <span class="wdn">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => itemloo.withdrawn ) | html %]</span> >+ [% END %] > >- [% IF ( itemloo.notforloan ) %] >- <span class="nfl">Not for loan ([% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => itemloo.notforloan ) | html %])</span> >- [% END %] >- </td> >- <td> >- [% IF (itemloo.pickup_locations_count > 0) %] >- <select name="item_pickup_[% itemloo.itemnumber | html %]" class="pickup_locations" style="width:100%;" >- data-item-id="[% itemloo.itemnumber | html %]" >- data-patron-id="[% patron.borrowernumber | html %]" >- data-pickup-location-source="item"> >- [% IF (itemloo.default_pickup_location) %] >- <option value="[% itemloo.default_pickup_location.branchcode | html %]" selected="selected">[% itemloo.default_pickup_location.branchname | html %]</option> >- [% END %] >- </select> >+ [% IF ( itemloo.notforloan ) %] >+ <span class="nfl">Not for loan ([% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => itemloo.notforloan ) | html %])</span> >+ [% ELSIF ( itemloo.notforloanitype ) %] >+ <span class="nfl">Not for loan (Itemtype not for loan)</span> > [% END %] >- </td> >- </tr> >- [% END # / UNLESS itemloo.hide %] >- [% END # /FOREACH itemloo %] >- </tbody> >- </table> <!-- /#requestspecific --> >- >- [% IF ( bibitemloo.hiddencount ) %] >- <form> >- <p class="hiddencount"> >- <a href="request.pl?biblionumber=[% bibitemloo.biblionumber | uri %]&borrowernumber=[% bibitemloo.borrowernumber | uri %]&showallitems=1">Show all items ([% bibitemloo.hiddencount | html %] hidden)</a> >- </p> >- </form> >- [% END # /IF bibitemloo.hiddencount %] >- [% END # /FOREACH bibitemloo %] >+ </td> >+ </tr> >+ [% END # / UNLESS itemloo.hide %] >+ [% END # /FOREACH itemloo %] >+ </tbody> >+ </table> <!-- /#requestspecific --> >+ >+ [% IF hiddencount %] >+ <form> >+ <p class="hiddencount"> >+ <a href="request.pl?biblionumber=[% biblio.biblionumber | uri %]&borrowernumber=[% borrowernumber | uri %]&showallitems=1">Show all items ([% biblio.hiddencount | html %] hidden)</a> >+ </p> >+ </form> >+ [% END # /IF hiddencount %] > > [% ELSE # /UNLESS multi_hold %] > > <table id="requesttitles"> > <tr> > <th> </th> >+ <th>Pickup location</th> > <th>Title</th> >- [% UNLESS ( item_level_itypes ) %] >+ [% UNLESS Koha.Preference('item-level_itypes') %] > <th>Item type</th> > [% END %] > <th>Priority</th> > <th>Information</th> >- <th>Pickup location</th> > </tr> > [% FOREACH biblioloo IN biblioloop %] > [% IF ( biblioloo.warn ) %] >@@ -859,13 +879,28 @@ > [% END %] > <td> > [% UNLESS ( biblioloo.warn ) %] >- <input class="multi_hold_item_checkbox" type="checkbox" checked="checked" title="[% biblioloo.biblionumber | html %]"/> >- </td> >+ <input class="multi_hold_item_checkbox" type="checkbox" checked="checked" title="[% biblioloo.biblionumber | html %]"/> > [% END %] >+ </td> >+ <td> >+ [% UNLESS ( biblioloo.none_avail || biblioloo.noitems ) %] >+ <select name="pickup_[% biblioloo.biblionumber | html %]" >+ class="multi_pickup_select" >+ data-biblio-id="[% biblioloo.biblionumber | html %]" >+ data-patron-id="[% patron.borrowernumber | html %]" >+ data-pickup-locations='[% biblioloo.pickup_locations_codes.json | $raw %]'> >+ <option value=""></option> >+ [% FOREACH pickup_location IN biblioloo.pickup_locations %] >+ <option value="[% pickup_location.branchcode | html %]">[% pickup_location.branchname | html %]</option> >+ [% END %] >+ </select> >+ [% END %] >+ </td> > <td> > <ul> > <li> > <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblioloo.biblionumber | uri %]">[% biblioloo.title | html %]</a> >+ [% IF biblioloo.author %] by [% biblioloo.author | html %][% END %] > </li> > [% IF ( biblioloo.publicationyear ) %] > <li> >@@ -877,9 +912,9 @@ > <span class="not_holdable" title="[% biblioloo.biblionumber | html %]"></span> > [% END %] > </td> >- [% UNLESS ( item_level_itypes ) %] >+ [% UNLESS Koha.Preference('item-level_itypes') %] > <td> >- <img src="[% biblioloo.imageurl | html %]" alt="[% biblioloo.itypename | html %]" title="[% biblioloo.itypename | html %]" /> >+ <img src="[% biblioloo.itemtype.image_location | html %]" alt="[% biblioloo.itemtype.translated_description | html %]" title="[% biblioloo.itemtype.translated_description | html %]" /> > </td> > [% END %] > <td>[% biblioloo.rank | html %]</td> >@@ -912,20 +947,6 @@ > [% END %] > [% END %] > </td> >- <td> >- [% UNLESS ( biblioloo.none_avail || biblioloo.noitems ) %] >- <select name="pickup_[% biblioloo.biblionumber | html %]" >- class="multi_pickup_select" >- data-biblio-id="[% biblioloo.biblionumber | html %]" >- data-patron-id="[% patron.borrowernumber | html %]" >- data-pickup-locations='[% biblioloo.pickup_locations_codes.json | $raw %]'> >- <option value=""></option> >- [% FOREACH pickup_location IN biblioloo.pickup_locations %] >- <option value="[% pickup_location.branchcode | html %]">[% pickup_location.branchname | html %]</option> >- [% END %] >- </select> >- [% END %] >- </td> > </tr> > [% END # /FOREACH biblioloo %] > </table> <!-- /#requesttitles --> >@@ -950,7 +971,7 @@ > [% ELSIF ( none_available ) %] > <button type="submit" class="btn btn-default btn-disabled" disabled="disabled">Place hold</button> > [% ELSE %] >- <button type="submit" class="btn btn-default" id="lientype">Place hold</button> >+ <button type="submit" class="btn btn-default">Place hold</button> > [% END %] > [% END %] > [% END # /IF patron %] >@@ -977,7 +998,9 @@ > [% IF ( reserveloop ) %] > <form id="existing_holds" name="T[% time | html %]" action="modrequest.pl" method="post" style="display:block"> > [% IF ( multi_hold ) %] >- <input type = "hidden" name="biblionumbers" value="[% biblionumbers | html %]"/> >+ [% FOREACH biblionumber IN biblionumbers %] >+ <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/> >+ [% END %] > [% END %] > > [% IF enqueued %] >@@ -992,7 +1015,7 @@ > <input type="submit" name="submit" value="Update hold(s)" /> <button class="cancel_selected_holds" data-bulk="true"></button> > <fieldset id="cancellation-reason-fieldset" class="action"> > [% SET hold_cancellation = AuthorisedValues.GetAuthValueDropbox('HOLD_CANCELLATION') %] >- [% IF hold_cancellation %] >+ [% IF hold_cancellation.count %] > <label for="cancellation-reason">Cancellation reason: </label> > <select class="cancellation-reason" name="cancellation-reason" id="cancellation-reason"> > <option value="">No reason given</option> >@@ -1115,7 +1138,7 @@ > [% IF i %] > [% ItemTypes.GetDescription( i ) | html %] > [% ELSE %] >- Any item type >+ <span>Any item type</span> > [% END %] > </h5> > >@@ -1178,7 +1201,7 @@ > > <fieldset class="action"> > [% SET hold_cancellation = AuthorisedValues.GetAuthValueDropbox('HOLD_CANCELLATION') %] >- [% IF hold_cancellation %] >+ [% IF hold_cancellation.count %] > <label for="cancellation-reason">Cancellation reason: </label> > <select class="cancellation-reason" name="modal-cancellation-reason" id="modal-cancellation-reason"> > <option value="">No reason given</option> >@@ -1200,18 +1223,23 @@ > > [% MACRO jsinclude BLOCK %] > [% INCLUDE 'datatables.inc' %] >+ [% INCLUDE 'calendar.inc' %] > [% INCLUDE 'columns_settings.inc' %] > [% Asset.js("lib/hc-sticky.js") | $raw %] >- [% Asset.js("js/circ-patron-search-results.js") | $raw %] > [% INCLUDE 'select2.inc' %] > [% Asset.js("js/holds.js") | $raw%] >- [% INCLUDE 'calendar.inc' %] >+ >+ [% SET url_biblio_params = "biblionumber=" _ biblionumbers.join("&biblionumber=") %] >+ [% IF multi_hold %] >+ [% SET url_biblio_params = url_biblio_params _ "&multi_hold=1" %] >+ [% END %] >+ > <script> > var Sticky; >- var biblionumber = "[% biblionumber | $raw %]"; >+ var biblionumbers = [[% biblionumbers.join(', ') | $raw %]]; > var borrowernumber = "[% patron.borrowernumber | $raw %]"; > var patron_homebranch = "[% To.json( Branches.GetName( patron.branchcode ) ) | $raw %]"; >- var override_items = {[% FOREACH bibitemloo IN bibitemloop %][% FOREACH itemloo IN bibitemloo.itemloop %][% IF ( itemloo.override ) %] >+ var override_items = {[% FOREACH biblio IN biblioloop %][% FOREACH itemloo IN biblio.itemloop %][% IF ( itemloo.override ) %] > [% itemloo.itemnumber | html %]: { > homebranch: "[% To.json( Branches.GetName( itemloo.homebranch ) ) | $raw %]", > holdallowed: "[% itemloo.holdallowed | html %]" >@@ -1233,7 +1261,6 @@ > } > > var MSG_CANCEL_SELECTED = _("Cancel selected (%s)"); >- columns_settings_borrowers_table = [% TablesSettings.GetColumns( 'circ', 'circulation', 'table_borrowers', 'json' ) | $raw %]; > $.fn.select2.defaults.set("width", "100%" ); > $.fn.select2.defaults.set("dropdownAutoWidth", true ); > >@@ -1247,16 +1274,20 @@ > } > }); > >- [% SET active = clubs ? 1 : 0 %] >- $('#circ_holds_select').tabs({ >- active: [% active | $raw %], >- activate: function(){ >- $(this).find("input.focus").focus(); >- }, >- create: function(){ >- $(this).find("input.focus").focus(); >- } >- }); >+ if( $("#circ_holds_select").length > 0 ){ >+ [% SET active = clubs ? 1 : 0 %] >+ /* Set active tab based on whether a club search was submitted */ >+ var tabs = $("#circ_holds_select li:eq(" + [% active | $raw %] + ") a").tab("show"); >+ $( tabs[0].hash ).find("input.focus").focus(); >+ >+ /* Change active focus when tabs change */ >+ $("#circ_holds_select a[data-toggle='tab']").on("shown.bs.tab", function (e) { >+ active_tab = e.target.hash; >+ $( active_tab ).find("input.focus").focus(); >+ }); >+ } >+ >+ > function ToggleHoldsToPlace() { > if ( $("#requestany").prop('checked') ) { > $("#holds_to_place_count").prop('disabled', false); >@@ -1274,7 +1305,7 @@ > var pickup = $("#pickup").val(); > var url = "?pickup=" + pickup; > url += "&borrowernumber=" + borrowernumber; >- url += "&biblionumber=" + biblionumber; >+ url += "&biblionumber=" + biblionumbers[0]; > window.location.replace(url); > }); > [% END %] >@@ -1294,8 +1325,6 @@ > $("#club-request-form").on("submit", function() { > let $t = $(this); > $('.clubalert, .holdalert').addClass('hide'); >- let biblionumbers = [biblionumber]; >- let biblionumbers_text; > const data = { > pickup_library_id: $('select[name="pickup"]').val() > }; >@@ -1311,12 +1340,13 @@ > if($('input[name="default_patron_home"]:checked').length) { > data.default_patron_home = 1; > } >- if($('input[name="biblionumbers"]').length) { >- biblionumbers_text = $('input[name="biblionumbers"]').val(); >- biblionumbers = biblionumbers_text.replace(/\/$/, '').split('/') >- } > > const count = $('input[name="holds_to_place_count"]').length?$('input[name="holds_to_place_count"]').val():1; >+ var newloc = 'request.pl?'; >+ biblionumbers.forEach(function (biblionumber) { >+ newloc += '&biblionumber=' + biblionumber; >+ }); >+ > biblionumbers.forEach(function(biblionumber) { > data.biblio_id = biblionumber; > let options = { >@@ -1328,11 +1358,7 @@ > for(let i = 0; i < count; i++) { > $.ajax(options) > .then(function(result) { >- let url = 'request.pl?biblionumber='+biblionumber; >- if(biblionumbers_text) { >- url = 'request.pl?biblionumbers='+biblionumbers_text; >- } >- document.location = url; >+ document.location = newloc; > }) > .fail(function(err) { > var message = err.responseJSON.error; >@@ -1427,7 +1453,6 @@ > > function checkMultiHold() { > >- var biblionumbers = ""; > var selected_bibs = $(".multi_hold_item_checkbox:checked"); > if ( selected_bibs.length > 0 ) { > // there are biblios selected in the form! >@@ -1440,7 +1465,6 @@ > } > else { > var bibnum = $(this).attr("title"); >- biblionumbers += bibnum + "/"; > } > }); > if ( pickup_not_set > 0 ) { >@@ -1453,22 +1477,13 @@ > return false; > } > >- var badSpans = $(".not_holdable"); >- var badBibs = ""; >- $(badSpans).each(function() { >- var bibnum = $(this).attr("title"); >- badBibs += bibnum + "/"; >- }); >- >- $("#multi_hold_bibs").val(biblionumbers); >- $("#bad_bibs").val(badBibs); >- > $('#hold-request-form').preventDoubleFormSubmit(); > > return true; > } > > $(document).ready(function() { >+ > $("#always_show_holds").change(function(){ > if( $(this).prop('checked') ){ > document.cookie = 'always_show_holds=DO'; >@@ -1556,11 +1571,8 @@ > $("#cancelModalConfirmBtn").on("click",function(e) { > let link; > if(cancel_link.data('bulk')) { >- [% IF biblionumbers %] >- link = `request.pl?biblionumbers=[% biblionumbers | url %]&action=cancelBulk&ids=${$('.holds_table .select_hold:checked').toArray().map(el => $(el).data('id')).join(',')}`; >- [% ELSE %] >- link = `request.pl?biblionumber=[% biblionumber | url %]&action=cancelBulk&ids=${$('.holds_table .select_hold:checked').toArray().map(el => $(el).data('id')).join(',')}`; >- [% END %] >+ [% SET data_url = 'biblionumber=' _ biblionumbers.join('&biblionumber=') %] >+ link = `request.pl?[% data_url | url %]&action=cancelBulk&ids=${$('.holds_table .select_hold:checked').toArray().map(el => $(el).data('id')).join(',')}`; > } else { > let borrowernumber = cancel_link.data('borrowernumber'); > let biblionumber = cancel_link.data('biblionumber'); >@@ -1577,13 +1589,11 @@ > > [% UNLESS ( patron || patron.borrowernumber || borrowers || noitems || nobiblio ) %] > [% IF ( PatronAutoComplete ) %] >- $( "#patron" ).autocomplete({ >+ $( "#search_patron_filter" ).autocomplete({ > source: "/cgi-bin/koha/circ/ysearch.pl", > minLength: 3, > select: function( event, ui ) { >- $( "#patron" ).val( ui.item.cardnumber ); >- $( "#holds_patronsearch" ).submit(); >- return false; >+ document.location.href = '/cgi-bin/koha/reserve/request.pl?[% url_biblio_params | url %]&borrowernumber=' + ui.item.borrowernumber; > } > }) > .data( "ui-autocomplete" )._renderItem = function( ul, item ) { >@@ -1611,6 +1621,7 @@ > }; > [% END %] > [% END %] >+ > Sticky = $("#toolbar"); > Sticky.hcSticky({ > stickTo: "#existing_holds", >@@ -1661,8 +1672,23 @@ > } > return false; > }); >+ }); >+ </script> >+ >+ <script> >+ table_settings = [% TablesSettings.GetColumns( 'circ', 'circulation', 'table_borrowers', 'json' ) | $raw %]; >+ </script> > >+ [% PROCESS patron_search_js table_id => 'table_borrowers', categories => categories, libraries => libraries, extended_attribute_types => attribute_type_codes, columns => columns, open_on_row_click => 1, on_click_url => '/cgi-bin/koha/reserve/request.pl?' _ url_biblio_params, redirect_if_one_result => 1, redirect_url => '/cgi-bin/koha/reserve/request.pl?' _ url_biblio_params, redirect_if_attribute_equal => 'cardnumber' %] >+ <script> >+ $(document).ready(function() { >+ $("#holds_patronsearch").on("submit", filter); > }); >+ $('.printholdslip').click(function(){ >+ var reserve_id = $(this).attr('data-reserve_id'); >+ window.open("/cgi-bin/koha/circ/hold-transfer-slip.pl?reserve_id=" + reserve_id); >+ return false; >+ }) > </script> > [% END %] > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_record_modification.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_record_modification.tt >index 4b0e0edf1f..7710466e8f 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_record_modification.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_record_modification.tt >@@ -1,9 +1,6 @@ > [% USE raw %] > [% USE Asset %] > [% SET footerjs = 1 %] >-[% formulaire = BLOCK %] >- [% INCLUDE 'cat-search.inc' %] >-[% END %] > [% PROCESS 'authorities-search-results.inc' %] > [% INCLUDE 'doc-head-open.inc' %] > <title>Batch record modification › Tools › Koha</title> >@@ -12,7 +9,8 @@ > </head> > > <body id="tools_batch_record_modification" class="tools"> >- [% INCLUDE 'header.inc' form=formulaire %] >+ [% INCLUDE 'header.inc' %] >+ [% INCLUDE 'cat-search.inc' %] > > <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb"> > <ol> >@@ -26,12 +24,6 @@ > <a href="#" aria-current="page">Batch record modification</a> > </li> > </ol> >- <ol> >- [% IF Koha.Preference('showLastPatron') %][% INCLUDE 'last-borrower.inc' %][% END %] >- </ol> >- <ol> >- <a class="toplinks" href="/cgi-bin/koha/help.pl" id="helper"><i class="fa fa-question-circle"></i> <span>Help</span></a> >- </ol> > </nav> > > <div class="main container-fluid"> >@@ -39,7 +31,7 @@ > <div class="col-sm-10 col-sm-push-2"> > <main> > >- <h2>Batch record modification</h2> >+ <h1>Batch record modification</h1> > > [% IF ( messages ) %] > <div class="dialog message"> >@@ -73,7 +65,7 @@ > [% IF view == 'form' %] > <form method="post" enctype="multipart/form-data" action="/cgi-bin/koha/tools/batch_record_modification.pl" id="record_ids_selection"> > <fieldset class="rows"> >- <h3>Record type</h3> >+ <legend>Record type</legend> > <ol> > <li><label for="biblio_type">Biblios: </label><input type="radio" name="recordtype" value="biblio" id="biblio_type" checked="checked" /></li> > <li><label for="authority_type">Authorities: </label><input type="radio" name="recordtype" value="authority" id="authority_type" /></li> >@@ -83,7 +75,6 @@ > <br><br> > > <div id="batch_mod_form" class="toptabs" style="clear:both"> >- <fieldset id="searchresults"> > <ul class="nav nav-tabs" role="tablist"> > <li role="presentation" class="active"> > <a href="#uploadfile_tab" aria-controls="uploadfile_tab" role="tab" data-toggle="tab">Upload a file</a> >@@ -98,29 +89,43 @@ > </li> > </ul> > >- <div id="uploadfile_tab"> >- <fieldset class="rows"> >- <h3>Use a file</h3> >- <ol> >- <li><label for="uploadfile">File: </label> <input type="file" id="uploadfile" name="uploadfile" /></li> >- </ol> >- </fieldset> >- >- </div> >+ <div class="tab-content"> >+ <div id="uploadfile_tab" role="tabpanel" class="tab-pane active"> >+ <fieldset class="rows"> >+ <ol> >+ <li><label for="uploadfile">File: </label> <input type="file" id="uploadfile" name="uploadfile" /></li> >+ </ol> >+ </fieldset> >+ >+ </div> > >- [% IF lists.count %] >- <div id="shelves_tab"> >+ [% IF lists.count %] >+ <div id="shelves_tab" role="tabpanel" class="tab-pane"> >+ <fieldset class="rows"> >+ <ol> >+ <li> >+ <label for="shelf_number">List: </label> >+ <select name="shelf_number" id="shelf_number"> >+ <option value="">Select a list</option> >+ [% FOREACH list IN lists %] >+ <option value="[% list.shelfnumber | html %]">[% list.shelfname | html %]</option> >+ [% END %] >+ </option> >+ </select> >+ </li> >+ </ol> >+ </fieldset> >+ >+ </div> >+ [% END %] >+ >+ <div id="enterlist_tab" role="tabpanel" class="tab-pane"> > <fieldset class="rows"> > <ol> > <li> >- <label for="shelf_number">Use records from the following list: </label> >- <select name="shelf_number" id="shelf_number"> >- <option value="">Select a list</option> >- [% FOREACH list IN lists %] >- <option value="[% list.shelfnumber | html %]">[% list.shelfname | html %]</option> >- [% END %] >- </option> >- </select> >+ <label for="recordnumber_list">Record numbers: </label> >+ <textarea rows="10" cols="30" id="recordnumber_list" name="recordnumber_list"></textarea> >+ <div class="hint">Enter a list of biblionumbers or authority IDs, one per line.</div> > </li> > </ol> > </fieldset> >@@ -133,7 +138,7 @@ > <legend>MARC modification template</legend> > <ol> > <li> >- <label for="marc_modification_template_id" class="required">Modify record using the following template: </label> >+ <label for="marc_modification_template_id" class="required">Template: </label> > <select name="marc_modification_template_id" id="marc_modification_template_id" required="required"> > <option value="">Select a template</option> > [% FOREACH mmt IN MarcModificationTemplatesLoop %] >@@ -145,7 +150,7 @@ > </fieldset> > <fieldset class="action"> > <input type="hidden" name="op" value="list" /> >- <input type="submit" class="principal" value="Continue" class="button" /> >+ <input type="submit" value="Continue" class="button" /> > <a class="cancel" href="/cgi-bin/koha/tools/tools-home.pl">Cancel</a> > </fieldset> > </form> <!-- /#record_ids_selection --> >@@ -174,7 +179,7 @@ > <div id="loading"> <img src="[% interface | html %]/[% theme | html %]/img/spinner-small.gif" alt="" /> Loading </div> > </div> > <div class="modal-footer"> >- <button class="btn btn-default cancel" data-dismiss="modal" aria-hidden="true">Close</button> >+ <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button> > </div> > </div> > </div> >@@ -216,7 +221,7 @@ > <thead> > <tr> > <th></th> >- <th>Authid</th> >+ <th>AuthID</th> > <th>Summary</th> > <th> </th> > </tr> >@@ -237,12 +242,12 @@ > <fieldset class="action"> > <input type="hidden" name="op" value="modify" /> > <input type="hidden" name="recordtype" value="[% recordtype | html %]" /> >- <input type="submit" id="mainformsubmit" value="Modify selected records" class="button principal" /> >+ <input type="submit" id="mainformsubmit" value="Modify selected records" class="button" /> > </fieldset> > </form> <!-- /#process --> > [% ELSE %] > <div class="dialog message"> >- No records were modified. [% IF recordtype != 'biblio' %]<a id="lientype" href="/cgi-bin/koha/tools/batch_record_modification.pl" title="New batch record modification">New batch record modification</a>[% END %] >+ No records were modified. [% IF recordtype != 'biblio' %]<a href="/cgi-bin/koha/tools/batch_record_modification.pl" title="New batch record modification">New batch record modification</a>[% END %] > </div> > [% END %] > [% ELSIF view == 'errors' %] >@@ -256,8 +261,8 @@ > [% ELSIF view == 'enqueued' %] > <div class="dialog message"> > <p>The job has been enqueued! It will be processed as soon as possible.</p> >- <p><a id="lientype" href="/cgi-bin/koha/admin/background_jobs.pl?op=view&id=[% job_id | uri %]" title="View detail of the enqueued job">View detail of the enqueued job</a> >- | <a id="lientype" href="/cgi-bin/koha/tools/batch_record_modification.pl" title="New batch record modification">New batch record modification</a></p> >+ <p><a href="/cgi-bin/koha/admin/background_jobs.pl?op=view&id=[% job_id | uri %]" title="View detail of the enqueued job">View detail of the enqueued job</a> >+ | <a href="/cgi-bin/koha/tools/batch_record_modification.pl" title="New batch record modification">New batch record modification</a></p> > </div> > [% ELSE %] > <div class="dialog alert"> >@@ -281,8 +286,6 @@ > <script> > $(document).ready(function() { > >- $("#batch_mod_form").tabs(); >- > $("input[type='radio']").click(function() { > if ($(this).attr('id') == 'authority_type') { > $("#show_list_option").hide(); >-- >2.17.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 30952
:
136810
|
136812
|
136813
|
136815
|
136816
|
136818
|
136819
|
136820
|
136822
|
136823
|
136825
|
136827
|
136828
|
136830
|
136831
|
136833
|
136834
|
136836
|
136837
|
136839
|
136840
|
136842
|
136844
|
136845
|
136847
|
136848
|
136878
|
136879
|
136880
|
136881
|
136882
|
136883
|
136884
|
136885
|
136886
|
136887
|
136888
|
136889
|
136890
|
136891
|
136892
|
136893
|
136894
|
136895
|
136896
|
136897
|
136898
|
136899
|
136900
|
136901
|
136902
|
136950
|
136951
|
136952
|
136953
|
136954
|
136955
|
136956
|
136957
|
136958
|
136959
|
136960
|
136961
|
136962
|
136963
|
136964
|
136965
|
136966
|
136967
|
136968
|
136969
|
136970
|
136971
|
136972
|
136973
|
136974
|
137408
|
137409
|
137410
|
137411
|
137414
|
137415
|
137416
|
137417
|
137418
|
137419
|
137420
|
137744
|
137767
|
137768
|
137775
|
137776
|
137994
|
138091
|
138092
|
138093
|
138094
|
138095
|
138096
|
138097
|
138098
|
138099
|
138100
|
138101
|
138102
|
138103
|
138245
|
138246
|
138247
|
138293
|
138299
|
138300
|
138302
|
140117
|
140118
|
140119
|
140120
|
140121
|
140122
|
140123
|
140124
|
140125
|
140126
|
140127
|
140128
|
140129
|
140130
|
140131
|
140132
|
140133
|
140134
|
140135
|
140136
|
140137
|
140138
|
140139
|
140140
|
140141
|
140142
|
140143
|
140371
|
140372
|
140373
|
140374
|
140433
|
140435
|
140459
|
140460
|
140512
|
140513
|
140514
|
140515
|
140516
|
140517
|
140519
|
140520
|
140521
|
140522
|
140523
|
140524
|
140525
|
140526
|
140527
|
140528
|
140529
|
140530
|
140531
|
140532
|
140533
|
140534
|
140535
|
140536
|
140537
|
140538
|
140539
|
140540
|
140541
|
140542
|
140543
|
140544
|
140545
|
140546
|
140547
|
140548
|
140549
|
140550
|
140551
|
140552
|
140553
|
140554
|
140555
|
140556
|
140557
|
140558
|
140559
|
140560
|
140566
|
140567
|
140570
|
140571
|
140575
|
140576
|
140577
|
140588
|
140613
|
140617
|
140618
|
140619
|
140620
|
140628
|
140629
|
140635
|
140649
|
140650
|
140651
|
140652
|
140653
|
140654
|
140658
|
140687
|
140976
|
140977
|
141020
|
141024
|
141026
|
141027
|
141041
|
141043
|
141044
|
141047
|
141052
|
141053
|
141054
|
141055
|
141056
|
141057
|
141064
|
141074
|
141075
|
141631
|
141632
|
141633
|
141634
|
141635
|
141636
|
141637
|
141638
|
141639
|
141640
|
141641
|
141642
|
141643
|
141644
|
141645
|
141646
|
141647
|
141648
|
141649
|
141650
|
141651
|
141652
|
141653
|
141654
|
141655
|
141656
|
141657
|
141658
|
141659
|
141660
|
141661
|
141662
|
141663
|
141664
|
141665
|
141666
|
141667
|
141668
|
141669
|
141670
|
141671
|
141672
|
141673
|
141674
|
141675
|
141676
|
141677
|
141678
|
141679
|
141680
|
141681
|
141682
|
141683
|
141684
|
141685
|
141686
|
141687
|
141688
|
141689
|
141690
|
141691
|
141692
|
141693
|
141694
|
141695
|
141696
|
141697
|
141698
|
141699
|
141700
|
141701
|
141702
|
141703
|
141704
|
141705
|
141706
|
141707
|
141708
|
141709
|
141710
|
141711
|
141712
|
141713
|
142604
|
142605