Same as authflags, a flags key is set containing all the patron flags.
It is only used in a few places and it's better to call
C4::Members::patronflags when we need it.
Test plan:
Look at the diff and confirm that the change make sense
Use git grep to confirm we do not use the flags somewhere else.
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
ModDateLastSeen( $item->{'itemnumber'} );
return( { STATS => 1 }, {});
}
- if ( ref $borrower->{flags} ) {
- if ( $borrower->{flags}->{GNA} ) {
+
+ my $flags = C4::Members::patronflags( $borrower );
+ if ( ref $flags ) {
+ if ( $flags->{GNA} ) {
$issuingimpossible{GNA} = 1;
}
- if ( $borrower->{flags}->{'LOST'} ) {
+ if ( $flags->{'LOST'} ) {
$issuingimpossible{CARD_LOST} = 1;
}
- if ( $borrower->{flags}->{'DBARRED'} ) {
+ if ( $flags->{'DBARRED'} ) {
$issuingimpossible{DEBARRED} = 1;
}
}
# Get Member details
my $borrowernumber = $cgi->param('patron_id');
- my $borrower = GetMemberDetails( $borrowernumber );
+ my $borrower = GetMember( borrowernumber => $borrowernumber );
return { code => 'PatronNotFound' } unless $$borrower{borrowernumber};
# Cleaning the borrower hashref
- $borrower->{'charges'} = $borrower->{'flags'}->{'CHARGES'}->{'amount'};
+ my $flags = C4::Members::patronflags( $borrower );
+ $borrower->{'charges'} = $flags>{'CHARGES'}->{'amount'};
my $library = Koha::Libraries->find( $borrower->{branchcode} );
$borrower->{'branchname'} = $library ? $library->branchname : '';
- delete $borrower->{'flags'};
delete $borrower->{'userid'};
delete $borrower->{'password'};
C<$borrower> is a reference-to-hash whose keys are the fields of the
borrowers table in the Koha database. In addition,
-C<$borrower-E<gt>{flags}> is a hash giving more detailed information
-about the patron. Its keys act as flags :
-
- if $borrower->{flags}->{LOST} {
- # Patron's card was reported lost
- }
-
-If the state of a flag means that the patron should not be
-allowed to borrow any more books, then it will have a C<noissues> key
-with a true value.
-
-See patronflags for more details.
=cut
my $borrower = $sth->fetchrow_hashref;
return unless $borrower;
- my $flags = patronflags( $borrower);
- $borrower->{'flags'} = $flags;
-
$borrower->{'is_expired'} = 0;
$borrower->{'is_expired'} = 1 if
defined($borrower->{dateexpiry}) &&
my $schema = Koha::Database->new()->schema;
my @columns = $schema->source('Borrower')->columns;
my $new_borrower = { map { join(' ', @columns) =~ /$_/ ? ( $_ => $data{$_} ) : () } keys(%data) };
- delete $new_borrower->{flags};
$new_borrower->{dateofbirth} ||= undef if exists $new_borrower->{dateofbirth};
$new_borrower->{dateenrolled} ||= undef if exists $new_borrower->{dateenrolled};
$kp = GetMemberDetails($kp->{borrowernumber});
$debug and warn "new Patron (GetMemberDetails): " . Dumper($kp);
my $pw = $kp->{password};
- my $flags = $kp->{flags}; # or warn "Warning: No flags from patron object for '$patron_id'";
- my $debarred = defined($kp->{flags}->{DBARRED});
- $debug and warn sprintf("Debarred = %s : ", ($debarred||'undef')) . Dumper(%{$kp->{flags}});
+ my $flags = C4::Members::patronflags( $kp );
+ my $debarred = defined($flags->{DBARRED});
+ $debug and warn sprintf("Debarred = %s : ", ($debarred||'undef')) . Dumper(%$flags);
my ($day, $month, $year) = (localtime)[3,4,5];
my $today = sprintf '%04d-%02d-%02d', $year+1900, $month+1, $day;
my $expired = ($today gt $kp->{dateexpiry}) ? 1 : 0;
}
#title
-my $flags = $borrower->{'flags'};
+my $flags = $borrower ? C4::Members::patronflags( $borrower ) : {};
foreach my $flag ( sort keys %$flags ) {
$flags->{$flag}->{'message'} =~ s#\n#<br />#g;
if ( $flags->{$flag}->{'noissues'} ) {
}
}
-my $amountold = $borrower->{flags} ? $borrower->{flags}->{'CHARGES'}->{'message'} || 0 : 0;
+my $amountold = $flags ? $flags->{'CHARGES'}->{'message'} || 0 : 0;
$amountold =~ s/^.*\$//; # remove upto the $, if any
my ( $total, $accts, $numaccts) = GetMemberAccountRecords( $borrowernumber );
my $issues = GetPendingIssues($member); # FIXME: wasteful call when really, we only want the count
my $countissues = scalar(@$issues);
-my ($bor)=GetMemberDetails($member,'');
-my $flags=$bor->{flags};
+my $bor = C4::Members::GetMember( borrowernumber => $member );
+my $flags = C4::Members::patronflags( $bor );
my $userenv = C4::Context->userenv;
print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member");
} else {
- my $flags = $bor->{'flags'};
+ my $flags = C4::Members::patronflags( $bor );
my $accessflags;
my $dbh = C4::Context->dbh();
# FIXME This needs to be improved to avoid doing the same query