use Modern::Perl;
use CGI qw ( -utf8 );
use C4::Auth;
-use C4::Branch;
use C4::Koha;
use C4::Members;
use C4::Members::Attributes;
use List::MoreUtils qw /any uniq/;
use Koha::DateUtils qw( dt_from_string );
use Koha::List::Patron;
+use Koha::Libraries;
use Koha::Patron::Categories;
+use Koha::Patrons;
my $input = new CGI;
my $op = $input->param('op') || 'show_form';
my @patron_attributes_values;
my @patron_attributes_codes;
my $patron_attribute_types = C4::Members::AttributeTypes::GetAttributeTypes_hashref('all');
- my $patron_categories = C4::Members::GetBorrowercategoryList;
+ my @patron_categories = Koha::Patron::Categories->search_limited({}, {order_by => ['description']});
for ( values %$patron_attribute_types ) {
my $attr_type = C4::Members::AttributeTypes->fetch( $_->{code} );
# TODO Repeatable attributes are not correctly managed and can cause data lost.
my $category_code = $_->{category_code};
my ( $category_lib ) = map {
- ( defined $category_code and $_->{categorycode} eq $category_code ) ? $_->{description} : ()
- } @$patron_categories;
+ ( defined $category_code and $_->categorycode eq $category_code ) ? $_->description : ()
+ } @patron_categories;
push @patron_attributes_codes,
{
attribute_code => $_->{code},
if @notfoundcardnumbers;
# Construct drop-down list values
- my $branches = GetBranchesLoop;
+ my $branches = Koha::Libraries->search({}, { order_by => ['branchname'] })->unblessed;
my @branches_option;
- push @branches_option, { value => $_->{value}, lib => $_->{branchname} } for @$branches;
+ push @branches_option, { value => $_->{branchcode}, lib => $_->{branchname} } for @$branches;
unshift @branches_option, { value => "", lib => "" };
- my $categories = GetBorrowercategoryList;
my @categories_option;
- push @categories_option, { value => $_->{categorycode}, lib => $_->{description} } for @$categories;
+ push @categories_option, { value => $_->categorycode, lib => $_->description } for @patron_categories;
unshift @categories_option, { value => "", lib => "" };
my $bsort1 = GetAuthorisedValues("Bsort1");
my @sort1_option;
}
}
- #
- my $borrower_categorycode = GetBorrowerCategorycode $borrowernumber;
+ my $borrower_categorycode = Koha::Patrons->find( $borrowernumber )->categorycode;
my $i=0;
for ( @attributes ) {
my $attribute;
sub GetBorrowerInfos {
my ( %info ) = @_;
- my $borrower = GetMember( %info );
- if ( $borrower ) {
- $borrower->{branchname} = GetBranchName( $borrower->{branchcode} );
+ my $patron = Koha::Patrons->find( \%info );
+ my $borrower;
+ if ( $patron ) {
+ $borrower = $patron->unblessed;
for ( qw(dateenrolled dateexpiry) ) {
my $userdate = $borrower->{$_};
unless ($userdate && $userdate ne "0000-00-00" and $userdate ne "9999-12-31") {
}
$borrower->{$_} = $userdate || '';
}
- $borrower->{category_description} = Koha::Patron::Categories->find( $borrower->{categorycode} )->{description};
+ $borrower->{category_description} = $patron->category->description;
my $attr_loop = C4::Members::Attributes::GetBorrowerAttributes( $borrower->{borrowernumber} );
$borrower->{patron_attributes} = $attr_loop;
}