<link field="account" reltype="has_a" key="id" map="" class="sipacc"/>
</links>
</class>
-
+ <class id="sipsm" controller="open-ils.cstore open-ils.pcrud"
+ oils_obj:fieldmapper="sip::screen_message"
+ oils_persist:tablename="sip.screen_message"
+ reporter:label="SIP Screen Message">
+ <fields oils_persist:primary="key">
+ <field name="key" reporter:datatype="text" reporter:label="Message Key"/>
+ <field name="message" reporter:datatype="text" reporter:label="Message" oils_persist:i18n="true"/>
+ </fields>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="SIP_ADMIN" global_required="true"/>
+ <retrieve />
+ <update permission="SIP_ADMIN" global_required="true"/>
+ <delete permission="SIP_ADMIN" global_required="true"/>
+ </actions>
+ </permacrud>
+ </class>
<!-- ********************************************************************************************************************* -->
routerLink="/staff/admin/server/config/remoteauth_profile"></eg-link-table-link>
<eg-link-table-link i18n-label label="SIP Accounts"
routerLink="/staff/admin/server/sip/account"></eg-link-table-link>
+ <eg-link-table-link i18n-label label="SIP Screen Messages"
+ routerLink="/staff/admin/server/sip/screen_message"></eg-link-table-link>
<eg-link-table-link i18n-label label="SMS Carriers"
routerLink="/staff/admin/server/config/sms_carrier"></eg-link-table-link>
<eg-link-table-link i18n-label label="User Activity Types"
loadChildren: () =>
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
}];
}
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';
}
}
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;
}
$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;
}
}
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;
}
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)
'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