https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=19442
--- Comment #3 from Rudy Hinojosa <[email protected]> --- (In reply to Rudy Hinojosa from comment #2) > This already works on version 26.05.02, if you replace the entire routine of > get_borrower_attributes() codeblock in > /usr/share/koha/lib/C4/patroncard/Lib.pm with the following > get_borrower_attributes() below: > > sub get_borrower_attributes { > my ( $borrower_number, @fields ) = @_; > > my $get_branch = 0; > $get_branch = 1 if grep { $_ eq 'branchcode' } @fields; > > # Get normal borrower table fields > my $dbh = C4::Context->dbh; > > my @borrower_fields = (); > my @attribute_fields = (); > > # Get the actual columns in borrowers > my $sth_columns = $dbh->prepare("SHOW COLUMNS FROM borrowers"); > $sth_columns->execute(); > > my %borrower_columns; > while ( my $row = $sth_columns->fetchrow_hashref ) { > $borrower_columns{ $row->{'Field'} } = 1; > } > > # Separate normal borrower fields from patron attributes > foreach my $field (@fields) { > if ( $borrower_columns{$field} ) { > push @borrower_fields, $field; > } else { > push @attribute_fields, $field; > } > } > > my $borrower_attributes = {}; > > # Get normal borrower fields > if (@borrower_fields) { > my $query = "SELECT " . join( ', ', @borrower_fields ) > . " FROM borrowers WHERE borrowernumber = ?"; > > my $sth = $dbh->prepare($query); > $sth->execute($borrower_number); > > if ( $sth->err ) { > warn sprintf( > 'Database returned the following error: %s', > $sth->errstr > ); > return 1; > } > > $borrower_attributes = $sth->fetchrow_hashref() || {}; > } > > # Get patron attributes such as SID > if (@attribute_fields) { > my $placeholders = join( ',', ('?') x @attribute_fields ); > > my $query = " > SELECT code, attribute > FROM borrower_attributes > WHERE borrowernumber = ? > AND code IN ($placeholders) > "; > > my $sth = $dbh->prepare($query); > $sth->execute( $borrower_number, @attribute_fields ); > > while ( my $row = $sth->fetchrow_hashref ) { > $borrower_attributes->{ $row->{'code'} } = $row->{'attribute'}; > } > } > > # Convert branchcode to branch name as before > if ($get_branch) { > $sth_columns = $dbh->prepare( > "SELECT branchname FROM branches WHERE branchcode = ?" > ); > $sth_columns->execute( $borrower_attributes->{'branchcode'} ); > > if ( $sth_columns->err ) { > warn sprintf( > 'Database returned the following error: %s', > $sth_columns->errstr > ); > return 1; > } > > my $branch = $sth_columns->fetchrow_hashref(); > $borrower_attributes->{'branchcode'} = $branch->{'branchname'} > if $branch; > } > > return $borrower_attributes; > } and you simply just use your patron attribute in the tag for example <SID> if SID is your attribute. -- You are receiving this mail because: You are watching all bug changes. _______________________________________________ Koha-bugs mailing list -- [email protected] To unsubscribe send an email to [email protected] website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/
