From ca66b0d0633c9a46aee942753036f578e965278f Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Wed, 25 Nov 2020 10:46:01 -0800 Subject: [PATCH] LP1901930 SIP mediator continued Signed-off-by: Bill Erickson --- Open-ILS/examples/fm_IDL.xml | 18 +++++++++++- .../server/admin-server-splash.component.html | 2 ++ .../src/app/staff/admin/server/routing.module.ts | 5 ++++ .../lib/OpenILS/Application/SIP2/Checkout.pm | 14 ++++++++-- .../lib/OpenILS/Application/SIP2/Payment.pm | 18 ++++++++---- .../src/sql/Pg/upgrade/XXXX.schema.sip-config.sql | 32 ++++++++++++++++++++++ 6 files changed, 79 insertions(+), 10 deletions(-) diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 3157ae1197..528a125deb 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -13522,7 +13522,23 @@ SELECT usr, - + + + + + + + + + + + + + + diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/admin-server-splash.component.html b/Open-ILS/src/eg2/src/app/staff/admin/server/admin-server-splash.component.html index 42fb9e3174..b1fd867eb8 100644 --- a/Open-ILS/src/eg2/src/app/staff/admin/server/admin-server-splash.component.html +++ b/Open-ILS/src/eg2/src/app/staff/admin/server/admin-server-splash.component.html @@ -92,6 +92,8 @@ routerLink="/staff/admin/server/config/remoteauth_profile"> + import('./sip/account.module').then(m => m.SipAccountModule) }, { + path: 'sip/screen_message', + component: BasicAdminPageComponent, + data: [{schema: 'sip', + table: 'screen_message', readonlyFields: 'key'}] +}, { path: ':schema/:table', component: BasicAdminPageComponent }]; diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/SIP2/Checkout.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/SIP2/Checkout.pm index a739d0d22d..ab3b73f9b1 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/SIP2/Checkout.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/SIP2/Checkout.pm @@ -126,11 +126,19 @@ sub perform_checkout { } if ($textcode eq 'OPEN_CIRCULATION_EXISTS' ) { - # TODO: messages - $circ_details->{screen_msg} = 'This item is already checked out'; + my $msg = $session->editor + ->retrieve_sip_screen_message('checkout.open_circ_exists'); + + $circ_details->{screen_msg} = + $msg ? $msg->message : 'This item is already checked out'; } else { - $circ_details->{screen_msg} = # TODO messages / renew + + my $msg = + $session->editor + ->retrieve_sip_screen_message('checkout.patron_not_allowed'); + + $circ_details->{screen_msg} = $msg ? $msg->message : 'Patron is not allowed to checkout the selected item'; } } diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/SIP2/Payment.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/SIP2/Payment.pm index 145d46a453..bb8b85b869 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/SIP2/Payment.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/SIP2/Payment.pm @@ -54,8 +54,10 @@ sub pay_one_transaction { return unless $pay_amount > 0; if ($pay_amount > $xact->balance_owed) { - # TODO strings - $details->{screen_msg} = 'Overpayment not allowed'; + my $msg = $session->editor + ->retrieve_sip_screen_message('payment.overpayment_not_allowed'); + + $details->{screen_msg} = $msg ? $msg->message : 'Overpayment not allowed'; return; } @@ -74,8 +76,10 @@ sub pay_multi_transactions { $session->editor->authtoken, $user->id); if (!$xacts || !@$xacts) { # nothing to pay - # TODO: i18n - $details->{screen_msg} = 'Bill not found'; + my $msg = $session->editor-> + retrieve_sip_screen_message('payment.transaction_not_found'); + + $details->{screen_msg} = $msg ? $msg->message : 'Bill not found'; return; } @@ -117,8 +121,10 @@ sub pay_multi_transactions { } if ($amount_remaining > 0) { - # TODO strings - $details->{screen_msg} = 'Overpayment not allowed'; + my $msg = $session->editor + ->retrieve_sip_screen_message('payment.overpayment_not_allowed'); + + $details->{screen_msg} = $msg ? $msg->message : 'Overpayment not allowed'; return; } diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.sip-config.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.sip-config.sql index 16e08cfb9f..6cc27778ea 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.sip-config.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.sip-config.sql @@ -49,6 +49,11 @@ CREATE TABLE sip.session ( create_time TIMESTAMPTZ NOT NULL DEFAULT NOW() ); +CREATE TABLE sip.screen_message ( + key TEXT PRIMARY KEY, + message TEXT NOT NULL +); + -- SEED DATA INSERT INTO actor.passwd_type (code, name, login, crypt_algo, iter_count) @@ -154,6 +159,33 @@ VALUES ( 'sipset', 'description') ); +INSERT INTO sip.screen_message (key, message) VALUES ( + 'checkout.open_circ_exists', + oils_i18n_gettext( + 'checkout.open_circ_exists', + 'This item is already checked out', + 'sipsm', 'message') +), ( + 'checkout.patron_not_allowed', + oils_i18n_gettext( + 'checkout.patron_not_allowed', + 'Patron is not allowed to checkout the selected item', + 'sipsm', 'message') +), ( + 'payment.overpayment_not_allowed', + oils_i18n_gettext( + 'payment.overpayment_not_allowed', + 'Overpayment not allowed', + 'sipsm', 'message') +), ( + 'payment.transaction_not_found', + oils_i18n_gettext( + 'payment.transaction_not_found', + 'Bill not found', + 'sipsm', 'message') +); + + /* EXAMPLE SETTINGS -- 2.11.0