Kyle M Hall
8ab8df3866
At branchtransfers.pl, one selects a destination branch and scans in any number of items to generate transfers to that branch. However, anything that makes the page reload causes your branch selection to be lost, reverting you back to whichever branch comes first alphabetically. This is an invitation to error when one has a stack of books to send all to the same branch. Could that error handling get moved into a modal or something that won't reload the page? Test Plan: 1) Place a hold on an item and set it to waiting 2) Initiate a branch transfer from branchtransfers.pl for any branch but the first in the pulldown branch selector 3) Choose to cancel the hold and transfer 4) Note the pulldown reverts to the first option 5) Apply this patch 6) Repeat steps 1-3 7) Note the pulldown retains your preveiously selected branch! Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
216 lines
12 KiB
Text
216 lines
12 KiB
Text
[% USE Koha %]
|
|
[% USE Branches %]
|
|
[% USE ItemTypes %]
|
|
[% USE AuthorisedValues %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Circulation › Transfers</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
</head>
|
|
<body id="circ_branchtransfers" class="circ">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'circ-search.inc' %]
|
|
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> › Transfers</div>
|
|
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
[% IF Koha.Preference('CircSidebar') %]
|
|
<div class="col-sm-10 col-sm-push-2">
|
|
[% ELSE %]
|
|
<div class="col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
|
|
[% END %]
|
|
<main>
|
|
|
|
[% IF ( found ) %]
|
|
<h3>Reserve found</h3>
|
|
<table>
|
|
<caption>
|
|
[% IF ( reserved ) %]
|
|
Reserve found for [% name | html %] (<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber | uri %]">[% borrowernumber | html %]</a>).
|
|
[% END %]
|
|
[% IF ( waiting ) %]
|
|
Item is marked waiting at [% branchname | html %] for [% name | html %] (<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber | uri %]">[% borrowernumber | html %]</a>).
|
|
[% END %]
|
|
</caption>
|
|
<tr>
|
|
<th>
|
|
[% IF ( reserved ) %]Set reserve to waiting and transfer book to [% branchname | html %]: [% END %]
|
|
[% IF ( waiting ) %]Cancel reservation and then attempt transfer: [% END %]
|
|
</th>
|
|
<td>
|
|
<form method="post" name="mainform" id="mainform" action="branchtransfers.pl">
|
|
[% FOREACH trsfitemloo IN trsfitemloop %]
|
|
<input type="hidden" name="bc-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.barcode | html %]" />
|
|
<input type="hidden" name="fb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.frombrcd | html %]" />
|
|
<input type="hidden" name="tb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.tobrcd | html %]" />
|
|
[% END %]
|
|
<input type="hidden" name="itemnumber" value="[% itemnumber | html %]" />
|
|
<input type="hidden" name="borrowernumber" value="[% borrowernumber | html %]" />
|
|
<input type="hidden" name="tobranchcd" value="[% tobranchcd | html %]" />
|
|
[% IF ( waiting ) %]
|
|
<input type="hidden" name="barcode" value="[% barcode | html %]" />
|
|
<input type="hidden" name="request" value="KillWaiting" />
|
|
<input type="submit" value="Cancel" />
|
|
[% END %]
|
|
[% IF ( reserved ) %]
|
|
<input type="hidden" name="request" value="SetWaiting" />
|
|
<input type="submit" value="Waiting" />
|
|
[% END %]
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
[% IF ( reserved ) %]
|
|
<tr>
|
|
<th>Cancel reservation and then attempt transfer:</th>
|
|
<td>
|
|
<form method="post" name="mainform" id="mainform" action="branchtransfers.pl">
|
|
[% FOREACH trsfitemloo IN trsfitemloop %]
|
|
<input type="hidden" name="bc-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.barcode | html %]" />
|
|
<input type="hidden" name="fb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.frombrcd | html %]" />
|
|
<input type="hidden" name="tb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.tobrcd | html %]" />
|
|
[% END %]
|
|
<input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
|
|
<input type="hidden" name="borrowernumber" value="[% borrowernumber | html %]" />
|
|
<input type="hidden" name="tobranchcd" value="[% tobranchcd | html %]" />
|
|
<input type="hidden" name="barcode" value="[% barcode | html %]" />
|
|
<input type="hidden" name="request" value="KillReserved" />
|
|
<input type="submit" value="Cancel" />
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
<tr>
|
|
<th>Ignore and return to transfers: </th>
|
|
<td>
|
|
<form method="post" name="mainform" id="mainform" action="branchtransfers.pl" />
|
|
<input type="hidden" name="tobranchcd" value="[% tobranchcd | html %]" />
|
|
<input type="hidden" name="barcode" />
|
|
[% FOREACH trsfitemloo IN trsfitemloop %]
|
|
<input type="hidden" name="bc-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.barcode | html %]" />
|
|
<input type="hidden" name="fb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.frombrcd | html %]" />
|
|
<input type="hidden" name="tb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.tobrcd | html %]" />
|
|
[% END %]
|
|
<input type="submit" value="Ignore" />
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
[% ELSE %]
|
|
[% IF ( reqmessage ) %]
|
|
<div class="dialog message">
|
|
<ul>
|
|
[% IF ( cancelled ) %]
|
|
<li>Reserve cancelled</li>
|
|
[% END %]
|
|
[% IF ( setwaiting ) %]
|
|
<li>Item should now be waiting at library: [% reqbrchname | html %]</li>
|
|
[% END %]
|
|
</ul>
|
|
</div>
|
|
[% END %]
|
|
|
|
[% IF ( errmsgloop ) %]
|
|
<div class="dialog message">
|
|
<ul>
|
|
[% FOREACH errmsgloo IN errmsgloop %]
|
|
[% IF ( errmsgloo.errbadcode ) %]
|
|
<li>No Item with barcode: [% errmsgloo.msg | html %]</li>
|
|
[% END %]
|
|
[% IF ( errmsgloo.errispermanent ) %]
|
|
<li>Please return item to home library: [% Branches.GetName( errmsgloo.msg ) | html %]</li>
|
|
[% END %]
|
|
[% IF ( errmsgloo.errnotallowed ) %]
|
|
<li>Transfer is not allowed for:
|
|
<ol>
|
|
[% IF ( Koha.Preference('BranchTransferLimitsType') == 'itemtype' ) %]
|
|
<li>Item type: <b>[% ItemTypes.GetDescription( errmsgloo.code ) | html %]</b></li>
|
|
[% ELSE %]
|
|
<li>Collection: <b>[% AuthorisedValues.GetByCode( 'CCODE', errmsgloo.code ) | html %]</b></li>
|
|
[% END %]
|
|
<li>Destination library: <b>[% Branches.GetName( errmsgloo.tbr ) | html %]</b></li>
|
|
</ol>
|
|
</li>
|
|
[% END %]
|
|
[% IF ( errmsgloo.errdesteqholding ) %]
|
|
<li>Item is already at destination library.</li>
|
|
[% END %]
|
|
[% IF ( errmsgloo.errwasreturned ) %]
|
|
<li>Item was on loan to <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% errmsgloo.patron.borrowernumber | uri %]">
|
|
[% errmsgloo.patron.firstname | html %] [% errmsgloo.patron.surname | html %]
|
|
([% errmsgloo.patron.cardnumber | html %])</a> and has been returned.</li>
|
|
[% END %]
|
|
[% END %]
|
|
</ul>
|
|
</div>
|
|
[% END %]
|
|
|
|
<div id="branchtransfers">
|
|
<form method="post" name="mainform" id="mainform" action="/cgi-bin/koha/circ/branchtransfers.pl">
|
|
<fieldset class="brief">
|
|
<legend>Transfer</legend>
|
|
<ol>
|
|
<li>
|
|
<label for="tobranchcd">Destination library: </label>
|
|
<select name="tobranchcd" id="tobranchcd">
|
|
[% PROCESS options_for_libraries libraries => Branches.all( selected => tobranchcd, unfiltered => 1) %]
|
|
</select>
|
|
</li>
|
|
<li>
|
|
<label for="barcode">Enter barcode: </label>
|
|
<input name="barcode" id="barcode" size="15" class="focus" type="text" /> <input type="submit" value="Submit" />
|
|
</li>
|
|
</ol>
|
|
</fieldset>
|
|
<input type="hidden" name="tobranchcd" value="[% tobrancd | html %]" />
|
|
[% FOREACH trsfitemloo IN trsfitemloop %]
|
|
<input type="hidden" name="bc-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.barcode | html %]" />
|
|
<input type="hidden" name="fb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.frombrcd | html %]" />
|
|
<input type="hidden" name="tb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.tobrcd | html %]" />
|
|
[% END %]
|
|
</form>
|
|
</div>
|
|
|
|
[% IF ( trsfitemloop ) %]
|
|
<table>
|
|
<caption>Transferred items</caption>
|
|
<tr>
|
|
<th class="tf-title">Title</th>
|
|
<th class="tf-author">Author</th>
|
|
<th class="tf-barcode">Barcode</th>
|
|
<th class="tf-location">Shelving location</th>
|
|
<th class="tf-itemcallnumber">Call number</th>
|
|
<th class="tf-itemtype">Item type</th>
|
|
<th class="tf-ccode">Collection</th>
|
|
<th class="tf-destination">Destination</th>
|
|
</tr>
|
|
[% FOREACH trsfitemloo IN trsfitemloop %]
|
|
<tr>
|
|
<td class="tf-title"><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% trsfitemloo.biblionumber | uri %]">[% trsfitemloo.title | html %]</a></td>
|
|
<td class="tf-author">[% trsfitemloo.author | html %]</td>
|
|
<td class="tf-barcode"><a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% trsfitemloo.biblionumber | uri %]&itemnumber=[% trsfitemloo.itemnumber | uri %]#item[% trsfitemloo.itemnumber | uri %]">[% trsfitemloo.barcode | html %]</a></td>
|
|
<td class="tf-location"><span class="shelvingloc">[% trsfitemloo.location | html %]</span></td>
|
|
<td class="tf-itemcallnumber">[% trsfitemloo.itemcallnumber | html %]</td>
|
|
<td class="tf-itemtype">[% ItemTypes.GetDescription( trsfitemloo.itemtype ) | html %]</td>
|
|
<td class="tf-ccode">[% AuthorisedValues.GetByCode( 'CCODE', trsfitemloo.ccode ) | html %]</td>
|
|
<td class="tf-destination">[% Branches.GetName( trsfitemloo.tobrcd ) | html %]</td>
|
|
</tr>
|
|
[% END %]
|
|
</table>
|
|
[% END %]
|
|
|
|
|
|
[% END %]
|
|
|
|
</main>
|
|
</div> <!-- /.col-sm-10.col-sm-push-2 -->
|
|
[% IF Koha.Preference('CircSidebar') %]
|
|
<div class="col-sm-2 col-sm-pull-10">
|
|
<aside>
|
|
[% INCLUDE 'circ-nav.inc' %]
|
|
</aside>
|
|
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
|
|
[% END %]
|
|
</div> <!-- /.row -->
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|