Bugzilla – Attachment 86669 Details for
Bug 22043
SIP Checkin Response alert flag set to often set to Y incorrectly
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 22043: (QA follow-up) Add parameter to control behavior
Bug-22043-QA-follow-up-Add-parameter-to-control-be.patch (text/plain), 5.96 KB, created by
Marcel de Rooy
on 2019-03-15 11:06:13 UTC
(
hide
)
Description:
Bug 22043: (QA follow-up) Add parameter to control behavior
Filename:
MIME Type:
Creator:
Marcel de Rooy
Created:
2019-03-15 11:06:13 UTC
Size:
5.96 KB
patch
obsolete
>From 962489b513a72dfcee8f3234ed8b2fc9225d8bbb Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Thu, 28 Feb 2019 16:13:11 -0500 >Subject: [PATCH] Bug 22043: (QA follow-up) Add parameter to control behavior >Content-Type: text/plain; charset=utf-8 > >Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >--- > C4/SIP/ILS.pm | 4 ++-- > C4/SIP/ILS/Transaction/Checkin.pm | 13 ++++++++++++- > C4/SIP/Sip/MsgType.pm | 2 +- > etc/SIPconfig.xml | 1 + > t/db_dependent/SIP/Message.t | 21 ++++++++++++++++++++- > 5 files changed, 36 insertions(+), 5 deletions(-) > >diff --git a/C4/SIP/ILS.pm b/C4/SIP/ILS.pm >index 1bd23c6429..b115dcd1a1 100644 >--- a/C4/SIP/ILS.pm >+++ b/C4/SIP/ILS.pm >@@ -197,7 +197,7 @@ sub test_cardnumber_compare { > } > > sub checkin { >- my ( $self, $item_id, $trans_date, $return_date, $current_loc, $item_props, $cancel, $checked_in_ok ) = @_; >+ my ( $self, $item_id, $trans_date, $return_date, $current_loc, $item_props, $cancel, $checked_in_ok, $cv_triggers_alert ) = @_; > my ( $patron, $item, $circ ); > > $circ = C4::SIP::ILS::Transaction::Checkin->new(); >@@ -206,7 +206,7 @@ sub checkin { > $circ->item( $item = C4::SIP::ILS::Item->new($item_id) ); > > if ($item) { >- $circ->do_checkin( $current_loc, $return_date ); >+ $circ->do_checkin( $current_loc, $return_date, $cv_triggers_alert ); > } > else { > $circ->alert(1); >diff --git a/C4/SIP/ILS/Transaction/Checkin.pm b/C4/SIP/ILS/Transaction/Checkin.pm >index 77eb36161f..40dda064ac 100644 >--- a/C4/SIP/ILS/Transaction/Checkin.pm >+++ b/C4/SIP/ILS/Transaction/Checkin.pm >@@ -47,6 +47,8 @@ sub do_checkin { > my $self = shift; > my $branch = shift; > my $return_date = shift; >+ my $cv_triggers_alert = shift; >+ > if (!$branch) { > $branch = 'SIP2'; > } >@@ -66,6 +68,8 @@ sub do_checkin { > > $debug and warn "do_checkin() calling AddReturn($barcode, $branch)"; > my ($return, $messages, $issue, $borrower) = AddReturn($barcode, $branch, undef, undef, $return_date); >+ $self->alert(!$return); >+ # ignoring messages: NotIssued, WasLost, WasTransfered > > # biblionumber, biblioitemnumber, itemnumber > # borrowernumber, reservedate, branchcode >@@ -115,7 +119,14 @@ sub do_checkin { > $self->{item}->hold_patron_id( $messages->{ResFound}->{borrowernumber} ); > $self->{item}->destination_loc( $messages->{ResFound}->{branchcode} ); > } >- $self->alert(defined $self->alert_type); # alert_type could be "00", hypothetically >+ >+ my $alert = defined $self->alert_type; >+ if ( $cv_triggers_alert ) { >+ $self->alert($alert); # Overwrites existing alert value, should set to 0 if there is no alert type >+ } else { >+ $self->alert($alert) if $alert; # Doesn't affect alert value unless an alert type is set >+ } >+ > $self->ok($return); > } > >diff --git a/C4/SIP/Sip/MsgType.pm b/C4/SIP/Sip/MsgType.pm >index 061a2556b5..6c2e4fc98c 100644 >--- a/C4/SIP/Sip/MsgType.pm >+++ b/C4/SIP/Sip/MsgType.pm >@@ -637,7 +637,7 @@ sub handle_checkin { > syslog( "LOG_WARNING", "received no-block checkin from terminal '%s'", $account->{id} ); > $status = $ils->checkin_no_block( $item_id, $trans_date, $return_date, $item_props, $cancel ); > } else { >- $status = $ils->checkin( $item_id, $trans_date, $return_date, $my_branch, $item_props, $cancel, $account->{checked_in_ok} ); >+ $status = $ils->checkin( $item_id, $trans_date, $return_date, $my_branch, $item_props, $cancel, $account->{checked_in_ok}, $account->{cv_triggers_alert} ); > } > > $patron = $status->patron; >diff --git a/etc/SIPconfig.xml b/etc/SIPconfig.xml >index 7a2fd65cc3..1e17ef0338 100644 >--- a/etc/SIPconfig.xml >+++ b/etc/SIPconfig.xml >@@ -53,6 +53,7 @@ > send_patron_home_library_in_af="1" > cv_send_00_on_success="1" > ct_always_send="1" >+ cv_triggers_alert="1" > ae_field_template="[% patron.surname %][% IF patron.firstname %], [% patron.firstname %][% END %]" > da_field_template="[% patron.surname %][% IF patron.firstname %], [% patron.firstname %][% END %]" > av_field_template="[% accountline.description %] [% accountline.amountoutstanding | format('%.2f') %]" > >diff --git a/t/db_dependent/SIP/Message.t b/t/db_dependent/SIP/Message.t >index 7bf745a847..dbab48efd3 100755 >--- a/t/db_dependent/SIP/Message.t >+++ b/t/db_dependent/SIP/Message.t >@@ -67,7 +67,7 @@ subtest 'Testing Patron Info Request V2' => sub { > subtest 'Checkin V2' => sub { > my $schema = Koha::Database->new->schema; > $schema->storage->txn_begin; >- plan tests => 25; >+ plan tests => 27; > $C4::SIP::Sip::protocol_version = 2; > test_checkin_v2(); > $schema->storage->txn_rollback; >@@ -378,6 +378,25 @@ sub test_checkin_v2 { > $server->{account}->{checked_in_ok} = 0; > $server->{account}->{cv_send_00_on_success} = 0; > >+ t::lib::Mocks::mock_preference( 'RecordLocalUseOnReturn', '1' ); >+ $server->{account}->{checked_in_ok} = 1; >+ $server->{account}->{cv_triggers_alert} = 0; >+ undef $response; >+ $msg = C4::SIP::Sip::MsgType->new( $siprequest, 0 ); >+ $msg->handle_checkin( $server ); >+ $respcode = substr( $response, 0, 2 ); >+ is( substr( $response, 5, 1 ), 'Y', 'Checkin without CV triggers alert flag when cv_triggers_alert is off' ); >+ t::lib::Mocks::mock_preference( 'RecordLocalUseOnReturn', '0' ); >+ $server->{account}->{cv_triggers_alert} = 1; >+ undef $response; >+ $msg = C4::SIP::Sip::MsgType->new( $siprequest, 0 ); >+ $msg->handle_checkin( $server ); >+ $respcode = substr( $response, 0, 2 ); >+ is( substr( $response, 5, 1 ), 'N', 'Checkin without CV does not trigger alert flag when cv_triggers_alert is on' ); >+ $server->{account}->{checked_in_ok} = 0; >+ $server->{account}->{cv_triggers_alert} = 0; >+ t::lib::Mocks::mock_preference( 'RecordLocalUseOnReturn', '1' ); >+ > $server->{account}->{checked_in_ok} = 1; > $server->{account}->{ct_always_send} = 0; > undef $response; >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 22043
:
83468
|
83578
|
85884
|
85897
|
86668
| 86669