Browse Source
This enhancment adds the ability to suspend and resume individual holds from the holds table on circulation.pl and moremember.pl. The interface is inspired/cribbed from the same feature already available in the opac. Test Plan: 1) Apply this patch 2) Find a patron with holds 3) Suspend a hold with no resume date 4) Resume the suspended hold 5) Suspend a hold with a resume date 6) Resume the suspended hold Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Cathi Wiggins <CWIGGINS@ci.arcadia.ca.us> Signed-off-by: Megan Wianecki <mwianecki@mplmain.mtpl.org> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>new_12478_elasticsearch
6 changed files with 221 additions and 8 deletions
@ -0,0 +1,48 @@ |
|||
#!/usr/bin/perl |
|||
|
|||
# Copyright 2015 ByWater Solutions |
|||
# |
|||
# This file is part of Koha. |
|||
# |
|||
# Koha is free software; you can redistribute it and/or modify it under the |
|||
# terms of the GNU General Public License as published by the Free Software |
|||
# Foundation; either version 3 of the License, or (at your option) any later |
|||
# version. |
|||
# |
|||
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY |
|||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR |
|||
# A PARTICULAR PURPOSE. See the GNU General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU General Public License along |
|||
# with Koha; if not, write to the Free Software Foundation, Inc., |
|||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
|||
|
|||
use Modern::Perl; |
|||
|
|||
use CGI; |
|||
use JSON qw(to_json); |
|||
|
|||
use C4::Context; |
|||
use C4::Auth qw(check_cookie_auth); |
|||
use Koha::DateUtils qw(dt_from_string); |
|||
use Koha::Holds; |
|||
|
|||
my $input = new CGI; |
|||
|
|||
my ( $auth_status, $sessionID ) = |
|||
check_cookie_auth( $input->cookie('CGISESSID'), |
|||
{ circulate => 'circulate_remaining_permissions' } ); |
|||
|
|||
if ( $auth_status ne "ok" ) { |
|||
exit 0; |
|||
} |
|||
|
|||
binmode STDOUT, ":encoding(UTF-8)"; |
|||
print $input->header( -type => 'text/plain', -charset => 'UTF-8' ); |
|||
|
|||
my $reserve_id = $input->param('reserve_id'); |
|||
|
|||
my $hold = Koha::Holds->find( $reserve_id ); |
|||
$hold->resume(); |
|||
|
|||
print to_json( { success => !$hold->suspend() } ); |
@ -0,0 +1,51 @@ |
|||
#!/usr/bin/perl |
|||
|
|||
# Copyright 2015 ByWater Solutions |
|||
# |
|||
# This file is part of Koha. |
|||
# |
|||
# Koha is free software; you can redistribute it and/or modify it under the |
|||
# terms of the GNU General Public License as published by the Free Software |
|||
# Foundation; either version 3 of the License, or (at your option) any later |
|||
# version. |
|||
# |
|||
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY |
|||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR |
|||
# A PARTICULAR PURPOSE. See the GNU General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU General Public License along |
|||
# with Koha; if not, write to the Free Software Foundation, Inc., |
|||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
|||
|
|||
use Modern::Perl; |
|||
|
|||
use CGI; |
|||
use JSON qw(to_json); |
|||
|
|||
use C4::Context; |
|||
use C4::Auth qw(check_cookie_auth); |
|||
use Koha::DateUtils qw(dt_from_string); |
|||
use Koha::Holds; |
|||
|
|||
my $input = new CGI; |
|||
|
|||
my ( $auth_status, $sessionID ) = |
|||
check_cookie_auth( $input->cookie('CGISESSID'), |
|||
{ circulate => 'circulate_remaining_permissions' } ); |
|||
|
|||
if ( $auth_status ne "ok" ) { |
|||
exit 0; |
|||
} |
|||
|
|||
binmode STDOUT, ":encoding(UTF-8)"; |
|||
print $input->header( -type => 'text/plain', -charset => 'UTF-8' ); |
|||
|
|||
my $reserve_id = $input->param('reserve_id'); |
|||
|
|||
my $suspend_until = $input->param('suspend_until') || undef; |
|||
$suspend_until = dt_from_string( $suspend_until ) if $suspend_until; |
|||
|
|||
my $hold = Koha::Holds->find( $reserve_id ); |
|||
$hold->suspend_hold( $suspend_until ); |
|||
|
|||
print to_json( { success => $hold->suspend() } ); |
Loading…
Reference in new issue