Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions lib/bin/issues_audit2 → bin/issues_audit2
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/perl -w

use FindBin;
use lib "$FindBin::Bin/../../perl_lib";

use lib "$FindBin::Bin/../../../perl_lib";
######################################################################
#
#
Expand Down Expand Up @@ -141,6 +140,8 @@ sub _set_item_issues($$);
#}

my $ds = $session->get_archive()->get_dataset( 'eprint' );
my %ids = map { $_ => 1 } @{$ds->search->ids};

my $list;
if( @ARGV )
{
Expand Down Expand Up @@ -262,9 +263,12 @@ sub _set_item_issues($$)
# clone, otherwise we can't detect changes
$current_issues = EPrints::Utils::clone( $current_issues );

my @updated_issues;

# update existing issues
foreach my $issue (@$current_issues)
{
next if $issue->{type} eq "duplicate_issn";
my $new_issue = delete $issues_map{$issue->{id}};
if( defined $new_issue )
{
Expand All @@ -276,21 +280,27 @@ sub _set_item_issues($$)
{
## $issue->{status} = "autoresolved";
}

# check current issue still refers to an existing eprint
my $item_id = substr $issue->{id}, rindex( $issue->{id}, "_" )+1 ;
if( exists( $ids{$item_id} ) )
{
push @updated_issues, $issue;
}
}

# append all other new issues
foreach my $new_issue (@$new_issues)
{
next if !exists $issues_map{$new_issue->{id}};
push @$current_issues, $new_issue;
push @updated_issues, $new_issue;
}

$self->set_value( "item_issues2", $current_issues ); # key difference
$self->set_value( "item_issues2", \@updated_issues ); # key difference
}




=head1 COPYRIGHT

=for COPYRIGHT BEGIN
Expand Down
1 change: 0 additions & 1 deletion cfg/namedsets/issues2
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# register issues2 plugins here
duplicate_doi
duplicate_isbn
duplicate_issn
duplicate_title
459 changes: 184 additions & 275 deletions issues2.epm

Large diffs are not rendered by default.

Loading