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

(-)a/C4/Circulation.pm (-8 / +8 lines)
Lines 564-570 C<$issuingimpossible> and C<$needsconfirmation> are some hashref. Link Here
564
564
565
=over 4
565
=over 4
566
566
567
=item C<$borrower> hash with borrower informations (from GetMember or GetMemberDetails)
567
=item C<$borrower> hash with borrower informations (from GetMember)
568
568
569
=item C<$barcode> is the bar code of the book being issued.
569
=item C<$barcode> is the bar code of the book being issued.
570
570
Lines 1224-1230 Issue a book. Does no check, they are done in CanBookBeIssued. If we reach this Link Here
1224
1224
1225
=over 4
1225
=over 4
1226
1226
1227
=item C<$borrower> is a hash with borrower informations (from GetMember or GetMemberDetails).
1227
=item C<$borrower> is a hash with borrower informations (from GetMember).
1228
1228
1229
=item C<$barcode> is the barcode of the item being issued.
1229
=item C<$barcode> is the barcode of the item being issued.
1230
1230
Lines 1865-1871 sub AddReturn { Link Here
1865
1865
1866
    my $issue  = GetItemIssue($itemnumber);
1866
    my $issue  = GetItemIssue($itemnumber);
1867
    if ($issue and $issue->{borrowernumber}) {
1867
    if ($issue and $issue->{borrowernumber}) {
1868
        $borrower = C4::Members::GetMemberDetails($issue->{borrowernumber})
1868
        $borrower = C4::Members::GetMember( borrowernumber => $issue->{borrowernumber} )
1869
            or die "Data inconsistency: barcode $barcode (itemnumber:$itemnumber) claims to be issued to non-existent borrowernumber '$issue->{borrowernumber}'\n"
1869
            or die "Data inconsistency: barcode $barcode (itemnumber:$itemnumber) claims to be issued to non-existent borrowernumber '$issue->{borrowernumber}'\n"
1870
                . Dumper($issue) . "\n";
1870
                . Dumper($issue) . "\n";
1871
    } else {
1871
    } else {
Lines 2814-2820 sub CanBookBeRenewed { Link Here
2814
            # by pushing all the elements onto an array and removing the duplicates.
2814
            # by pushing all the elements onto an array and removing the duplicates.
2815
            my @reservable;
2815
            my @reservable;
2816
            foreach my $b (@borrowernumbers) {
2816
            foreach my $b (@borrowernumbers) {
2817
                my ($borr) = C4::Members::GetMemberDetails($b);
2817
                my ($borr) = C4::Members::GetMember( borrowernumber => $b);
2818
                foreach my $i (@itemnumbers) {
2818
                foreach my $i (@itemnumbers) {
2819
                    my $item = GetItem($i);
2819
                    my $item = GetItem($i);
2820
                    if (   IsAvailableForItemLevelRequest( $item, $borr )
2820
                    if (   IsAvailableForItemLevelRequest( $item, $borr )
Lines 3013-3019 sub AddRenewal { Link Here
3013
3013
3014
    # Send a renewal slip according to checkout alert preferencei
3014
    # Send a renewal slip according to checkout alert preferencei
3015
    if ( C4::Context->preference('RenewalSendNotice') eq '1' ) {
3015
    if ( C4::Context->preference('RenewalSendNotice') eq '1' ) {
3016
        $borrower = C4::Members::GetMemberDetails( $borrowernumber, 0 );
3016
        $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber );
3017
        my $circulation_alert = 'C4::ItemCirculationAlertPreference';
3017
        my $circulation_alert = 'C4::ItemCirculationAlertPreference';
3018
        my %conditions        = (
3018
        my %conditions        = (
3019
            branchcode   => $branch,
3019
            branchcode   => $branch,
Lines 3117-3123 sub GetSoonestRenewDate { Link Here
3117
    my $itemissue = GetItemIssue($itemnumber) or return;
3117
    my $itemissue = GetItemIssue($itemnumber) or return;
3118
3118
3119
    $borrowernumber ||= $itemissue->{borrowernumber};
3119
    $borrowernumber ||= $itemissue->{borrowernumber};
3120
    my $borrower = C4::Members::GetMemberDetails($borrowernumber)
3120
    my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber )
3121
      or return;
3121
      or return;
3122
3122
3123
    my $branchcode = _GetCircControlBranch( $item, $borrower );
3123
    my $branchcode = _GetCircControlBranch( $item, $borrower );
Lines 3773-3779 sub LostItem{ Link Here
3773
3773
3774
    # If a borrower lost the item, add a replacement cost to the their record
3774
    # If a borrower lost the item, add a replacement cost to the their record
3775
    if ( my $borrowernumber = $issues->{borrowernumber} ){
3775
    if ( my $borrowernumber = $issues->{borrowernumber} ){
3776
        my $borrower = C4::Members::GetMemberDetails( $borrowernumber );
3776
        my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber );
3777
3777
3778
        if (C4::Context->preference('WhenLostForgiveFine')){
3778
        if (C4::Context->preference('WhenLostForgiveFine')){
3779
            my $fix = _FixOverduesOnReturn($borrowernumber, $itemnumber, 1, 0); # 1, 0 = exemptfine, no-dropbox
3779
            my $fix = _FixOverduesOnReturn($borrowernumber, $itemnumber, 1, 0); # 1, 0 = exemptfine, no-dropbox
Lines 3869-3875 sub ProcessOfflineReturn { Link Here
3869
sub ProcessOfflineIssue {
3869
sub ProcessOfflineIssue {
3870
    my $operation = shift;
3870
    my $operation = shift;
3871
3871
3872
    my $borrower = C4::Members::GetMemberDetails( undef, $operation->{cardnumber} ); # Get borrower from operation cardnumber
3872
    my $borrower = C4::Members::GetMember( cardnumber => $operation->{cardnumber} );
3873
3873
3874
    if ( $borrower->{borrowernumber} ) {
3874
    if ( $borrower->{borrowernumber} ) {
3875
        my $itemnumber = C4::Items::GetItemnumberFromBarcode( $operation->{barcode} );
3875
        my $itemnumber = C4::Items::GetItemnumberFromBarcode( $operation->{barcode} );
(-)a/C4/ILSDI/Services.pm (-6 / +6 lines)
Lines 456-462 sub GetPatronStatus { Link Here
456
456
457
    # Get Member details
457
    # Get Member details
458
    my $borrowernumber = $cgi->param('patron_id');
458
    my $borrowernumber = $cgi->param('patron_id');
459
    my $borrower = GetMemberDetails( $borrowernumber );
459
    my $borrower = GetMember( borrowernumber => $borrowernumber );
460
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
460
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
461
461
462
    # Return the results
462
    # Return the results
Lines 485-491 sub GetServices { Link Here
485
485
486
    # Get the member, or return an error code if not found
486
    # Get the member, or return an error code if not found
487
    my $borrowernumber = $cgi->param('patron_id');
487
    my $borrowernumber = $cgi->param('patron_id');
488
    my $borrower = GetMemberDetails( $borrowernumber );
488
    my $borrower = GetMember( borrowernumber => $borrowernumber );
489
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
489
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
490
490
491
    # Get the item, or return an error code if not found
491
    # Get the item, or return an error code if not found
Lines 557-563 sub RenewLoan { Link Here
557
557
558
    # Get borrower infos or return an error code
558
    # Get borrower infos or return an error code
559
    my $borrowernumber = $cgi->param('patron_id');
559
    my $borrowernumber = $cgi->param('patron_id');
560
    my $borrower = GetMemberDetails( $borrowernumber );
560
    my $borrower = GetMember( borrowernumber => $borrowernumber );
561
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
561
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
562
562
563
    # Get the item, or return an error code
563
    # Get the item, or return an error code
Lines 607-613 sub HoldTitle { Link Here
607
607
608
    # Get the borrower or return an error code
608
    # Get the borrower or return an error code
609
    my $borrowernumber = $cgi->param('patron_id');
609
    my $borrowernumber = $cgi->param('patron_id');
610
    my $borrower = GetMemberDetails( $borrowernumber );
610
    my $borrower = GetMember( borrowernumber => $borrowernumber );
611
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
611
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
612
612
613
    # Get the biblio record, or return an error code
613
    # Get the biblio record, or return an error code
Lines 675-681 sub HoldItem { Link Here
675
675
676
    # Get the borrower or return an error code
676
    # Get the borrower or return an error code
677
    my $borrowernumber = $cgi->param('patron_id');
677
    my $borrowernumber = $cgi->param('patron_id');
678
    my $borrower = GetMemberDetails( $borrowernumber );
678
    my $borrower = GetMember( borrowernumber => $borrowernumber );
679
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
679
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
680
680
681
    # Get the biblio or return an error code
681
    # Get the biblio or return an error code
Lines 742-748 sub CancelHold { Link Here
742
742
743
    # Get the borrower or return an error code
743
    # Get the borrower or return an error code
744
    my $borrowernumber = $cgi->param('patron_id');
744
    my $borrowernumber = $cgi->param('patron_id');
745
    my $borrower = GetMemberDetails( $borrowernumber );
745
    my $borrower = GetMember( borrowernumber => $borrowernumber );
746
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
746
    return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
747
747
748
    # Get the reserve or return an error code
748
    # Get the reserve or return an error code
(-)a/C4/Members.pm (-51 lines)
Lines 59-65 BEGIN { Link Here
59
    @ISA = qw(Exporter);
59
    @ISA = qw(Exporter);
60
    #Get data
60
    #Get data
61
    push @EXPORT, qw(
61
    push @EXPORT, qw(
62
        &GetMemberDetails
63
        &GetMember
62
        &GetMember
64
63
65
        &GetMemberIssuesAndFines
64
        &GetMemberIssuesAndFines
Lines 125-180 This module contains routines for adding, modifying and deleting members/patrons Link Here
125
124
126
=head1 FUNCTIONS
125
=head1 FUNCTIONS
127
126
128
=head2 GetMemberDetails
129
130
($borrower) = &GetMemberDetails($borrowernumber, $cardnumber);
131
132
Looks up a patron and returns information about him or her. If
133
C<$borrowernumber> is true (nonzero), C<&GetMemberDetails> looks
134
up the borrower by number; otherwise, it looks up the borrower by card
135
number.
136
137
C<$borrower> is a reference-to-hash whose keys are the fields of the
138
borrowers table in the Koha database. In addition,
139
140
=cut
141
142
sub GetMemberDetails {
143
    my ( $borrowernumber, $cardnumber ) = @_;
144
    my $dbh = C4::Context->dbh;
145
    my $query;
146
    my $sth;
147
    if ($borrowernumber) {
148
        $sth = $dbh->prepare("
149
            SELECT borrowers.*,
150
                   category_type,
151
                   categories.description,
152
            FROM borrowers
153
            LEFT JOIN categories ON borrowers.categorycode=categories.categorycode
154
            WHERE borrowernumber = ?
155
        ");
156
        $sth->execute($borrowernumber);
157
    }
158
    elsif ($cardnumber) {
159
        $sth = $dbh->prepare("
160
            SELECT borrowers.*,
161
                   category_type,
162
                   categories.description,
163
            FROM borrowers
164
            LEFT JOIN categories ON borrowers.categorycode = categories.categorycode
165
            WHERE cardnumber = ?
166
        ");
167
        $sth->execute($cardnumber);
168
    }
169
    else {
170
        return;
171
    }
172
    my $borrower = $sth->fetchrow_hashref;
173
    return unless $borrower;
174
175
    return ($borrower);
176
}
177
178
=head2 patronflags
127
=head2 patronflags
179
128
180
 $flags = &patronflags($patron);
129
 $flags = &patronflags($patron);
(-)a/C4/SIP/ILS/Patron.pm (-2 / +2 lines)
Lines 37-44 sub new { Link Here
37
        syslog("LOG_DEBUG", "new ILS::Patron(%s): no such patron", $patron_id);
37
        syslog("LOG_DEBUG", "new ILS::Patron(%s): no such patron", $patron_id);
38
        return;
38
        return;
39
    }
39
    }
40
    $kp = GetMemberDetails($kp->{borrowernumber});
40
    $kp = GetMember( borrowernumber => $kp->{borrowernumber});
41
    $debug and warn "new Patron (GetMemberDetails): " . Dumper($kp);
41
    $debug and warn "new Patron (GetMember): " . Dumper($kp);
42
    my $pw        = $kp->{password};
42
    my $pw        = $kp->{password};
43
    my $flags     = C4::Members::patronflags( $kp->{borrowernumber} );
43
    my $flags     = C4::Members::patronflags( $kp->{borrowernumber} );
44
    my $debarred  = defined($flags->{DBARRED});
44
    my $debarred  = defined($flags->{DBARRED});
(-)a/circ/circulation.pl (-2 / +2 lines)
Lines 265-271 if ($findborrower) { Link Here
265
my $patron;
265
my $patron;
266
if ($borrowernumber) {
266
if ($borrowernumber) {
267
    $patron = Koha::Patrons->find( $borrowernumber );
267
    $patron = Koha::Patrons->find( $borrowernumber );
268
    $borrower = GetMemberDetails( $borrowernumber, 0 );
268
    $borrower = GetMember( borrowernumber => $borrowernumber );
269
    my ( $od, $issue, $fines ) = GetMemberIssuesAndFines( $borrowernumber );
269
    my ( $od, $issue, $fines ) = GetMemberIssuesAndFines( $borrowernumber );
270
270
271
    # Warningdate is the date that the warning starts appearing
271
    # Warningdate is the date that the warning starts appearing
Lines 454-460 if (@$barcodes) { Link Here
454
454
455
# reload the borrower info for the sake of reseting the flags.....
455
# reload the borrower info for the sake of reseting the flags.....
456
if ($borrowernumber) {
456
if ($borrowernumber) {
457
    $borrower = GetMemberDetails( $borrowernumber, 0 );
457
    $borrower = GetMember( borrowernumber => $borrowernumber );
458
}
458
}
459
459
460
##################################################################################
460
##################################################################################
(-)a/members/purchase-suggestions.pl (-1 / +1 lines)
Lines 43-49 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
43
my $borrowernumber = $input->param('borrowernumber');
43
my $borrowernumber = $input->param('borrowernumber');
44
44
45
# Set informations for the patron
45
# Set informations for the patron
46
my $borrower = GetMemberDetails( $borrowernumber, 0 );
46
my $borrower = GetMember( borrowernumber => $borrowernumber );
47
foreach my $key ( keys %$borrower ) {
47
foreach my $key ( keys %$borrower ) {
48
    $template->param( $key => $borrower->{$key} );
48
    $template->param( $key => $borrower->{$key} );
49
}
49
}
(-)a/members/routing-lists.pl (-1 / +1 lines)
Lines 51-57 my $branch = C4::Context->userenv->{'branch'}; Link Here
51
# get the borrower information.....
51
# get the borrower information.....
52
my $borrower;
52
my $borrower;
53
if ($borrowernumber) {
53
if ($borrowernumber) {
54
    $borrower = GetMemberDetails( $borrowernumber, 0 );
54
    $borrower = GetMember( borrowernumber => $borrowernumber );
55
}
55
}
56
56
57
57
(-)a/members/statistics.pl (-1 / +1 lines)
Lines 48-54 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
48
my $borrowernumber = $input->param('borrowernumber');
48
my $borrowernumber = $input->param('borrowernumber');
49
49
50
# Set informations for the patron
50
# Set informations for the patron
51
my $borrower = GetMemberDetails( $borrowernumber, 0 );
51
my $borrower = GetMember( borrowernumber => $borrowernumber );
52
if ( not defined $borrower ) {
52
if ( not defined $borrower ) {
53
    $template->param (unknowuser => 1);
53
    $template->param (unknowuser => 1);
54
    output_html_with_http_headers $input, $cookie, $template->output;
54
    output_html_with_http_headers $input, $cookie, $template->output;
(-)a/misc/export_borrowers.pl (-3 / +4 lines)
Lines 41-47 $0 [--field=FIELD [--field=FIELD [...]]] [--separator=CHAR] [--show-header] [--w Link Here
41
$0 -h
41
$0 -h
42
42
43
    -f, --field=FIELD       Field to export. It is repeatable and has to match
43
    -f, --field=FIELD       Field to export. It is repeatable and has to match
44
                            keys returned by the GetMemberDetails function.
44
                            keys returned by the GetMember function.
45
                            If no field is specified, then all fields will be
45
                            If no field is specified, then all fields will be
46
                            exported.
46
                            exported.
47
    -s, --separator=CHAR    This character will be used to separate fields.
47
    -s, --separator=CHAR    This character will be used to separate fields.
Lines 99-105 my $csv = Text::CSV->new( { sep_char => $separator, binary => 1 } ); Link Here
99
# If the user did not specify any field to export, we assume he wants them all
99
# If the user did not specify any field to export, we assume he wants them all
100
# We retrieve the first borrower informations to get field names
100
# We retrieve the first borrower informations to get field names
101
my ($borrowernumber) = $sth->fetchrow_array or die "No borrower to export";
101
my ($borrowernumber) = $sth->fetchrow_array or die "No borrower to export";
102
my $member = GetMemberDetails($borrowernumber);
102
my $member = GetMember($borrowernumber); # FIXME Now is_expired is no longer available
103
                                         # We will have to use Koha::Patron and allow method calls
103
@fields = keys %$member unless (@fields);
104
@fields = keys %$member unless (@fields);
104
105
105
if ($show_header) {
106
if ($show_header) {
Lines 120-126 die "Invalid character at borrower $borrowernumber: [" Link Here
120
print $csv->string . "\n";
121
print $csv->string . "\n";
121
122
122
while ( my $borrowernumber = $sth->fetchrow_array ) {
123
while ( my $borrowernumber = $sth->fetchrow_array ) {
123
    $member = GetMemberDetails($borrowernumber);
124
    $member = GetMember( borrowernumber => $borrowernumber );
124
    $csv->combine(
125
    $csv->combine(
125
        map {
126
        map {
126
            ( defined $member->{$_} and !ref $member->{$_} )
127
            ( defined $member->{$_} and !ref $member->{$_} )
(-)a/opac/opac-account-pay-paypal-return.pl (-1 / +1 lines)
Lines 109-115 else { Link Here
109
}
109
}
110
110
111
$template->param(
111
$template->param(
112
    borrower    => GetMemberDetails($borrowernumber),
112
    borrower    => GetMember( borrowernumber => $borrowernumber ),
113
    accountview => 1
113
    accountview => 1
114
);
114
);
115
115
(-)a/opac/opac-readingrecord.pl (-1 / +1 lines)
Lines 51-57 my ( $template, $borrowernumber, $cookie ) = get_template_and_user( Link Here
51
);
51
);
52
52
53
# get borrower information ....
53
# get borrower information ....
54
my ( $borr ) = GetMemberDetails( $borrowernumber );
54
my ( $borr ) = GetMember( borrowernumber => $borrowernumber );
55
55
56
$template->param(%{$borr});
56
$template->param(%{$borr});
57
57
(-)a/opac/opac-renew.pl (-1 / +1 lines)
Lines 70-76 else { Link Here
70
                $branchcode = $item->{'homebranch'};
70
                $branchcode = $item->{'homebranch'};
71
            }
71
            }
72
            elsif ( $renewalbranch eq 'patronhomebranch' ) {
72
            elsif ( $renewalbranch eq 'patronhomebranch' ) {
73
                my $borrower = GetMemberDetails($borrowernumber);
73
                my $borrower = GetMember( borrowernumber => $borrowernumber );
74
                $branchcode = $borrower->{'branchcode'};
74
                $branchcode = $borrower->{'branchcode'};
75
            }
75
            }
76
            elsif ( $renewalbranch eq 'checkoutbranch' ) {
76
            elsif ( $renewalbranch eq 'checkoutbranch' ) {
(-)a/opac/opac-reserve.pl (-2 / +2 lines)
Lines 70-76 sub get_out { Link Here
70
}
70
}
71
71
72
# get borrower information ....
72
# get borrower information ....
73
my ( $borr ) = GetMemberDetails( $borrowernumber );
73
my ( $borr ) = GetMember( borrowernumber => $borrowernumber );
74
my $patron = Koha::Patrons->find( $borrowernumber );
74
my $patron = Koha::Patrons->find( $borrowernumber );
75
75
76
# check if this user can place a reserve, -1 means use sys pref, 0 means dont block, 1 means block
76
# check if this user can place a reserve, -1 means use sys pref, 0 means dont block, 1 means block
Lines 449-455 foreach my $biblioNum (@biblionumbers) { Link Here
449
449
450
        # checking reserve
450
        # checking reserve
451
        my ($reservedate,$reservedfor,$expectedAt,undef,$wait) = GetReservesFromItemnumber($itemNum);
451
        my ($reservedate,$reservedfor,$expectedAt,undef,$wait) = GetReservesFromItemnumber($itemNum);
452
        my $ItemBorrowerReserveInfo = GetMemberDetails( $reservedfor, 0);
452
        my $ItemBorrowerReserveInfo = GetMember( borrowernumber => $reservedfor );
453
453
454
        # the item could be reserved for this borrower vi a host record, flag this
454
        # the item could be reserved for this borrower vi a host record, flag this
455
        $reservedfor //= '';
455
        $reservedfor //= '';
(-)a/opac/opac-showreviews.pl (-2 / +2 lines)
Lines 27-33 use C4::Koha; Link Here
27
use C4::Output;
27
use C4::Output;
28
use C4::Circulation;
28
use C4::Circulation;
29
use C4::Biblio;
29
use C4::Biblio;
30
use C4::Members qw/GetMemberDetails/;
30
use C4::Members qw/GetMember/;
31
use Koha::DateUtils;
31
use Koha::DateUtils;
32
use Koha::Reviews;
32
use Koha::Reviews;
33
use POSIX qw(ceil floor strftime);
33
use POSIX qw(ceil floor strftime);
Lines 92-98 for my $result (@$reviews){ Link Here
92
	my $bib = &GetBiblioData($biblionumber);
92
	my $bib = &GetBiblioData($biblionumber);
93
    my $record = GetMarcBiblio($biblionumber);
93
    my $record = GetMarcBiblio($biblionumber);
94
    my $frameworkcode = GetFrameworkCode($biblionumber);
94
    my $frameworkcode = GetFrameworkCode($biblionumber);
95
	my ( $borr ) = GetMemberDetails( $result->{borrowernumber} );
95
    my ( $borr ) = GetMember( borrowernumber => $result->{borrowernumber} );
96
	$result->{normalized_upc} = GetNormalizedUPC($record,$marcflavour);
96
	$result->{normalized_upc} = GetNormalizedUPC($record,$marcflavour);
97
	$result->{normalized_ean} = GetNormalizedEAN($record,$marcflavour);
97
	$result->{normalized_ean} = GetNormalizedEAN($record,$marcflavour);
98
	$result->{normalized_oclc} = GetNormalizedOCLCNumber($record,$marcflavour);
98
	$result->{normalized_oclc} = GetNormalizedOCLCNumber($record,$marcflavour);
(-)a/opac/opac-suggestions.pl (-1 / +1 lines)
Lines 195-201 my $patron_reason_loop = GetAuthorisedValues("OPAC_SUG"); Link Here
195
195
196
# Is the person allowed to choose their branch
196
# Is the person allowed to choose their branch
197
if ( C4::Context->preference("AllowPurchaseSuggestionBranchChoice") ) {
197
if ( C4::Context->preference("AllowPurchaseSuggestionBranchChoice") ) {
198
    my ( $borr ) = GetMemberDetails( $borrowernumber );
198
    my ( $borr ) = GetMember( borrowernumber => $borrowernumber );
199
199
200
# pass the pickup branch along....
200
# pass the pickup branch along....
201
    my $userbranch = '';
201
    my $userbranch = '';
(-)a/opac/opac-user.pl (-1 / +1 lines)
Lines 85-91 if (!$borrowernumber) { Link Here
85
}
85
}
86
86
87
# get borrower information ....
87
# get borrower information ....
88
my ( $borr ) = GetMemberDetails( $borrowernumber );
88
my ( $borr ) = GetMember( borrowernumber => $borrowernumber );
89
89
90
my (  $today_year,   $today_month,   $today_day) = Today();
90
my (  $today_year,   $today_month,   $today_day) = Today();
91
my ($warning_year, $warning_month, $warning_day) = split /-/, $borr->{'dateexpiry'};
91
my ($warning_year, $warning_month, $warning_day) = split /-/, $borr->{'dateexpiry'};
(-)a/opac/sco/sco-main.pl (-3 / +3 lines)
Lines 106-119 my ($op, $patronid, $patronlogin, $patronpw, $barcode, $confirmed) = ( Link Here
106
106
107
my $issuenoconfirm = 1; #don't need to confirm on issue.
107
my $issuenoconfirm = 1; #don't need to confirm on issue.
108
#warn "issuerid: " . $issuerid;
108
#warn "issuerid: " . $issuerid;
109
my $issuer   = GetMemberDetails($issuerid);
109
my $issuer   = GetMember( borrowernumber => $issuerid );
110
my $item     = GetItem(undef,$barcode);
110
my $item     = GetItem(undef,$barcode);
111
if (C4::Context->preference('SelfCheckoutByLogin') && !$patronid) {
111
if (C4::Context->preference('SelfCheckoutByLogin') && !$patronid) {
112
    my $dbh = C4::Context->dbh;
112
    my $dbh = C4::Context->dbh;
113
    my $resval;
113
    my $resval;
114
    ($resval, $patronid) = checkpw($dbh, $patronlogin, $patronpw);
114
    ($resval, $patronid) = checkpw($dbh, $patronlogin, $patronpw);
115
}
115
}
116
my $borrower = GetMemberDetails(undef,$patronid);
116
my $borrower = GetMember( cardnumber => $patronid );
117
117
118
my $currencySymbol = "";
118
my $currencySymbol = "";
119
if ( my $active_currency = Koha::Acquisition::Currencies->get_active ) {
119
if ( my $active_currency = Koha::Acquisition::Currencies->get_active ) {
Lines 131-137 if ($op eq "logout") { Link Here
131
elsif ( $op eq "returnbook" && $allowselfcheckreturns ) {
131
elsif ( $op eq "returnbook" && $allowselfcheckreturns ) {
132
    my ($doreturn) = AddReturn( $barcode, $branch );
132
    my ($doreturn) = AddReturn( $barcode, $branch );
133
    #warn "returnbook: " . $doreturn;
133
    #warn "returnbook: " . $doreturn;
134
    $borrower = GetMemberDetails(undef,$patronid);
134
    $borrower = GetMember( cardnumber => $patronid );
135
}
135
}
136
elsif ( $op eq "checkout" ) {
136
elsif ( $op eq "checkout" ) {
137
    my $impossible  = {};
137
    my $impossible  = {};
(-)a/t/db_dependent/Acquisition/OrderUsers.t (-1 / +1 lines)
Lines 76-82 my $borrowernumber = C4::Members::AddMember( Link Here
76
    userid => 'TESTUSERID'
76
    userid => 'TESTUSERID'
77
);
77
);
78
78
79
my $borrower = C4::Members::GetMemberDetails( $borrowernumber );
79
my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber );
80
80
81
C4::Acquisition::ModOrderUsers( $ordernumber, $borrowernumber );
81
C4::Acquisition::ModOrderUsers( $ordernumber, $borrowernumber );
82
82
(-)a/t/db_dependent/Members.t (-2 / +2 lines)
Lines 95-101 testAgeAccessors(\%data); #Age accessor tests don't touch the db so it is safe t Link Here
95
my $addmem=AddMember(%data);
95
my $addmem=AddMember(%data);
96
ok($addmem, "AddMember()");
96
ok($addmem, "AddMember()");
97
97
98
my $member=GetMemberDetails("",$CARDNUMBER)
98
my $member = GetMember( cardnumber => $CARDNUMBER )
99
  or BAIL_OUT("Cannot read member with card $CARDNUMBER");
99
  or BAIL_OUT("Cannot read member with card $CARDNUMBER");
100
100
101
ok ( $member->{firstname}    eq $FIRSTNAME    &&
101
ok ( $member->{firstname}    eq $FIRSTNAME    &&
Lines 112-118 $member->{email} = $EMAIL; Link Here
112
$member->{phone}     = $PHONE;
112
$member->{phone}     = $PHONE;
113
$member->{emailpro}  = $EMAILPRO;
113
$member->{emailpro}  = $EMAILPRO;
114
ModMember(%$member);
114
ModMember(%$member);
115
my $changedmember=GetMemberDetails("",$CARDNUMBER);
115
my $changedmember = GetMember( cardnumber => $CARDNUMBER );
116
ok ( $changedmember->{firstname} eq $CHANGED_FIRSTNAME &&
116
ok ( $changedmember->{firstname} eq $CHANGED_FIRSTNAME &&
117
     $changedmember->{email}     eq $EMAIL             &&
117
     $changedmember->{email}     eq $EMAIL             &&
118
     $changedmember->{phone}     eq $PHONE             &&
118
     $changedmember->{phone}     eq $PHONE             &&
(-)a/t/db_dependent/rollingloans.t (-1 / +1 lines)
Lines 41-47 SKIP: { Link Here
41
sub try_issue {
41
sub try_issue {
42
    my ($cardnumber, $item ) = @_;
42
    my ($cardnumber, $item ) = @_;
43
    my $issuedate = '2011-05-16';
43
    my $issuedate = '2011-05-16';
44
    my $borrower = GetMemberDetails(0, $cardnumber);
44
    my $borrower = GetMember( cardnumber => $cardnumber );
45
    my ($issuingimpossible,$needsconfirmation) = CanBookBeIssued( $borrower, $item );
45
    my ($issuingimpossible,$needsconfirmation) = CanBookBeIssued( $borrower, $item );
46
    my $issue = AddIssue($borrower, $item, undef, 0, $issuedate);
46
    my $issue = AddIssue($borrower, $item, undef, 0, $issuedate);
47
    return dt_from_string( $issue->due_date() );
47
    return dt_from_string( $issue->due_date() );
(-)a/tools/viewlog.pl (-3 / +2 lines)
Lines 136-142 if ($do_it) { Link Here
136
136
137
        #always add firstname and surname for librarian/user
137
        #always add firstname and surname for librarian/user
138
        if ( $result->{'user'} ) {
138
        if ( $result->{'user'} ) {
139
            my $userdetails = C4::Members::GetMemberDetails( $result->{'user'} );
139
            my $userdetails = C4::Members::GetMember( borrowernumber => $result->{'user'} );
140
            if ($userdetails) {
140
            if ($userdetails) {
141
                $result->{'userfirstname'} = $userdetails->{'firstname'};
141
                $result->{'userfirstname'} = $userdetails->{'firstname'};
142
                $result->{'usersurname'}   = $userdetails->{'surname'};
142
                $result->{'usersurname'}   = $userdetails->{'surname'};
Lines 146-152 if ($do_it) { Link Here
146
        #add firstname and surname for borrower, when using the CIRCULATION, MEMBERS, FINES
146
        #add firstname and surname for borrower, when using the CIRCULATION, MEMBERS, FINES
147
        if ( $result->{module} eq "CIRCULATION" || $result->{module} eq "MEMBERS" || $result->{module} eq "FINES" ) {
147
        if ( $result->{module} eq "CIRCULATION" || $result->{module} eq "MEMBERS" || $result->{module} eq "FINES" ) {
148
            if ( $result->{'object'} ) {
148
            if ( $result->{'object'} ) {
149
                my $borrowerdetails = C4::Members::GetMemberDetails( $result->{'object'} );
149
                my $borrowerdetails = C4::Members::GetMember( borrowernumber => $result->{'object'} );
150
                if ($borrowerdetails) {
150
                if ($borrowerdetails) {
151
                    $result->{'borrowerfirstname'} = $borrowerdetails->{'firstname'};
151
                    $result->{'borrowerfirstname'} = $borrowerdetails->{'firstname'};
152
                    $result->{'borrowersurname'}   = $borrowerdetails->{'surname'};
152
                    $result->{'borrowersurname'}   = $borrowerdetails->{'surname'};
153
- 

Return to bug 17578