From 63d61e7c50ec81588effd2307339bd53242536f1 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 9 Apr 2015 10:18:47 +0200 Subject: [PATCH] Bug 11759: (follow-up) Some fixes This is a squash of the following patches: Bug 11759: (follow-up) Prevent access to the batch checkout if not allowed If a user pass '&batch=1' to the url, he was allowed to access to the batch checkout page even if the patron is not in an authorised category. This patch also fixes the link to "Batch check out" from the "Details" tab (cf changes in circ-menu.inc). Bug 11759: FIX Javascript error The following JS error occurred: ReferenceError: MSG_ADD_MESSAGE is not defined The circulation.js file is useless and should not be included. Bug 11759: FIX the alert message if an item is on hold. If an item is on hold, the hold is not cancelled. This patch corrects the message displayed in this case. Bug 11759: FIX issue list is empty The issue list is empty after checking an item out to a patron without existing checkout. To reproduce: - Search for a patron without checkout. - Check an item out using the "normal" checkout. - Verify the checkout list contain the checkout. Signed-off-by: Josef Moravec Signed-off-by: Marcel de Rooy --- circ/circulation.pl | 21 +++++++++++++------ .../prog/en/includes/circ-menu.inc | 2 +- .../circ/circulation_batch_checkouts.tt | 7 ++++--- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/circ/circulation.pl b/circ/circulation.pl index 336b81f17a..e896454c1c 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -90,7 +90,6 @@ if (!C4::Context->userenv && !$branch){ } my $barcodes = []; -my $batch = $query->param('batch'); if ( my $barcode = $query->param('barcode') ) { $barcodes = [ $barcode ]; } else { @@ -110,9 +109,20 @@ if ( my $barcode = $query->param('barcode') ) { $barcodes = [ uniq @$barcodes ]; -my $template_name = $batch - ? q|circ/circulation_batch_checkouts.tt| - : q|circ/circulation.tt|; +my $template_name = q|circ/circulation.tt|; +my $borrowernumber = $query->param('borrowernumber'); +my $borrower = $borrowernumber ? GetMember( borrowernumber => $borrowernumber ) : undef; +my $batch = $query->param('batch'); +my $batch_allowed = 0; +if ( $batch ) { + $template_name = q|circ/circulation_batch_checkouts.tt|; + my @batch_category_codes = split '\|', C4::Context->preference('batch_checkouts'); + if ( grep {/^$borrower->{categorycode}$/} @batch_category_codes ) { + $batch_allowed = 1; + } else { + $barcodes = []; + } +} my ( $template, $loggedinuser, $cookie ) = get_template_and_user ( { @@ -143,7 +153,6 @@ for (@failedreturns) { $return_failed{$_} = 1; } my $findborrower = $query->param('findborrower') || q{}; $findborrower =~ s|,| |g; -my $borrowernumber = $query->param('borrowernumber'); $branch = C4::Context->userenv->{'branch'}; $printer = C4::Context->userenv->{'branchprinter'}; @@ -259,7 +268,6 @@ if ($findborrower) { } # get the borrower information..... -my $borrower; if ($borrowernumber) { $borrower = GetMemberDetails( $borrowernumber, 0 ); my ( $od, $issue, $fines ) = GetMemberIssuesAndFines( $borrowernumber ); @@ -591,6 +599,7 @@ $template->param( inprocess => $inprocess, is_child => ($borrowernumber && $borrower->{'category_type'} eq 'C'), $view => 1, + batch_allowed => $batch_allowed, soundon => C4::Context->preference("SoundOn"), fast_cataloging => $fast_cataloging, CircAutoPrintQuickSlip => C4::Context->preference("CircAutoPrintQuickSlip"), diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc index 9a028dfb50..12c1e98d28 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc @@ -65,7 +65,7 @@
    [% IF ( circview ) %]
  • [% ELSE %]
  • [% END %]Check out
  • [% IF Koha.Preference('batch_checkouts').split('\|').grep(categorycode).size > 0 %] - [% IF ( batch_checkout_view ) %]
  • [% ELSE %]
  • [% END %]Batch check out
  • + [% IF ( batch_checkout_view ) %]
  • [% ELSE %]
  • [% END %]Batch check out
  • [% END %] [% IF ( CAN_user_borrowers ) %] [% IF ( detailview ) %]
  • [% ELSE %]
  • [% END %]Details
  • diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation_batch_checkouts.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation_batch_checkouts.tt index a657cd7095..7d16375545 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation_batch_checkouts.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation_batch_checkouts.tt @@ -19,7 +19,6 @@ [% END %] -