Bug 32319: Compiled CSS
[srvgit] / circ / set-library.pl
index 96b3b7a..9d2823d 100755 (executable)
@@ -21,10 +21,10 @@ use Modern::Perl;
 use CGI qw ( -utf8 );
 
 use C4::Context;
-use C4::Output;
-use C4::Auth qw/:DEFAULT get_session/;
-use C4::Koha;
+use C4::Output qw( output_html_with_http_headers );
+use C4::Auth qw( get_template_and_user get_session );
 use Koha::BiblioFrameworks;
+use Koha::Cash::Registers;
 use Koha::Libraries;
 use Koha::Desks;
 
@@ -34,26 +34,26 @@ my ( $template, $borrowernumber, $cookie, $flags ) = get_template_and_user({
     template_name   => "circ/set-library.tt",
     query           => $query,
     type            => "intranet",
-    debug           => 1,
     flagsrequired   => { catalogue => 1, },
 });
 
 my $sessionID = $query->cookie("CGISESSID");
 my $session = get_session($sessionID);
 
-my $branch   = $query->param('branch' );
-my $desk_id = $query->param('desk_id');
-my $userenv_branch  = C4::Context->userenv->{'branch'}        || '';
-my $userenv_desk = C4::Context->userenv->{'desk_id'} || '';
+my $branch              = $query->param('branch');
+my $desk_id             = $query->param('desk_id');
+my $register_id         = $query->param('register_id');
+my $userenv_branch      = C4::Context->userenv->{'branch'} || '';
+my $userenv_desk        = C4::Context->userenv->{'desk_id'} || '';
+my $userenv_register_id = C4::Context->userenv->{'register_id'} || '';
 my @updated;
 
-# $session lddines here are doing the updating
+# $session lines here are doing the updating
 if ( $branch and my $library = Koha::Libraries->find($branch) ) {
     if (! $userenv_branch or $userenv_branch ne $branch ) {
         my $branchname = $library->branchname;
         $session->param('branchname', $branchname);         # update sesssion in DB
         $session->param('branch', $branch);                 # update sesssion in DB
-        $session->flush();
         push @updated, {
             updated_branch => 1,
                 old_branch => $userenv_branch,
@@ -76,6 +76,20 @@ if ( $branch and my $library = Koha::Libraries->find($branch) ) {
             old_desk => $old_desk_name,
         };
     }
+    if ( defined($register_id)
+        && ( $userenv_register_id ne $register_id ) )
+    {
+        my $old_register_name = C4::Context->userenv->{'register_name'} || '';
+        my $register = Koha::Cash::Registers->find($register_id);
+        $session->param( 'register_id', $register_id );
+        $session->param( 'register_name', $register ? $register->name : '' );
+        push @updated,
+          {
+            updated_register => 1,
+            old_register     => $old_register_name
+          };
+    }
+    $session->flush();
 } else {
     $branch = $userenv_branch;  # fallback value
     $desk_id = $userenv_desk;
@@ -88,14 +102,15 @@ foreach ($query->param()) {
     $_ or next;                   # disclude blanks
     $_ eq "branch"     and next;  # disclude branch
     $_ eq "desk_id"    and next;  # disclude desk_id
+    $_ eq "register_id" and next;    # disclude register
     $_ eq "oldreferer" and next;  # disclude oldreferer
     push @recycle_loop, {
         param => $_,
         value => scalar $query->param($_),
-    };
+      };
 }
 
-my $referer =  $query->param('oldreferer') || $ENV{HTTP_REFERER};
+my $referer =  $query->param('oldreferer') || $ENV{HTTP_REFERER} || '';
 $referer =~ /set-library\.pl/ and undef $referer;   # avoid sending them back to this same page.
 
 if (scalar @updated and not scalar @recycle_loop) {