1 package OpenILS::Application::Trigger::Cleanup;
2 use strict; use warnings;
3 use OpenILS::Utils::CStoreEditor q/:funcs/;
4 use OpenSRF::Utils::Logger qw/:logger/;
5 use OpenILS::Utils::Fieldmapper;
7 sub fourty_two { return 42 }
8 sub NOOP_True { return 1 }
9 sub NOOP_False { return 0 }
11 sub DeleteTempBiblioBucket {
13 my $e = new_editor(xact => 1);
14 my $buckets = $env->{target};
16 for my $bucket (@$buckets) {
18 foreach my $item (@{ $bucket->items }) {
19 $e->delete_container_biblio_record_entry_bucket_item($item);
22 $e->delete_container_biblio_record_entry_bucket($bucket);
25 $e->commit or $e->die_event;
30 # This is really more of an auxillary reactor
31 sub CreateHoldNotification {
32 my ($self, $env) = @_;
33 my $e = new_editor(xact => 1);
34 my $holds = $env->{target};
36 my $event_def = (ref $env->{event} eq 'ARRAY') ?
37 $env->{event}->[0]->event_def : # event_def is grouped
38 $env->{event}->event_def;
40 for my $hold (@$holds) {
42 my $notify = Fieldmapper::action::hold_notification->new;
43 $notify->hold($hold->id);
44 $notify->method($event_def->reactor);
46 unless($e->create_action_hold_notification($notify)) {
52 return 1 if $e->commit;