@@ -, +, @@
---
Koha/Template/Plugin/Desks.pm | 6 ++++++
circ/set-library.pl | 22 +++++++++++++++++++++-
.../prog/en/includes/html_helpers.inc | 10 ++++++++++
.../prog/en/includes/intranet-bottom.inc | 1 +
.../intranet-tmpl/prog/en/includes/js_includes.inc | 4 ++++
koha-tmpl/intranet-tmpl/prog/en/modules/auth.tt | 16 ++++++++++++++++
.../prog/en/modules/circ/set-library.tt | 20 ++++++++++++++++++--
koha-tmpl/intranet-tmpl/prog/js/desk_selection.js | 17 +++++++++++++++++
8 files changed, 93 insertions(+), 3 deletions(-)
create mode 100644 koha-tmpl/intranet-tmpl/prog/js/desk_selection.js
--- a/Koha/Template/Plugin/Desks.pm
+++ a/Koha/Template/Plugin/Desks.pm
@@ -87,4 +87,10 @@ sub ListForLibrary {
);
}
+sub all {
+
+ my ( $self ) = @_;
+ return Koha::Desks->search( )->unblessed;
+}
+
1;
--- a/circ/set-library.pl
+++ a/circ/set-library.pl
@@ -26,6 +26,7 @@ use C4::Auth qw/:DEFAULT get_session/;
use C4::Koha;
use Koha::BiblioFrameworks;
use Koha::Libraries;
+use Koha::Desks;
my $query = CGI->new();
@@ -42,7 +43,9 @@ 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 @updated;
# $session lddines here are doing the updating
@@ -56,11 +59,27 @@ if ( $branch and my $library = Koha::Libraries->find($branch) ) {
$session->flush();
push @updated, {
updated_branch => 1,
- old_branch => $userenv_branch,
+ old_branch => $userenv_branch,
};
} # else branch the same, no update
+ if ( !$userenv_desk or $userenv_desk ne $desk_id ) {
+ my $desk = Koha::Desks->find( { desk_id => $desk_id } );
+ my $old_desk_name = '';
+ if ($userenv_desk) {
+ $old_desk_name = Koha::Desks->find( { desk_id => $userenv_desk })->desk_name;
+ }
+ $template->param( LoginDeskname => $desk->desk_name );
+ $template->param( LoginDeskid => $desk->desk_id );
+ $session->param( desk_name => $desk->desk_name );
+ $session->param( desk_id => $desk->desk_id );
+ push @updated, {
+ updated_desk => 1,
+ old_desk => $old_desk_name,
+ };
+ }
} else {
$branch = $userenv_branch; # fallback value
+ $desk_id = $userenv_desk;
}
$template->param(updated => \@updated) if (scalar @updated);
@@ -87,6 +106,7 @@ if (scalar @updated and not scalar @recycle_loop) {
$template->param(
referer => $referer,
branch => $branch,
+ desk_id => $desk_id,
recycle_loop=> \@recycle_loop,
);
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers.inc
+++ a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers.inc
@@ -8,6 +8,16 @@
[% END %]
[% END %]
+[% BLOCK options_for_desks %]
+ [% FOREACH d IN desks %]
+ [% IF d.branchcode == branch %]
+
+ [% ELSE %]
+
+ [% END%]
+ [% END %]
+ [% END %]
+
[% BLOCK options_for_authorised_value_categories %]
[% FOREACH avc IN authorised_value_categories %]
[% IF avc.selected %]
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/intranet-bottom.inc
+++ a/koha-tmpl/intranet-tmpl/prog/en/includes/intranet-bottom.inc
@@ -73,5 +73,6 @@
[% jsinclude | $raw # Parse the page template's JavaScript block if necessary %]
[% END %]
[% KohaPlugins.get_plugins_intranet_js | $raw %]
+