my $hidden_copy_statuses;
my $hidden_copy_locations;
my $avail_copy_statuses;
-our $enabled = {};
-sub child_init {
+# NOTE calling cstore functions in child_init is dicey because child_init
+# may be run before cstore is ready for requests. Use a local init() instead.
+my $init_done = 0;
+sub init {
my $class = shift;
+ return if $init_done;
+ $init_done = 1;
+
my $e = new_editor();
$bib_fields = $e->retrieve_all_elastic_bib_field;
my ($self, $client, $query, $options) = @_;
$options ||= {};
+ init();
+
my $staff = ($self->api_name =~ /staff/);
return {count => 0, ids => []} unless $query && $query->{query};