use Modern::Perl;
return {
bug_number => "34643",
description => "Split CircConfirmItemParts for self-checkout and self-checkin",
up => sub {
my ($args) = @_;
my ( $dbh, $out ) = @$args{qw(dbh out)};
my $val = C4::Context->preference('CircConfirmItemParts');
$dbh->do(
q{
INSERT IGNORE INTO systempreferences VALUES
("CircConfirmItemPartsSCO", ?, NULL, "Deny checkout of multipart items for self-checkout", "Yes/No" ),
("CircConfirmItemPartsSCI", ?, NULL, "Deny checkout of multipart items for self-checkin", "Yes/No");
}, undef, $val, $val
);
say $out "Added new system preference 'CircConfirmItemPartsSCO'";
say $out "Added new system preference 'CircConfirmItemPartsSCI'";
},
};
1: "Require"
0: "Don't require"
- staff to confirm that all parts of an item are present at checkin/checkout.
-
- pref: CircConfirmItemPartsSCO
choices:
1: "Don't allow"
0: "Allow"
- multi-part items to be checked out via the web-based self checkout module.
- pref: CircConfirmItemPartsSCI
- multi-part items to be checked in via the web-based self check-in or self checkout modules.
- pref: AutoSwitchPatron
my ( $success, $messages, $checkout, $patron );
my $item = Koha::Items->find( { barcode => $barcode } );
my $human_required = 0;
if ( C4::Context->preference("CircConfirmItemParts")
if ( C4::Context->preference("CircConfirmItemPartsSCI")
&& defined($item)
&& $item->materials )
{
foreach my $barcode (@$barcodes) {
if ( $success && C4::Context->preference("CircConfirmItemParts") ) {
if ( $success && C4::Context->preference("CircConfirmItemPartsSCI") ) {
if ( defined($item)
0,
C4::Context->preference("AllowItemsOnHoldCheckoutSCO")
delete $needconfirm->{ADDITIONAL_MATERIALS} unless C4::Context->preference("CircConfirmItemPartsSCO");
my $issue_error;
if ( $confirm_required = scalar keys %$needconfirm ) {
for my $error (