Skip to content
Snippets Groups Projects
Commit d921496d authored by Andreas Romeyke's avatar Andreas Romeyke
Browse files

- fixed event handling respecting age of events, complete rewrite of...

- fixed event handling respecting age of events, complete rewrite of _handle_deleted_or_purged_aips()
parent 56706772
No related branches found
No related tags found
No related merge requests found
...@@ -615,25 +615,21 @@ sub check_if_file_is_readable($filename) { ...@@ -615,25 +615,21 @@ sub check_if_file_is_readable($filename) {
sub _handle_deleted_or_purged_aips($xp, $ret) { sub _handle_deleted_or_purged_aips($xp, $ret) {
my $amdsec_ie = $xp->findnodes($compiled_xpath_amdSec_ie)->[0]; my $amdsec_ie = $xp->findnodes($compiled_xpath_amdSec_ie)->[0];
my $is_deleted; my $latest_ctx = (
foreach my $state (qw(purged deleted)) { sort {
my $dnx_ctx; my $adate = get_anydelete_date($xp, $a);
if ($state eq 'purged') { my $bdate = get_anydelete_date($xp, $b);
$dnx_ctx = $xp->findnodes($xpath_if_purged_expr, $amdsec_ie)->[0]; $bdate cmp $adate
} } $xp->findnodes($xpath_if_anydelete_event_expr, $amdsec_ie)
else { )[0]; # first element of list
$dnx_ctx = $xp->findnodes($xpath_if_deleted_expr, $amdsec_ie)->[0]; my $is_deleted = has_anydelete_entries($xp, $latest_ctx);
} if ($is_deleted) {
$is_deleted = has_purged_entries($xp, $dnx_ctx); my $state = get_anydelete_state($xp, $latest_ctx);
if ($is_deleted) { $ret->{$state}->{state} = $state;
my $purged_state = get_purged_state($xp, $dnx_ctx); $ret->{$state}->{reason} = get_anydelete_reason($xp, $latest_ctx);
$ret->{$state}->{state} = $purged_state; $ret->{$state}->{note} = get_anydelete_note($xp, $latest_ctx);
$ret->{$state}->{reason} = get_purged_reasons($xp, $dnx_ctx)->[0]; $ret->{$state}->{date} = get_anydelete_date($xp, $latest_ctx);
$ret->{$state}->{note} = get_purged_notes($xp, $dnx_ctx)->[0]; $ret->{$state}->{authorized_by} = get_anydelete_authorized_by($xp, $latest_ctx);
$ret->{$state}->{date} = get_purged_dates($xp, $dnx_ctx)->[0];
$ret->{$state}->{authorized_by} = get_purged_authorized_by($xp, $dnx_ctx)->[0];
if ($state eq "purged") {last;}
}
} }
return $is_deleted; return $is_deleted;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment