Bug 11779: fix unexpected change in logged-in library when changing overdue notice...
authorKyle M Hall <kyle@bywatersolutions.com>
Tue, 18 Feb 2014 12:43:44 +0000 (07:43 -0500)
committerGalen Charlton <gmc@esilibrary.com>
Wed, 19 Feb 2014 16:07:10 +0000 (16:07 +0000)
Steps to reproduce:
1) Log into staff intranet
2) Set logged in branch
3) Browse to tools/overdue notice triggers
4) Select a branch from the pulldown that is not your logged in branch
5) use the "Check out" bar at the top of the page to search for a patron
to check out to
6) Once you have landed here, click the "check out" tab link again, or
   the Edit button ( any action really )
7) Note your logged in branch has now changed to the once selected
   when editing the notice/status triggers

This is due to the way the patron search passes the branchcode to be
used via the form. This form assumes the branchcode variable is
always the currently logged in branch, which may not and is not
always the case.

Test Plan:
1) Apply this patch
2) Repeat the steps to reproduce above
3) Note your logged in branch does not change

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Funny bug :) This patch fixes the described issue and should not
introduce regression.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Koha/Template/Plugin/Branches.pm
koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-box.inc

index 343158c..d1801be 100644 (file)
@@ -24,6 +24,7 @@ use base qw( Template::Plugin );
 use Encode qw{encode decode};
 
 use C4::Koha;
+use C4::Context;
 
 sub GetName {
     my ( $self, $branchcode ) = @_;
@@ -35,4 +36,10 @@ sub GetName {
     return $b ? encode( 'UTF-8', $b->{'branchname'} ) : q{};
 }
 
+sub GetLoggedInBranchcode {
+    my ($self) = @_;
+
+    return C4::Context->userenv->{'branch'} if C4::Context->userenv;
+}
+
 1;
index 388c467..8e3bf66 100644 (file)
@@ -1,3 +1,4 @@
+[% USE Branches %]
 [% IF ( CAN_user_circulate ) %][% IF ( CircAutocompl ) %]<script type="text/javascript">
 //<![CDATA[
 $(document).ready(function(){
@@ -25,8 +26,9 @@ $(document).ready(function(){
     <form action="/cgi-bin/koha/circ/circulation.pl" id="patronsearch" method="post">
     [% IF ( CircAutocompl ) %]
     <div class="autocomplete">
-                <input autocomplete="off" id="findborrower" name="findborrower" size="40" class="focus" type="text" /> <input id="autocsubmit" type="submit" class="submit" value="Submit" />
-                <input name="branch" value="[% branch %]" type="hidden" />
+                <input autocomplete="off" id="findborrower" name="findborrower" size="40" class="focus" type="text" />
+                <input id="autocsubmit" type="submit" class="submit" value="Submit" />
+                <input name="branch" value="[% Branches.GetLoggedInBranchcode() %]" type="hidden" />
                 <input name="printer" value="" type="hidden" />
             [% IF ( stickyduedate ) %]
                 <input type="hidden" name="duedatespec" value="[% duedatespec %]" />