Lines 89-95
$template->param(
Link Here
|
89 |
OPACPatronDetails => C4::Context->preference('OPACPatronDetails'), |
89 |
OPACPatronDetails => C4::Context->preference('OPACPatronDetails'), |
90 |
); |
90 |
); |
91 |
|
91 |
|
92 |
my $attributes = ParsePatronAttributes($cgi); |
92 |
my $attributes = ParsePatronAttributes($borrowernumber,$cgi); |
93 |
my $conflicting_attribute = 0; |
93 |
my $conflicting_attribute = 0; |
94 |
|
94 |
|
95 |
foreach my $attr (@$attributes) { |
95 |
foreach my $attr (@$attributes) { |
Lines 560-576
sub GeneratePatronAttributesForm {
Link Here
|
560 |
} |
560 |
} |
561 |
|
561 |
|
562 |
sub ParsePatronAttributes { |
562 |
sub ParsePatronAttributes { |
563 |
my ( $cgi ) = @_; |
563 |
my ($borrowernumber,$cgi) = @_; |
564 |
|
564 |
|
565 |
my @codes = $cgi->multi_param('patron_attribute_code'); |
565 |
my @codes = $cgi->multi_param('patron_attribute_code'); |
566 |
my @values = $cgi->multi_param('patron_attribute_value'); |
566 |
my @values = $cgi->multi_param('patron_attribute_value'); |
567 |
|
567 |
|
568 |
my $ea = each_array( @codes, @values ); |
568 |
my $ea = each_array( @codes, @values ); |
569 |
my @attributes; |
569 |
my @attributes; |
570 |
my %dups = (); |
570 |
my %dups = (); |
571 |
|
571 |
|
572 |
while ( my ( $code, $value, $password ) = $ea->() ) { |
572 |
while ( my ( $code, $value ) = $ea->() ) { |
573 |
next unless defined($value) and $value ne ''; |
573 |
# Don't skip if the patron already has attributes with $code, because |
|
|
574 |
# it means we are being requested to remove the attributes. |
575 |
next |
576 |
unless defined($value) and $value ne '' |
577 |
or Koha::Patron::Attributes->search( |
578 |
{ borrowernumber => $borrowernumber, code => $code } )->count > 0; |
574 |
next if exists $dups{$code}->{$value}; |
579 |
next if exists $dups{$code}->{$value}; |
575 |
$dups{$code}->{$value} = 1; |
580 |
$dups{$code}->{$value} = 1; |
576 |
|
581 |
|
Lines 579-581
sub ParsePatronAttributes {
Link Here
|
579 |
|
584 |
|
580 |
return \@attributes; |
585 |
return \@attributes; |
581 |
} |
586 |
} |
582 |
- |
587 |
|
|
|
588 |
1; |