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

(-)a/C4/Auth.pm (-11 / +11 lines)
Lines 728-734 sub checkauth { Link Here
728
        my $s_userid = '';
728
        my $s_userid = '';
729
        if ($session){
729
        if ($session){
730
            $s_userid = $session->param('id') // '';
730
            $s_userid = $session->param('id') // '';
731
            C4::Context::set_userenv(
731
            C4::Context->set_userenv(
732
                $session->param('number'),       $s_userid,
732
                $session->param('number'),       $s_userid,
733
                $session->param('cardnumber'),   $session->param('firstname'),
733
                $session->param('cardnumber'),   $session->param('firstname'),
734
                $session->param('surname'),      $session->param('branch'),
734
                $session->param('surname'),      $session->param('branch'),
Lines 1042-1048 sub checkauth { Link Here
1042
                if ($persona){
1042
                if ($persona){
1043
                    $session->param('persona',1);
1043
                    $session->param('persona',1);
1044
                }
1044
                }
1045
                C4::Context::set_userenv(
1045
                C4::Context->set_userenv(
1046
                    $session->param('number'),       $session->param('id'),
1046
                    $session->param('number'),       $session->param('id'),
1047
                    $session->param('cardnumber'),   $session->param('firstname'),
1047
                    $session->param('cardnumber'),   $session->param('firstname'),
1048
                    $session->param('surname'),      $session->param('branch'),
1048
                    $session->param('surname'),      $session->param('branch'),
Lines 1282-1288 sub check_api_auth { Link Here
1282
        my $session = get_session($sessionID);
1282
        my $session = get_session($sessionID);
1283
        C4::Context->_new_userenv($sessionID);
1283
        C4::Context->_new_userenv($sessionID);
1284
        if ($session) {
1284
        if ($session) {
1285
            C4::Context::set_userenv(
1285
            C4::Context->set_userenv(
1286
                $session->param('number'),       $session->param('id'),
1286
                $session->param('number'),       $session->param('id'),
1287
                $session->param('cardnumber'),   $session->param('firstname'),
1287
                $session->param('cardnumber'),   $session->param('firstname'),
1288
                $session->param('surname'),      $session->param('branch'),
1288
                $session->param('surname'),      $session->param('branch'),
Lines 1445-1451 sub check_api_auth { Link Here
1445
                $session->param('ip',$session->remote_addr());
1445
                $session->param('ip',$session->remote_addr());
1446
                $session->param('lasttime',time());
1446
                $session->param('lasttime',time());
1447
            }
1447
            }
1448
            C4::Context::set_userenv(
1448
            C4::Context->set_userenv(
1449
                $session->param('number'),       $session->param('id'),
1449
                $session->param('number'),       $session->param('id'),
1450
                $session->param('cardnumber'),   $session->param('firstname'),
1450
                $session->param('cardnumber'),   $session->param('firstname'),
1451
                $session->param('surname'),      $session->param('branch'),
1451
                $session->param('surname'),      $session->param('branch'),
Lines 1524-1530 sub check_cookie_auth { Link Here
1524
    my $session = get_session($sessionID);
1524
    my $session = get_session($sessionID);
1525
    C4::Context->_new_userenv($sessionID);
1525
    C4::Context->_new_userenv($sessionID);
1526
    if ($session) {
1526
    if ($session) {
1527
        C4::Context::set_userenv(
1527
        C4::Context->set_userenv(
1528
            $session->param('number'),       $session->param('id'),
1528
            $session->param('number'),       $session->param('id'),
1529
            $session->param('cardnumber'),   $session->param('firstname'),
1529
            $session->param('cardnumber'),   $session->param('firstname'),
1530
            $session->param('surname'),      $session->param('branch'),
1530
            $session->param('surname'),      $session->param('branch'),
Lines 1663-1697 sub checkpw_internal { Link Here
1663
1663
1664
    my $sth =
1664
    my $sth =
1665
      $dbh->prepare(
1665
      $dbh->prepare(
1666
"select password,cardnumber,borrowernumber,userid,firstname,surname,branchcode,flags from borrowers where userid=?"
1666
"select password,cardnumber,borrowernumber,userid,firstname,surname,borrowers.branchcode,branches.branchname,flags from borrowers join branches on borrowers.branchcode=branches.branchcode where userid=?"
1667
      );
1667
      );
1668
    $sth->execute($userid);
1668
    $sth->execute($userid);
1669
    if ( $sth->rows ) {
1669
    if ( $sth->rows ) {
1670
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1670
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1671
            $surname, $branchcode, $flags )
1671
            $surname, $branchcode, $branchname, $flags )
1672
          = $sth->fetchrow;
1672
          = $sth->fetchrow;
1673
1673
1674
        if ( checkpw_hash($password, $stored_hash) ) {
1674
        if ( checkpw_hash($password, $stored_hash) ) {
1675
1675
1676
            C4::Context->set_userenv( "$borrowernumber", $userid, $cardnumber,
1676
            C4::Context->set_userenv( "$borrowernumber", $userid, $cardnumber,
1677
                $firstname, $surname, $branchcode, $flags );
1677
                $firstname, $surname, $branchcode, $branchname, $flags );
1678
            return 1, $cardnumber, $userid;
1678
            return 1, $cardnumber, $userid;
1679
        }
1679
        }
1680
    }
1680
    }
1681
    $sth =
1681
    $sth =
1682
      $dbh->prepare(
1682
      $dbh->prepare(
1683
"select password,cardnumber,borrowernumber,userid, firstname,surname,branchcode,flags from borrowers where cardnumber=?"
1683
"select password,cardnumber,borrowernumber,userid,firstname,surname,borrowers.branchcode,branches.branchname,flags from borrowers join branches on borrowers.branchcode=branches.branchcode where cardnumber=?"
1684
      );
1684
      );
1685
    $sth->execute($userid);
1685
    $sth->execute($userid);
1686
    if ( $sth->rows ) {
1686
    if ( $sth->rows ) {
1687
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1687
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1688
            $surname, $branchcode, $flags )
1688
            $surname, $branchcode, $branchname, $flags )
1689
          = $sth->fetchrow;
1689
          = $sth->fetchrow;
1690
1690
1691
        if ( checkpw_hash($password, $stored_hash) ) {
1691
        if ( checkpw_hash($password, $stored_hash) ) {
1692
1692
1693
            C4::Context->set_userenv( $borrowernumber, $userid, $cardnumber,
1693
            C4::Context->set_userenv( $borrowernumber, $userid, $cardnumber,
1694
                $firstname, $surname, $branchcode, $flags );
1694
                $firstname, $surname, $branchcode, $branchname, $flags );
1695
            return 1, $cardnumber, $userid;
1695
            return 1, $cardnumber, $userid;
1696
        }
1696
        }
1697
    }
1697
    }
(-)a/C4/Context.pm (-3 / +5 lines)
Lines 1085-1093 sub userenv { Link Here
1085
1085
1086
=head2 set_userenv
1086
=head2 set_userenv
1087
1087
1088
  C4::Context->set_userenv($usernum, $userid, $usercnum, $userfirstname, 
1088
  C4::Context->set_userenv($usernum, $userid, $usercnum,
1089
                  $usersurname, $userbranch, $userflags, $emailaddress, $branchprinter,
1089
                           $userfirstname, $usersurname,
1090
                  $persona);
1090
                           $userbranch, $branchname, $userflags,
1091
                           $emailaddress, $branchprinter, $persona);
1091
1092
1092
Establish a hash of user environment variables.
1093
Establish a hash of user environment variables.
1093
1094
Lines 1097-1102 set_userenv is called in Auth.pm Link Here
1097
1098
1098
#'
1099
#'
1099
sub set_userenv {
1100
sub set_userenv {
1101
    shift @_;
1100
    my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter, $persona, $shibboleth)= @_;
1102
    my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter, $persona, $shibboleth)= @_;
1101
    my $var=$context->{"activeuser"} || '';
1103
    my $var=$context->{"activeuser"} || '';
1102
    my $cell = {
1104
    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 21-27 use Test::More tests => 26; Link Here
21
use t::lib::Mocks;
21
use t::lib::Mocks;
22
22
23
C4::Context->_new_userenv(123456);
23
C4::Context->_new_userenv(123456);
24
C4::Context->set_userenv(1,'kmkale' , 1, 'kk1' , 'IMS', 0, 'kmkale@anantcorp.com');
24
C4::Context->set_userenv(1,'kmkale' , 1, 'km', 'kale' , 'IMS', 'IMS Branch DEscription', 0, 'kmkale@anantcorp.com');
25
25
26
BEGIN {
26
BEGIN {
27
    # Mock the DB connexion and C4::Context
27
    # Mock the DB connexion and C4::Context
(-)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