+ my @modified_atypes = uniq( map { $_->code } @{ $pm->{extended_attributes} } );
+ my $modified_attributes;
+
+ foreach my $type (@modified_atypes) {
+ my $type_obj = Koha::Patron::Attribute::Types->find($type);
+ my @before = Koha::Patron::Attributes->search(
+ { borrowernumber => $pm->{borrowernumber}, code => $type } );
+ my @after = grep { $_->code eq $type } @{ $pm->{extended_attributes} };
+ push @{$modified_attributes}, { type => $type_obj, before => \@before, after => \@after };
+ }
+
+ $borrowers->{ $pm->{borrowernumber} } = Koha::Patrons->find($pm->{borrowernumber})->unblessed;
+ $borrowers->{ $pm->{borrowernumber} }->{modified_attributes} = $modified_attributes;