use Modern::Perl;
use Carp;
+use Data::Dumper qw(Dumper);
use C4::Context qw(preference);
+use C4::Log;
use Koha::DateUtils qw(dt_from_string);
-use Koha::Borrowers;
+use Koha::Patrons;
use Koha::Biblios;
use Koha::Items;
use Koha::Libraries;
sub suspend_hold {
my ( $self, $dt ) = @_;
+ $dt = $dt ? $dt->clone()->truncate( to => 'day' ) : undef;
+
if ( $self->is_waiting ) { # We can't suspend waiting holds
carp "Unable to suspend waiting hold!";
return $self;
}
- $dt ||= undef;
-
$self->suspend(1);
$self->suspend_until( $dt );
$self->store();
+ logaction( 'HOLDS', 'SUSPEND', $self->reserve_id, Dumper($self->unblessed) )
+ if C4::Context->preference('HoldsLog');
+
return $self;
}
$self->store();
+ logaction( 'HOLDS', 'RESUME', $self->reserve_id, Dumper($self->unblessed) )
+ if C4::Context->preference('HoldsLog');
+
return $self;
}
+=head3 delete
+
+$hold->delete();
+
+=cut
+
+sub delete {
+ my ( $self ) = @_;
+
+ my $deleted = $self->SUPER::delete($self);
+
+ logaction( 'HOLDS', 'DELETE', $self->reserve_id, Dumper($self->unblessed) )
+ if C4::Context->preference('HoldsLog');
+
+ return $deleted;
+}
+
=head3 waiting_expires_on
Returns a DateTime for the date a waiting holds expires on.
=head3 borrower
-Returns the related Koha::Borrower object for this Hold
+Returns the related Koha::Patron object for this Hold
=cut
sub borrower {
my ($self) = @_;
- $self->{_borrower} ||= Koha::Borrowers->find( $self->borrowernumber() );
+ $self->{_borrower} ||= Koha::Patrons->find( $self->borrowernumber() );
return $self->{_borrower};
}
+=head3 is_suspended
+
+my $bool = $hold->is_suspended();
+
+=cut
+
+sub is_suspended {
+ my ( $self ) = @_;
+
+ return $self->suspend();
+}
+
=head3 type
=cut
-sub type {
+sub _type {
return 'Reserve';
}