View | Details | Raw Unified | Return to bug 10900
Collapse All | Expand All

(-)a/C4/Auth.pm (-11 / +11 lines)
Lines 690-696 sub checkauth { Link Here
690
        my $s_userid = '';
690
        my $s_userid = '';
691
        if ($session){
691
        if ($session){
692
            $s_userid = $session->param('id') // '';
692
            $s_userid = $session->param('id') // '';
693
            C4::Context::set_userenv(
693
            C4::Context->set_userenv(
694
                $session->param('number'),       $s_userid,
694
                $session->param('number'),       $s_userid,
695
                $session->param('cardnumber'),   $session->param('firstname'),
695
                $session->param('cardnumber'),   $session->param('firstname'),
696
                $session->param('surname'),      $session->param('branch'),
696
                $session->param('surname'),      $session->param('branch'),
Lines 981-987 sub checkauth { Link Here
981
                if ($persona){
981
                if ($persona){
982
                    $session->param('persona',1);
982
                    $session->param('persona',1);
983
                }
983
                }
984
                C4::Context::set_userenv(
984
                C4::Context->set_userenv(
985
                    $session->param('number'),       $session->param('id'),
985
                    $session->param('number'),       $session->param('id'),
986
                    $session->param('cardnumber'),   $session->param('firstname'),
986
                    $session->param('cardnumber'),   $session->param('firstname'),
987
                    $session->param('surname'),      $session->param('branch'),
987
                    $session->param('surname'),      $session->param('branch'),
Lines 1213-1219 sub check_api_auth { Link Here
1213
        my $session = get_session($sessionID);
1213
        my $session = get_session($sessionID);
1214
        C4::Context->_new_userenv($sessionID);
1214
        C4::Context->_new_userenv($sessionID);
1215
        if ($session) {
1215
        if ($session) {
1216
            C4::Context::set_userenv(
1216
            C4::Context->set_userenv(
1217
                $session->param('number'),       $session->param('id'),
1217
                $session->param('number'),       $session->param('id'),
1218
                $session->param('cardnumber'),   $session->param('firstname'),
1218
                $session->param('cardnumber'),   $session->param('firstname'),
1219
                $session->param('surname'),      $session->param('branch'),
1219
                $session->param('surname'),      $session->param('branch'),
Lines 1376-1382 sub check_api_auth { Link Here
1376
                $session->param('ip',$session->remote_addr());
1376
                $session->param('ip',$session->remote_addr());
1377
                $session->param('lasttime',time());
1377
                $session->param('lasttime',time());
1378
            }
1378
            }
1379
            C4::Context::set_userenv(
1379
            C4::Context->set_userenv(
1380
                $session->param('number'),       $session->param('id'),
1380
                $session->param('number'),       $session->param('id'),
1381
                $session->param('cardnumber'),   $session->param('firstname'),
1381
                $session->param('cardnumber'),   $session->param('firstname'),
1382
                $session->param('surname'),      $session->param('branch'),
1382
                $session->param('surname'),      $session->param('branch'),
Lines 1455-1461 sub check_cookie_auth { Link Here
1455
    my $session = get_session($sessionID);
1455
    my $session = get_session($sessionID);
1456
    C4::Context->_new_userenv($sessionID);
1456
    C4::Context->_new_userenv($sessionID);
1457
    if ($session) {
1457
    if ($session) {
1458
        C4::Context::set_userenv(
1458
        C4::Context->set_userenv(
1459
            $session->param('number'),       $session->param('id'),
1459
            $session->param('number'),       $session->param('id'),
1460
            $session->param('cardnumber'),   $session->param('firstname'),
1460
            $session->param('cardnumber'),   $session->param('firstname'),
1461
            $session->param('surname'),      $session->param('branch'),
1461
            $session->param('surname'),      $session->param('branch'),
Lines 1576-1610 sub checkpw_internal { Link Here
1576
1576
1577
    my $sth =
1577
    my $sth =
1578
      $dbh->prepare(
1578
      $dbh->prepare(
1579
"select password,cardnumber,borrowernumber,userid,firstname,surname,branchcode,flags from borrowers where userid=?"
1579
"select password,cardnumber,borrowernumber,userid,firstname,surname,borrowers.branchcode,branches.branchname,flags from borrowers join branches on borrowers.branchcode=branches.branchcode where userid=?"
1580
      );
1580
      );
1581
    $sth->execute($userid);
1581
    $sth->execute($userid);
1582
    if ( $sth->rows ) {
1582
    if ( $sth->rows ) {
1583
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1583
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1584
            $surname, $branchcode, $flags )
1584
            $surname, $branchcode, $branchname, $flags )
1585
          = $sth->fetchrow;
1585
          = $sth->fetchrow;
1586
1586
1587
        if ( checkpw_hash($password, $stored_hash) ) {
1587
        if ( checkpw_hash($password, $stored_hash) ) {
1588
1588
1589
            C4::Context->set_userenv( "$borrowernumber", $userid, $cardnumber,
1589
            C4::Context->set_userenv( "$borrowernumber", $userid, $cardnumber,
1590
                $firstname, $surname, $branchcode, $flags );
1590
                $firstname, $surname, $branchcode, $branchname, $flags );
1591
            return 1, $cardnumber, $userid;
1591
            return 1, $cardnumber, $userid;
1592
        }
1592
        }
1593
    }
1593
    }
1594
    $sth =
1594
    $sth =
1595
      $dbh->prepare(
1595
      $dbh->prepare(
1596
"select password,cardnumber,borrowernumber,userid, firstname,surname,branchcode,flags from borrowers where cardnumber=?"
1596
"select password,cardnumber,borrowernumber,userid,firstname,surname,borrowers.branchcode,branches.branchname,flags from borrowers join branches on borrowers.branchcode=branches.branchcode where cardnumber=?"
1597
      );
1597
      );
1598
    $sth->execute($userid);
1598
    $sth->execute($userid);
1599
    if ( $sth->rows ) {
1599
    if ( $sth->rows ) {
1600
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1600
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1601
            $surname, $branchcode, $flags )
1601
            $surname, $branchcode, $branchname, $flags )
1602
          = $sth->fetchrow;
1602
          = $sth->fetchrow;
1603
1603
1604
        if ( checkpw_hash($password, $stored_hash) ) {
1604
        if ( checkpw_hash($password, $stored_hash) ) {
1605
1605
1606
            C4::Context->set_userenv( $borrowernumber, $userid, $cardnumber,
1606
            C4::Context->set_userenv( $borrowernumber, $userid, $cardnumber,
1607
                $firstname, $surname, $branchcode, $flags );
1607
                $firstname, $surname, $branchcode, $branchname, $flags );
1608
            return 1, $cardnumber, $userid;
1608
            return 1, $cardnumber, $userid;
1609
        }
1609
        }
1610
    }
1610
    }
(-)a/C4/Context.pm (-3 / +5 lines)
Lines 1102-1110 sub userenv { Link Here
1102
1102
1103
=head2 set_userenv
1103
=head2 set_userenv
1104
1104
1105
  C4::Context->set_userenv($usernum, $userid, $usercnum, $userfirstname, 
1105
  C4::Context->set_userenv($usernum, $userid, $usercnum,
1106
                  $usersurname, $userbranch, $userflags, $emailaddress, $branchprinter,
1106
                           $userfirstname, $usersurname,
1107
                  $persona);
1107
                           $userbranch, $branchname, $userflags,
1108
                           $emailaddress, $branchprinter, $persona);
1108
1109
1109
Establish a hash of user environment variables.
1110
Establish a hash of user environment variables.
1110
1111
Lines 1114-1119 set_userenv is called in Auth.pm Link Here
1114
1115
1115
#'
1116
#'
1116
sub set_userenv {
1117
sub set_userenv {
1118
    shift @_;
1117
    my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter, $persona)= @_;
1119
    my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter, $persona)= @_;
1118
    my $var=$context->{"activeuser"} || '';
1120
    my $var=$context->{"activeuser"} || '';
1119
    my $cell = {
1121
    my $cell = {
(-)a/C4/InstallAuth.pm (-3 / +3 lines)
Lines 246-252 sub checkauth { Link Here
246
          new CGI::Session( "driver:File;serializer:yaml", $sessionID,
246
          new CGI::Session( "driver:File;serializer:yaml", $sessionID,
247
            { Directory => '/tmp' } );
247
            { Directory => '/tmp' } );
248
        if ( $session->param('cardnumber') ) {
248
        if ( $session->param('cardnumber') ) {
249
            C4::Context::set_userenv(
249
            C4::Context->set_userenv(
250
                $session->param('number'),
250
                $session->param('number'),
251
                $session->param('id'),
251
                $session->param('id'),
252
                $session->param('cardnumber'),
252
                $session->param('cardnumber'),
Lines 308-314 sub checkauth { Link Here
308
           #Only superlibrarian should have access to this page.
308
           #Only superlibrarian should have access to this page.
309
           #Since if it is a user, it is supposed that there is a borrower table
309
           #Since if it is a user, it is supposed that there is a borrower table
310
           #And thus that data structure is loaded.
310
           #And thus that data structure is loaded.
311
                my $hash = C4::Context::set_userenv(
311
                my $hash = C4::Context->set_userenv(
312
                    0,                           0,
312
                    0,                           0,
313
                    C4::Context->config('user'), C4::Context->config('user'),
313
                    C4::Context->config('user'), C4::Context->config('user'),
314
                    C4::Context->config('user'), "",
314
                    C4::Context->config('user'), "",
Lines 412-418 sub checkpw { Link Here
412
            C4::Context->config('user'),
412
            C4::Context->config('user'),
413
            C4::Context->config('user'),
413
            C4::Context->config('user'),
414
            C4::Context->config('user'),
414
            C4::Context->config('user'),
415
            "", 1
415
            "", "NO_LIBRARY_SET", 1
416
        );
416
        );
417
        return 2;
417
        return 2;
418
    }
418
    }
(-)a/t/Circulation_barcodedecode.t (-1 / +1 lines)
Lines 6-12 use warnings; Link Here
6
6
7
use Test::More tests => 26;
7
use Test::More tests => 26;
8
C4::Context->_new_userenv(123456);
8
C4::Context->_new_userenv(123456);
9
C4::Context->set_userenv(1,'kmkale' , 1, 'kk1' , 'IMS', 0, 'kmkale@anantcorp.com');
9
C4::Context->set_userenv(1,'kmkale' , 1, 'km', 'kale' , 'IMS', 'IMS Branch DEscription', 0, 'kmkale@anantcorp.com');
10
10
11
BEGIN {
11
BEGIN {
12
    use_ok('C4::Circulation');
12
    use_ok('C4::Circulation');
(-)a/t/db_dependent/Circulation.t (-2 / +1 lines)
Lines 95-101 is( Link Here
95
95
96
# Now, set a userenv
96
# Now, set a userenv
97
C4::Context->_new_userenv('xxx');
97
C4::Context->_new_userenv('xxx');
98
C4::Context::set_userenv(0,0,0,'firstname','surname', 'MPL', 'Midway Public Library', '', '', '');
98
C4::Context->set_userenv(0,0,0,'firstname','surname', 'MPL', 'Midway Public Library', '', '', '');
99
is(C4::Context->userenv->{branch}, 'MPL', 'userenv set');
99
is(C4::Context->userenv->{branch}, 'MPL', 'userenv set');
100
100
101
# Userenv set, PickupLibrary
101
# Userenv set, PickupLibrary
102
- 

Return to bug 10900