Bug 14642: Add logging for Holds
This patch adds logging for several holds actions. Specifically for: - CREATE - CANCEL - DELETE - RESUME - SUSPEND - MODIFY To test: - Enable the HoldsLog syspref - Add a hold on a record/item => SUCCESS: The log view shows the CREATE action - Click on the <Suspend> button => SUCCESS: The log view shows the SUSPEND action - Click on the <Unsuspend> button => SUCCESS: The log view shows the RESUME action - Click on the red cross, to delete the hold => SUCCESS: The log view shows the CANCEL action Note: The DELETE action is logged when DelMember is called, with bug 16819 patches applied. Sponsored-by: NEKLS Signed-off-by: Liz Rea <liz@catalyst.net.nz> I also wonder about this going in defaulted on, but since the other logs are as well it seems ok to me. Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
parent
a6bc706ad1
commit
d1eb706153
|
|
@ -140,6 +140,7 @@ sub GetLogStatus {
|
|||
my %hash;
|
||||
$hash{BorrowersLog} = C4::Context->preference("BorrowersLog");
|
||||
$hash{CataloguingLog} = C4::Context->preference("CataloguingLog");
|
||||
$hash{HoldsLog} = C4::Context->preference("HoldsLog");
|
||||
$hash{IssueLog} = C4::Context->preference("IssueLog");
|
||||
$hash{ReturnLog} = C4::Context->preference("ReturnLog");
|
||||
$hash{SubscriptionLog} = C4::Context->preference("SubscriptionLog");
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ use C4::Accounts;
|
|||
use C4::Members::Messaging;
|
||||
use C4::Members qw();
|
||||
use C4::Letters;
|
||||
use C4::Log;
|
||||
|
||||
use Koha::DateUtils;
|
||||
use Koha::Calendar;
|
||||
|
|
@ -46,6 +47,7 @@ use Koha::ItemTypes;
|
|||
|
||||
use List::MoreUtils qw( firstidx any );
|
||||
use Carp;
|
||||
use Data::Dumper;
|
||||
|
||||
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
|
||||
|
||||
|
|
@ -212,6 +214,10 @@ sub AddReserve {
|
|||
itemtype => $itemtype,
|
||||
}
|
||||
)->store();
|
||||
|
||||
logaction( 'HOLDS', 'CREATE', $hold->id, Dumper($hold->unblessed) )
|
||||
if C4::Context->preference('HoldsLog');
|
||||
|
||||
my $reserve_id = $hold->id();
|
||||
|
||||
# add a reserve fee if needed
|
||||
|
|
@ -1070,6 +1076,11 @@ sub CancelReserve {
|
|||
|
||||
my $reserve = GetReserve( $reserve_id );
|
||||
if ($reserve) {
|
||||
|
||||
my $hold = Koha::Holds->find( $reserve_id );
|
||||
logaction( 'HOLDS', 'CANCEL', $hold->reserve_id, Dumper($hold->unblessed) )
|
||||
if C4::Context->preference('HoldsLog');
|
||||
|
||||
my $query = "
|
||||
UPDATE reserves
|
||||
SET cancellationdate = now(),
|
||||
|
|
@ -1166,6 +1177,8 @@ sub ModReserve {
|
|||
}
|
||||
elsif ($rank =~ /^\d+/ and $rank > 0) {
|
||||
my $hold = Koha::Holds->find($reserve_id);
|
||||
logaction( 'HOLDS', 'MODIFY', $hold->reserve_id, Dumper($hold->unblessed) )
|
||||
if C4::Context->preference('HoldsLog');
|
||||
|
||||
$hold->set(
|
||||
{
|
||||
|
|
|
|||
23
Koha/Hold.pm
23
Koha/Hold.pm
|
|
@ -20,8 +20,10 @@ package Koha::Hold;
|
|||
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::Patrons;
|
||||
|
|
@ -62,6 +64,9 @@ sub suspend_hold {
|
|||
|
||||
$self->store();
|
||||
|
||||
logaction( 'HOLDS', 'SUSPEND', $self->reserve_id, Dumper($self->unblessed) )
|
||||
if C4::Context->preference('HoldsLog');
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
|
|
@ -79,9 +84,27 @@ sub resume {
|
|||
|
||||
$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 ) = @_;
|
||||
|
||||
logaction( 'HOLDS', 'DELETE', $self->reserve_id, Dumper($self->unblessed) )
|
||||
if C4::Context->preference('HoldsLog');
|
||||
|
||||
return $self->SUPER::delete($self);
|
||||
}
|
||||
|
||||
=head3 waiting_expires_on
|
||||
|
||||
Returns a DateTime for the date a waiting holds expires on.
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
[% CASE 'MEMBERS' %]Patrons
|
||||
[% CASE 'ACQUISITIONS' %]Acquisitions
|
||||
[% CASE 'SERIAL' %]Serials
|
||||
[% CASE 'HOLDS' %]Holds
|
||||
[% CASE 'CIRCULATION' %]Circulation
|
||||
[% CASE 'LETTER' %]Letter
|
||||
[% CASE 'FINES' %]Fines
|
||||
|
|
@ -41,6 +42,9 @@
|
|||
[% CASE 'ISSUE' %]Checkout
|
||||
[% CASE 'RETURN' %]Return
|
||||
[% CASE 'CREATE' %]Create
|
||||
[% CASE 'CANCEL' %]Cancel
|
||||
[% CASE 'RESUME' %]Resume
|
||||
[% CASE 'SUSPEND' %]Suspend
|
||||
[% CASE 'RENEW' %]Renew
|
||||
[% CASE 'CHANGE PASS' %]Change password
|
||||
[% CASE 'ADDCIRCMESSAGE' %]Add circulation message
|
||||
|
|
@ -94,7 +98,7 @@
|
|||
[% ELSE %]
|
||||
<option value="">All</option>
|
||||
[% END %]
|
||||
[% FOREACH modx IN [ 'CATALOGUING' 'AUTHORITIES' 'MEMBERS' 'ACQUISITIONS' 'SERIAL' 'CIRCULATION' 'LETTER' 'FINES' 'SYSTEMPREFERENCE' 'CRONJOBS', 'REPORTS' ] %]
|
||||
[% FOREACH modx IN [ 'CATALOGUING' 'AUTHORITIES' 'MEMBERS' 'ACQUISITIONS' 'SERIAL' 'HOLDS' 'CIRCULATION' 'LETTER' 'FINES' 'SYSTEMPREFERENCE' 'CRONJOBS', 'REPORTS' ] %]
|
||||
[% IF modules.grep(modx).size %]
|
||||
<option value="[% modx %]" selected="selected">[% PROCESS translate_log_module module=modx %]</option>
|
||||
[% ELSE %]
|
||||
|
|
@ -112,7 +116,7 @@
|
|||
<option value="">All</option>
|
||||
[% END %]
|
||||
|
||||
[% FOREACH actx IN [ 'ADD' 'DELETE' 'MODIFY' 'ISSUE' 'RETURN' 'RENEW' 'CREATE' 'ADDCIRCMESSAGE' 'DELCIRCMESSAGE' 'CHANGE PASS' 'Run' ] %]
|
||||
[% FOREACH actx IN [ 'ADD' 'DELETE' 'MODIFY' 'ISSUE' 'RETURN' 'RENEW' 'CREATE' 'CANCEL' 'SUSPEND' 'RESUME' 'ADDCIRCMESSAGE' 'DELCIRCMESSAGE' 'CHANGE PASS' 'Run' ] %]
|
||||
[% IF actions.grep(actx).size %]
|
||||
<option value="[% actx %]" selected="selected">[% PROCESS translate_log_action action=actx %]</option>
|
||||
[% ELSE %]
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with Koha; if not, see <http://www.gnu.org/licenses>.
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Modern::Perl;
|
||||
|
||||
use CGI qw ( -utf8 );
|
||||
use C4::Auth; # checkauth, getborrowernumber.
|
||||
use C4::Koha;
|
||||
|
|
|
|||
Loading…
Reference in New Issue