Bug 6335 Set branch in sip session

The server returns its branch as the institution in the config file
However in transactions it will default to the homebranch of the
sip user which may not be consistent with that. Needs to set branch
in the session if there is a value in config otherwise statistics and
behaviour can be wrong (esp in discharge)

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This commit is contained in:
Colin Campbell 2011-06-02 12:26:09 +01:00 committed by Chris Cormack
parent fc44674501
commit 3f5534d7cc
1 changed files with 12 additions and 12 deletions

View File

@ -817,7 +817,7 @@ sub login_core ($$$) {
$server->{sip_username} = $uid;
$server->{sip_password} = $pwd;
my $auth_status = api_auth($uid,$pwd);
my $auth_status = api_auth($uid,$pwd,$inst);
if (!$auth_status or $auth_status !~ /^ok$/i) {
syslog("LOG_WARNING", "api_auth failed for SIP terminal '%s' of '%s': %s",
$uid, $inst, ($auth_status||'unknown'));
@ -1585,17 +1585,17 @@ sub patron_status_string {
return $patron_status;
}
sub api_auth($$) {
# AUTH
my ($username,$password) = (shift,shift);
$ENV{REMOTE_USER} = $username;
my $query = CGI->new();
$query->param(userid => $username);
$query->param(password => $password);
my ($status, $cookie, $sessionID) = check_api_auth($query, {circulate=>1}, "intranet");
# print STDERR "check_api_auth returns " . ($status || 'undef') . "\n";
# print "api_auth userenv = " . &dump_userenv;
return $status;
sub api_auth {
my ($username,$password, $branch) = @_;
$ENV{REMOTE_USER} = $username;
my $query = CGI->new();
$query->param(userid => $username);
$query->param(password => $password);
if ($branch) {
$query->param(branch => $branch);
}
my ($status, $cookie, $sessionID) = check_api_auth($query, {circulate=>1}, 'intranet');
return $status;
}
1;