__PACKAGE__->add_search_filter( 'estimation_strategy' );
__PACKAGE__->add_search_modifier( 'available' );
__PACKAGE__->add_search_modifier( 'staff' );
+__PACKAGE__->add_search_modifier( 'deleted' );
__PACKAGE__->add_search_modifier( 'lucky' );
# Start from container data (bre, acn, acp): container(bre,bookbag,123,deadb33fdeadb33fdeadb33fdeadb33f)
# Limit stuff
my $limit_where = <<" SQL";
-- Filter records based on visibility
+ AND NOT bre.deleted
AND (
cbs.transcendant IS TRUE
OR
SQL
- if ($self->find_modifier('staff')) {
+
+ if ($self->find_modifier('deleted')) {
+ $limit_where = <<" SQL";
+ AND bre.deleted
+ SQL
+ } elsif ($self->find_modifier('staff')) {
$limit_where .= <<" SQL";
EXISTS(
SELECT 1 FROM asset.call_number cn
BEGIN
IF NEW.deleted IS TRUE THEN -- If this bib is deleted
- DELETE FROM metabib.metarecord_source_map WHERE source = NEW.id; -- Rid ourselves of the search-estimate-killing linkage
- DELETE FROM metabib.record_attr WHERE id = NEW.id; -- Kill the attrs hash, useless on deleted records
+ -- XXX we need to keep these around to support searches with the #deleted modifier
+ -- DELETE FROM metabib.metarecord_source_map WHERE source = NEW.id; -- Rid ourselves of the search-estimate-killing linkage
+ -- DELETE FROM metabib.record_attr WHERE id = NEW.id; -- Kill the attrs hash, useless on deleted records
DELETE FROM authority.bib_linking WHERE bib = NEW.id; -- Avoid updating fields in bibs that are no longer visible
DELETE FROM biblio.peer_bib_copy_map WHERE peer_record = NEW.id; -- Separate any multi-homed items
DELETE FROM metabib.browse_entry_def_map WHERE source = NEW.id; -- Don't auto-suggest deleted bibs