Lines 191-197
the value "1".
Link Here
|
191 |
sub GetMemberDetails { |
191 |
sub GetMemberDetails { |
192 |
my ( $borrowernumber, $cardnumber ) = @_; |
192 |
my ( $borrowernumber, $cardnumber ) = @_; |
193 |
my $dbh = C4::Context->dbh; |
193 |
my $dbh = C4::Context->dbh; |
194 |
my $query; |
|
|
195 |
my $sth; |
194 |
my $sth; |
196 |
if ($borrowernumber) { |
195 |
if ($borrowernumber) { |
197 |
$sth = $dbh->prepare(" |
196 |
$sth = $dbh->prepare(" |
Lines 252-257
sub GetMemberDetails {
Link Here
|
252 |
$borrower->{'showname'} = $borrower->{'firstname'}; |
251 |
$borrower->{'showname'} = $borrower->{'firstname'}; |
253 |
} |
252 |
} |
254 |
|
253 |
|
|
|
254 |
# fetch and add additional categories |
255 |
my $query = ' |
256 |
SELECT * FROM categories_additional |
257 |
WHERE borrowernumber = ? |
258 |
'; |
259 |
$sth = $dbh->prepare($query); |
260 |
$sth->execute( $borrower->{'borrowernumber'} ); |
261 |
my @cats = map { $_->{'categorycode'} } @{ $sth->fetchall_arrayref( {} ) }; |
262 |
$borrower->{'additionalcategories'} = \@cats; |
263 |
|
255 |
# Handle setting the true behavior for BlockExpiredPatronOpacActions |
264 |
# Handle setting the true behavior for BlockExpiredPatronOpacActions |
256 |
$borrower->{'BlockExpiredPatronOpacActions'} = |
265 |
$borrower->{'BlockExpiredPatronOpacActions'} = |
257 |
C4::Context->preference('BlockExpiredPatronOpacActions') |
266 |
C4::Context->preference('BlockExpiredPatronOpacActions') |
Lines 462-468
sub GetMember {
Link Here
|
462 |
my $data = $sth->fetchall_arrayref({}); |
471 |
my $data = $sth->fetchall_arrayref({}); |
463 |
#FIXME interface to this routine now allows generation of a result set |
472 |
#FIXME interface to this routine now allows generation of a result set |
464 |
#so whole array should be returned but bowhere in the current code expects this |
473 |
#so whole array should be returned but bowhere in the current code expects this |
465 |
if (@{$data} ) { |
474 |
if ( @{$data} ) { |
|
|
475 |
|
476 |
# fetch and add additional categories |
477 |
$select = ' |
478 |
SELECT * FROM categories_additional |
479 |
WHERE borrowernumber = ? |
480 |
'; |
481 |
$sth = $dbh->prepare($select); |
482 |
$sth->execute( $data->[0]->{'borrowernumber'} ); |
483 |
my @cats = map { $_->{'categorycode'} } @{ $sth->fetchall_arrayref( {} ) }; |
484 |
$data->[0]->{'additionalcategories'} = \@cats; |
485 |
|
466 |
return $data->[0]; |
486 |
return $data->[0]; |
467 |
} |
487 |
} |
468 |
|
488 |
|
Lines 644-649
true on success, or false on failure
Link Here
|
644 |
|
664 |
|
645 |
sub ModMember { |
665 |
sub ModMember { |
646 |
my (%data) = @_; |
666 |
my (%data) = @_; |
|
|
667 |
my $dbh = C4::Context->dbh; |
647 |
# test to know if you must update or not the borrower password |
668 |
# test to know if you must update or not the borrower password |
648 |
if (exists $data{password}) { |
669 |
if (exists $data{password}) { |
649 |
if ($data{password} eq '****' or $data{password} eq '') { |
670 |
if ($data{password} eq '****' or $data{password} eq '') { |
Lines 663-668
sub ModMember {
Link Here
|
663 |
my @columns = $schema->source('Borrower')->columns; |
684 |
my @columns = $schema->source('Borrower')->columns; |
664 |
my $new_borrower = { map { join(' ', @columns) =~ /$_/ ? ( $_ => $data{$_} ) : () } keys(%data) }; |
685 |
my $new_borrower = { map { join(' ', @columns) =~ /$_/ ? ( $_ => $data{$_} ) : () } keys(%data) }; |
665 |
delete $new_borrower->{flags}; |
686 |
delete $new_borrower->{flags}; |
|
|
687 |
delete $new_borrower->{additionalcategories}; |
666 |
|
688 |
|
667 |
$new_borrower->{dateofbirth} ||= undef if exists $new_borrower->{dateofbirth}; |
689 |
$new_borrower->{dateofbirth} ||= undef if exists $new_borrower->{dateofbirth}; |
668 |
$new_borrower->{dateenrolled} ||= undef if exists $new_borrower->{dateenrolled}; |
690 |
$new_borrower->{dateenrolled} ||= undef if exists $new_borrower->{dateenrolled}; |
Lines 708-713
sub ModMember {
Link Here
|
708 |
NLSync({ 'borrowernumber' => $data{'borrowernumber'} }); |
730 |
NLSync({ 'borrowernumber' => $data{'borrowernumber'} }); |
709 |
} |
731 |
} |
710 |
|
732 |
|
|
|
733 |
# Update additional categories |
734 |
my $query = ' |
735 |
DELETE FROM categories_additional |
736 |
WHERE borrowernumber = ? |
737 |
'; |
738 |
my $sth = $dbh->prepare($query); |
739 |
$sth->execute($data{'borrowernumber'}); |
740 |
if ( @{ $data{'additionalcategories'} } ) { |
741 |
$query = ' |
742 |
INSERT INTO categories_additional |
743 |
( categorycode, borrowernumber ) |
744 |
VALUES ( ?, ? ) |
745 |
'; |
746 |
$sth = $dbh->prepare($query); |
747 |
for my $cat ( @{ $data{'additionalcategories'} } ) { |
748 |
$sth->execute( $cat, $data{'borrowernumber'} ); |
749 |
} |
750 |
} |
751 |
|
711 |
logaction("MEMBERS", "MODIFY", $data{'borrowernumber'}, "UPDATE (executed w/ arg: $data{'borrowernumber'})") if C4::Context->preference("BorrowersLog"); |
752 |
logaction("MEMBERS", "MODIFY", $data{'borrowernumber'}, "UPDATE (executed w/ arg: $data{'borrowernumber'})") if C4::Context->preference("BorrowersLog"); |
712 |
} |
753 |
} |
713 |
return $execute_success; |
754 |
return $execute_success; |
Lines 769-774
sub AddMember {
Link Here
|
769 |
my @columns = $schema->source('Borrower')->columns; |
810 |
my @columns = $schema->source('Borrower')->columns; |
770 |
my $new_member = { map { join(' ',@columns) =~ /$_/ ? ( $_ => $data{$_} ) : () } keys(%data) } ; |
811 |
my $new_member = { map { join(' ',@columns) =~ /$_/ ? ( $_ => $data{$_} ) : () } keys(%data) } ; |
771 |
delete $new_member->{borrowernumber}; |
812 |
delete $new_member->{borrowernumber}; |
|
|
813 |
delete $new_member->{additionalcategories}; |
772 |
|
814 |
|
773 |
my $rs = $schema->resultset('Borrower'); |
815 |
my $rs = $schema->resultset('Borrower'); |
774 |
$data{borrowernumber} = $rs->create($new_member)->id; |
816 |
$data{borrowernumber} = $rs->create($new_member)->id; |
Lines 785-790
sub AddMember {
Link Here
|
785 |
}); |
827 |
}); |
786 |
} |
828 |
} |
787 |
|
829 |
|
|
|
830 |
# Add additional categories |
831 |
if ( @{ $data{'additionalcategories'} } ) { |
832 |
my $query = ' |
833 |
INSERT INTO categories_additional |
834 |
( categorycode, borrowernumber ) |
835 |
VALUES ( ?, ? ) |
836 |
'; |
837 |
my $sth = $dbh->prepare($query); |
838 |
for my $cat ( @{ $data{'additionalcategories'} } ) { |
839 |
$sth->execute( $cat, $data{borrowernumber} ); |
840 |
} |
841 |
} |
842 |
|
788 |
# mysql_insertid is probably bad. not necessarily accurate and mysql-specific at best. |
843 |
# mysql_insertid is probably bad. not necessarily accurate and mysql-specific at best. |
789 |
logaction("MEMBERS", "CREATE", $data{'borrowernumber'}, "") if C4::Context->preference("BorrowersLog"); |
844 |
logaction("MEMBERS", "CREATE", $data{'borrowernumber'}, "") if C4::Context->preference("BorrowersLog"); |
790 |
|
845 |
|