See patronflags for more details.
-C<$borrower-E<gt>{authflags}> is a hash giving more detailed information
-about the top-level permissions flags set for the borrower. For example,
-if a user has the "editcatalogue" permission,
-C<$borrower-E<gt>{authflags}-E<gt>{editcatalogue}> will exist and have
-the value "1".
-
=cut
sub GetMemberDetails {
$borrower->{'amountoutstanding'} = $amount;
# FIXME - patronflags calls GetMemberAccountRecords... just have patronflags return $amount
my $flags = patronflags( $borrower);
- my $accessflagshash;
-
- $sth = $dbh->prepare("select bit,flag from userflags");
- $sth->execute;
- while ( my ( $bit, $flag ) = $sth->fetchrow ) {
- if ( $borrower->{'flags'} && $borrower->{'flags'} & 2**$bit ) {
- $accessflagshash->{$flag} = 1;
- }
- }
$borrower->{'flags'} = $flags;
- $borrower->{'authflags'} = $accessflagshash;
$borrower->{'is_expired'} = 0;
$borrower->{'is_expired'} = 1 if
Date_to_Days( Today() ) >
Date_to_Days( split /-/, $borrower->{'dateexpiry'} );
- return ($borrower); #, $flags, $accessflagshash);
+ return ($borrower);
}
=head2 patronflags
my $flagsrequired = { permissions => 1 };
my $member=$input->param('member');
-my $bor = GetMemberDetails( $member,'');
+my $bor = GetMember( borrowernumber => $member );
if( $bor->{'category_type'} eq 'S' ) {
$flagsrequired->{'staffaccess'} = 1;
}
print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member");
} else {
-# my ($bor,$flags,$accessflags)=GetMemberDetails($member,'');
+
my $flags = $bor->{'flags'};
- my $accessflags = $bor->{'authflags'};
- my $dbh=C4::Context->dbh();
+ my $accessflags;
+ my $dbh = C4::Context->dbh();
+ # FIXME This needs to be improved to avoid doing the same query
+ my $sth = $dbh->prepare("select bit,flag from userflags");
+ $sth->execute;
+ while ( my ( $bit, $flag ) = $sth->fetchrow ) {
+ if ( $bor->{flags} && $bor->{flags} & 2**$bit ) {
+ $accessflags->{$flag} = 1;
+ }
+ }
+
my $all_perms = get_all_subpermissions();
my $user_perms = get_user_subpermissions($bor->{'userid'});
- my $sth=$dbh->prepare("SELECT bit, flag FROM userflags ORDER BY bit");
+ $sth = $dbh->prepare("SELECT bit, flag FROM userflags ORDER BY bit");
$sth->execute;
my @loop;
+
while (my ($bit, $flag) = $sth->fetchrow) {
my $checked='';
if ($accessflags->{$flag}) {