1 package OpenILS::SIP::Transaction::Hold;
2 use warnings; use strict;
4 use Sys::Syslog qw(syslog);
6 use OpenILS::SIP::Transaction;
7 use OpenILS::Application::AppUtils;
8 my $U = 'OpenILS::Application::AppUtils';
10 our @ISA = qw(OpenILS::SIP::Transaction);
19 my $self = $class->SUPER::new(@_);
21 $self->{_permitted}->{$_} = $fields{$_} for keys %fields;
22 @{$self}{keys %fields} = values %fields;
24 return bless $self, $class;
31 my $resp = $U->simplereq(
33 'open-ils.circ.hold.cancel', $self->{authtoken},
34 $self->hold->id, 7 # cancel via SIP
37 if( my $code = $U->event_code($resp) ) {
38 syslog('LOG_INFO', "OILS: Hold cancel failed with event $code : " . $resp->{textcode});
44 syslog('LOG_INFO', "OILS: Hold cancellation succeeded for hold " . $self->hold->id);
49 $self->item($sip->find_item($self->hold->current_copy->barcode))
50 if $self->hold->current_copy;
56 # cancelled holds have no queue position
61 # cancelled holds have no pickup location
66 # cancelled holds have no pickup location