Bug 42030: (follow-up) Don't diff undefined fields
This patch updates the diff for ADD/CREATE and DELETE logactions to
exclude undefined fields from the diff.
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit d095599447)
Signed-off-by: Jacob O'Mara <Jacob.omara@openfifth.co.uk>
This commit is contained in:
parent
4fdcd10eeb
commit
890f03c3a2
19
C4/Log.pm
19
C4/Log.pm
|
|
@ -123,13 +123,28 @@ sub logaction {
|
|||
if ( $actionname =~ /^(ADD|CREATE)$/ ) {
|
||||
|
||||
# Log diff against empty hashref for newly created objects
|
||||
$updated = $is_object ? $original->unblessed : $original;
|
||||
$updated = $is_object ? $original->unblessed : $original;
|
||||
for my $key ( keys %{$updated} ) {
|
||||
|
||||
if ( defined $updated->{$key} && $updated->{$key} ne '' ) {
|
||||
$updated->{$key} = "$updated->{$key}" if blessed( $updated->{$key} );
|
||||
} else {
|
||||
delete $updated->{$key};
|
||||
}
|
||||
}
|
||||
$original = {};
|
||||
} elsif ( $actionname eq 'DELETE' ) {
|
||||
|
||||
# Log diff for deleted objects against empty hashref
|
||||
$original = $is_object ? $original->unblessed : $original;
|
||||
$updated = {};
|
||||
for my $key ( keys %{$original} ) {
|
||||
if ( defined $original->{$key} && $original->{$key} ne '' ) {
|
||||
$original->{$key} = "$original->{$key}" if blessed( $original->{$key} );
|
||||
} else {
|
||||
delete $original->{$key};
|
||||
}
|
||||
}
|
||||
$updated = {};
|
||||
} else {
|
||||
|
||||
# Log diff against hashref of pre-modified object if passed in
|
||||
|
|
|
|||
Loading…
Reference in New Issue