Miscellaneous Config Options/get users owned eprints
This example should work with v3.4.6+.
Prior to v3.4.6 defining this method resulted in unexpected behaviour when eprint_status checkboxes were used on the Manage deposits page.
Example
$c->{get_users_owned_eprints} = sub { my( $session, $user, %opts ) = @_; # for non-editorial accounts, return the normal list if( $user->get_type ne "editor" ) { return $user->owned_eprints_list_actual( %opts ); } # only interested in editor accounts now # allow editors to see their items, and items from a specific userid e.g. 99999 my $extra_userid = 99999; my $searchexp = $opts{dataset}->prepare_search( %opts ); $searchexp->add_field( $opts{dataset}->field( "userid" ), $user->id . " $extra_userid", "IN", "ANY" ); return $searchexp->perform_search; };
Prior to v3.4.6, this function was passed a different set of parameters, thus search options had to be hard-coded:
# v3.4.5 and earlier $c->{get_users_owned_eprints} = sub { my( $session, $user, $dataset ) = @_; my $searchexp = new EPrints::Search( session => $session, dataset => $dataset, # plus any other options ); # Add fields to $searchexp here return $searchexp->perform_search; };