foreach my $sitem (@{$sstr->items}) {
if ($sitem->status ne 'Expected') {
- return OpenILS::Event->new('SERIAL_STREAM_NOT_EMPTY', payload=>$id);
+ return $e->die_event(OpenILS::Event->new('SERIAL_STREAM_NOT_EMPTY', payload=>$id));
}
if ($sitem->unit && !$U->is_true($sitem->unit->deleted)) {
- return OpenILS::Event->new('SERIAL_STREAM_NOT_EMPTY', payload=>$id);
+ return $e->die_event(OpenILS::Event->new('SERIAL_STREAM_NOT_EMPTY', payload=>$id));
}
}
foreach my $sstr (@{$sdist->streams}) {
foreach my $sitem (@{$sstr->items}) {
if ($sitem->status ne 'Expected') {
- return OpenILS::Event->new('SERIAL_DISTRIBUTION_NOT_EMPTY', payload=>$id);
+ return $e->die_event(OpenILS::Event->new('SERIAL_DISTRIBUTION_NOT_EMPTY', payload=>$id));
}
if ($sitem->unit && !$U->is_true($sitem->unit->deleted)) {
- return OpenILS::Event->new('SERIAL_DISTRIBUTION_NOT_EMPTY', payload=>$id);
+ return $e->die_event(OpenILS::Event->new('SERIAL_DISTRIBUTION_NOT_EMPTY', payload=>$id));
}
}
}
return $e->die_event unless
$e->allowed("ADMIN_SERIAL_CAPTION_PATTERN", $scap->subscription->owning_lib);
- my $siss = $e->search_serial_issuance({
+ my $issuances = $e->search_serial_issuance([{
caption_and_pattern => $id
- });
+ },{
+ flesh => 2,
+ flesh_fields => {
+ siss => ['items'],
+ sitem => ['unit']
+ }
+ }]);
- return OpenILS::Event->new('SERIAL_CAPTION_AND_PATTERN_HAS_ISSUANCES', payload=>$id)
- if (@$siss);
+ foreach my $siss (@$issuances) {
+ foreach my $sitem (@{$siss->items}) {
+ if ($sitem->status ne 'Expected') {
+ return $e->die_event(OpenILS::Event->new('SERIAL_CAPTION_AND_PATTERN_NOT_EMPTY', payload=>$id));
+ }
+ if ($sitem->unit && !$U->is_true($sitem->unit->deleted)) {
+ return $e->die_event(OpenILS::Event->new('SERIAL_CAPTION_AND_PATTERN_NOT_EMPTY', payload=>$id));
+ }
+ }
+ }
$obj = $scap;
foreach my $sstr (@{$sdist->streams}) {
foreach my $sitem (@{$sstr->items}) {
if ($sitem->status ne 'Expected') {
- return OpenILS::Event->new('SERIAL_SUBSCRIPTION_NOT_EMPTY', payload=>$id);
+ return $e->die_event(OpenILS::Event->new('SERIAL_SUBSCRIPTION_NOT_EMPTY', payload=>$id));
}
if ($sitem->unit && !$U->is_true($sitem->unit->deleted)) {
- return OpenILS::Event->new('SERIAL_SUBSCRIPTION_NOT_EMPTY', payload=>$id);
+ return $e->die_event(OpenILS::Event->new('SERIAL_SUBSCRIPTION_NOT_EMPTY', payload=>$id));
}
}
}