[Koha-patches] [PATCH] get_template_and_user needs to be called before get_session in same scope
Michael Hafen
mdhafen at tech.washk12.org
Wed May 12 20:17:17 CEST 2010
If get_session() is called in the same scope and before get_template_and_user()
then the changes to the session in C4::Auth, including the session timestamp,
will be overwritten when the earlier call leaves scope and is flushed.
This is to replace my 'cache the session' patch as a fix for the problem of
checkout stations having their session prematurely timed out.
---
circ/circulation.pl | 26 ++++++++++++++------------
1 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/circ/circulation.pl b/circ/circulation.pl
index 4b67920..93b7230 100755
--- a/circ/circulation.pl
+++ b/circ/circulation.pl
@@ -49,6 +49,16 @@ use Date::Calc qw(
#
my $query = new CGI;
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user (
+ {
+ template_name => 'circ/circulation.tmpl',
+ query => $query,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => { circulate => 'circulate_remaining_permissions' },
+ }
+);
+
my $sessionID = $query->cookie("CGISESSID") ;
my $session = get_session($sessionID);
@@ -68,24 +78,16 @@ if ($printer){
$session->param('branchprinter', $printer);
}
-if (!C4::Context->userenv && !$branch){
- if ($session->param('branch') eq 'NO_LIBRARY_SET'){
+if (!$branch){
+ my $issue_branch = ( C4::Context->userenv ) ?
+ C4::Context->userenv->{branch} : $session->param('branch');
+ if ($issue_branch eq 'NO_LIBRARY_SET'){
# no branch set we can't issue
print $query->redirect("/cgi-bin/koha/circ/selectbranchprinter.pl");
exit;
}
}
-my ( $template, $loggedinuser, $cookie ) = get_template_and_user (
- {
- template_name => 'circ/circulation.tmpl',
- query => $query,
- type => "intranet",
- authnotrequired => 0,
- flagsrequired => { circulate => 'circulate_remaining_permissions' },
- }
-);
-
my $branches = GetBranches();
my @failedrenews = $query->param('failedrenew'); # expected to be itemnumbers
--
1.7.0.4
More information about the Koha-patches
mailing list