my $event_id = shift;
my $e = OpenILS::Application::Trigger::Event->new($event_id);
- OpenILS::Application::Trigger::Event->ClearObjectCache();
if ($e->validate->valid) {
$logger->info("trigger: Event is valid, reacting...");
}
$e->editor->disconnect;
+ OpenILS::Application::Trigger::Event->ClearObjectCache();
return {
valid => $e->valid,
my $events = shift;
my $e = OpenILS::Application::Trigger::EventGroup->new(@$events);
- OpenILS::Application::Trigger::Event->ClearObjectCache();
if ($e->validate->valid) {
$logger->info("trigger: Event group is valid, reacting...");
}
$e->editor->disconnect;
+ OpenILS::Application::Trigger::Event->ClearObjectCache();
return {
valid => $e->valid,
for my $did ( keys %_object_by_path_cache ) {
my $phash = $_object_by_path_cache{$did};
for my $path ( keys %$phash ) {
- my $shash = $phash{$path};
+ my $shash = $$phash{$path};
for my $step ( keys %$shash ) {
- my $fhash = $shash{$step};
+ my $fhash = $$shash{$step};
for my $ffield ( keys %$fhash ) {
- my $lhash = $fhash{$ffield};
+ my $lhash = $$fhash{$ffield};
for my $lfield ( keys %$lhash ) {
delete $$lhash{$lfield};
}
$context->$lfield()
);
- $_object_by_path_cache{$self->event->event_def->id}{join('.',@$path)}{$ffield}{$context->$lfield()} ||= $obj;
+ $_object_by_path_cache{$self->event->event_def->id}{join('.',@$path)}{$step}{$ffield}{$context->$lfield()} ||= $obj;
if ($self->standalone) {
$ed->xact_rollback || return undef;