Bug 36092: Pass sessionID at the end of get_template_and_user

It seems safer to pass the logged in user and session info at the end of
the sub.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 199b47e51220a22110436a2357481dc89d498537)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Jonathan Druart 2024-02-14 09:45:45 +01:00 committed by Fridolin Somers
parent 1f815b7b1e
commit 8b9fcdae28

View file

@ -292,12 +292,12 @@ sub get_template_and_user {
}
my $borrowernumber;
my $patron;
if ($user) {
# It's possible for $user to be the borrowernumber if they don't have a
# userid defined (and are logging in through some other method, such
# as SSL certs against an email address)
my $patron;
$borrowernumber = getborrowernumber($user) if defined($user);
if ( !defined($borrowernumber) && defined($user) ) {
$patron = Koha::Patrons->find( $user );
@ -313,12 +313,6 @@ sub get_template_and_user {
# FIXME What to do if $patron does not exist?
}
# user info
$template->param( loggedinusername => $user ); # OBSOLETE - Do not reuse this in template, use logged_in_user.userid instead
$template->param( loggedinusernumber => $borrowernumber ); # FIXME Should be replaced with logged_in_user.borrowernumber
$template->param( logged_in_user => $patron );
$template->param( sessionID => $sessionID );
if ( $in->{'type'} eq 'opac' ) {
require Koha::Virtualshelves;
my $some_private_shelves = Koha::Virtualshelves->get_some_shelves(
@ -407,8 +401,6 @@ sub get_template_and_user {
}
}
$template->param( sessionID => $sessionID );
if ( $in->{'type'} eq 'opac' ){
require Koha::Virtualshelves;
my $some_public_shelves = Koha::Virtualshelves->get_some_shelves(
@ -632,6 +624,12 @@ sub get_template_and_user {
$cookie = $cookie_mgr->replace_in_list( $cookie, $languagecookie );
}
# user info
$template->param( loggedinusername => $user ); # OBSOLETE - Do not reuse this in template, use logged_in_user.userid instead
$template->param( loggedinusernumber => $borrowernumber ); # FIXME Should be replaced with logged_in_user.borrowernumber
$template->param( logged_in_user => $patron );
$template->param( sessionID => $sessionID );
return ( $template, $borrowernumber, $cookie, $flags );
}