Bugzilla – Attachment 25588 Details for
Bug 11829
JavaScript error on staff client biblio details pages if template variables are undefined
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 11829 - JavaScript error on staff client biblio details pages if template variables are undefined
Bug-11829---JavaScript-error-on-staff-client-bibli.patch (text/plain), 10.94 KB, created by
Owen Leonard
on 2014-02-24 16:19:49 UTC
(
hide
)
Description:
Bug 11829 - JavaScript error on staff client biblio details pages if template variables are undefined
Filename:
MIME Type:
Creator:
Owen Leonard
Created:
2014-02-24 16:19:49 UTC
Size:
10.94 KB
patch
obsolete
>From 3027264e45b892fca382c37e67b8b52b4223d978 Mon Sep 17 00:00:00 2001 >From: Owen Leonard <oleonard@myacpl.org> >Date: Mon, 24 Feb 2014 10:21:20 -0500 >Subject: [PATCH] Bug 11829 - JavaScript error on staff client biblio details > pages if template variables are undefined >Content-Type: text/plain; charset="utf-8" > >The JavaScript included in cat-toolbar.inc expects several variables to >be passed to the template for use in calculations. Several scripts >to not pass the required variables to the template, leading to a JS >error. > >This patch re-adds (See Bug 9823) hold count calculation to the required >scripts and copies the acquisitions-related count calculation from >detail.pl into related bibliographic detail scripts so that the >commonnly-included cat-toolbar.inc can receive correct values. > >To test, locate a bibliographic record which has no holds and is not >used in a current or deleted order, but which has a local cover image >attached. Check the following views to confirm there is no JavaScript >error: > >- Normal >- MARC >- Labeled MARC >- ISBD >- Items >- Images (from the Images tab on the "Normal" detail page) > >Next, locate a bibliographic record with no items attached which is used >in an Acquisitions order. On each of the pages listed above, choose >"Delete record" from the Edit menu. This should trigger a warning that >the record is used in an order. Cancel the deletion. > >Finally, delete the order which references the bibliographic record. On >each of the pages listed above, choose "Delete record" again. This >should trigger a warning that the record is used in a deleted order. >Cancel the deletion. >--- > catalogue/ISBDdetail.pl | 32 ++++++++++++++++++++++++++++++++ > catalogue/MARCdetail.pl | 31 +++++++++++++++++++++++++++++++ > catalogue/imageviewer.pl | 32 ++++++++++++++++++++++++++++++++ > catalogue/labeledMARCdetail.pl | 32 ++++++++++++++++++++++++++++++++ > catalogue/moredetail.pl | 31 +++++++++++++++++++++++++++++++ > 5 files changed, 158 insertions(+) > >diff --git a/catalogue/ISBDdetail.pl b/catalogue/ISBDdetail.pl >index ffc6c5e..2fa76bd 100755 >--- a/catalogue/ISBDdetail.pl >+++ b/catalogue/ISBDdetail.pl >@@ -47,6 +47,8 @@ use C4::Members; # to use GetMember > use C4::Branch; # GetBranchDetail > use C4::Serials; # CountSubscriptionFromBiblionumber > use C4::Search; # enabled_staff_search_views >+use C4::Acquisition qw(GetOrdersByBiblionumber); >+ > > #---- Internal function > >@@ -112,7 +114,37 @@ $template->param ( > searchid => $query->param('searchid'), > ); > >+my @allorders_using_biblio = GetOrdersByBiblionumber ($biblionumber); >+my @deletedorders_using_biblio; >+my @orders_using_biblio; >+my @baskets_orders; >+my @baskets_deletedorders; >+ >+foreach my $myorder (@allorders_using_biblio) { >+ my $basket = $myorder->{'basketno'}; >+ if ((defined $myorder->{'datecancellationprinted'}) and ($myorder->{'datecancellationprinted'} ne '0000-00-00') ){ >+ push @deletedorders_using_biblio, $myorder; >+ unless (grep(/^$basket$/, @baskets_deletedorders)){ >+ push @baskets_deletedorders,$myorder->{'basketno'}; >+ } >+ } >+ else { >+ push @orders_using_biblio, $myorder; >+ unless (grep(/^$basket$/, @baskets_orders)){ >+ push @baskets_orders,$myorder->{'basketno'}; >+ } >+ } >+} >+ >+my $count_orders_using_biblio = scalar @orders_using_biblio ; >+$template->param (countorders => $count_orders_using_biblio); >+ >+my $count_deletedorders_using_biblio = scalar @deletedorders_using_biblio ; >+$template->param (countdeletedorders => $count_deletedorders_using_biblio); > >+my $holds = C4::Reserves::GetReservesFromBiblionumber({ biblionumber => $biblionumber, all_dates => 1 }); >+my $holdcount = scalar( @$holds ); >+$template->param( holdcount => scalar ( @$holds ) ); > > output_html_with_http_headers $query, $cookie, $template->output; > >diff --git a/catalogue/MARCdetail.pl b/catalogue/MARCdetail.pl >index 8eadb77..f8e4095 100755 >--- a/catalogue/MARCdetail.pl >+++ b/catalogue/MARCdetail.pl >@@ -336,5 +336,36 @@ $template->param ( > searchid => $query->param('searchid'), > ); > >+my @allorders_using_biblio = GetOrdersByBiblionumber ($biblionumber); >+my @deletedorders_using_biblio; >+my @orders_using_biblio; >+my @baskets_orders; >+my @baskets_deletedorders; >+ >+foreach my $myorder (@allorders_using_biblio) { >+ my $basket = $myorder->{'basketno'}; >+ if ((defined $myorder->{'datecancellationprinted'}) and ($myorder->{'datecancellationprinted'} ne '0000-00-00') ){ >+ push @deletedorders_using_biblio, $myorder; >+ unless (grep(/^$basket$/, @baskets_deletedorders)){ >+ push @baskets_deletedorders,$myorder->{'basketno'}; >+ } >+ } >+ else { >+ push @orders_using_biblio, $myorder; >+ unless (grep(/^$basket$/, @baskets_orders)){ >+ push @baskets_orders,$myorder->{'basketno'}; >+ } >+ } >+} >+ >+my $count_orders_using_biblio = scalar @orders_using_biblio ; >+$template->param (countorders => $count_orders_using_biblio); >+ >+my $count_deletedorders_using_biblio = scalar @deletedorders_using_biblio ; >+$template->param (countdeletedorders => $count_deletedorders_using_biblio); >+ >+my $holds = C4::Reserves::GetReservesFromBiblionumber({ biblionumber => $biblionumber, all_dates => 1 }); >+my $holdcount = scalar( @$holds ); >+$template->param( holdcount => scalar ( @$holds ) ); > > output_html_with_http_headers $query, $cookie, $template->output; >diff --git a/catalogue/imageviewer.pl b/catalogue/imageviewer.pl >index 39a5102..6ecbc8d 100755 >--- a/catalogue/imageviewer.pl >+++ b/catalogue/imageviewer.pl >@@ -27,6 +27,7 @@ use C4::Items; > use C4::Output; > use C4::Images; > use C4::Search; >+use C4::Acquisition qw(GetOrdersByBiblionumber); > > my $query = new CGI; > my ( $template, $borrowernumber, $cookie ) = get_template_and_user( >@@ -78,5 +79,36 @@ $template->{VARS}->{'norequests'} = $norequests; > $template->param(C4::Search::enabled_staff_search_views); > $template->{VARS}->{'biblio'} = $biblio; > >+my @allorders_using_biblio = GetOrdersByBiblionumber ($biblionumber); >+my @deletedorders_using_biblio; >+my @orders_using_biblio; >+my @baskets_orders; >+my @baskets_deletedorders; >+ >+foreach my $myorder (@allorders_using_biblio) { >+ my $basket = $myorder->{'basketno'}; >+ if ((defined $myorder->{'datecancellationprinted'}) and ($myorder->{'datecancellationprinted'} ne '0000-00-00') ){ >+ push @deletedorders_using_biblio, $myorder; >+ unless (grep(/^$basket$/, @baskets_deletedorders)){ >+ push @baskets_deletedorders,$myorder->{'basketno'}; >+ } >+ } >+ else { >+ push @orders_using_biblio, $myorder; >+ unless (grep(/^$basket$/, @baskets_orders)){ >+ push @baskets_orders,$myorder->{'basketno'}; >+ } >+ } >+} >+ >+my $count_orders_using_biblio = scalar @orders_using_biblio ; >+$template->param (countorders => $count_orders_using_biblio); >+ >+my $count_deletedorders_using_biblio = scalar @deletedorders_using_biblio ; >+$template->param (countdeletedorders => $count_deletedorders_using_biblio); >+ >+my $holds= C4::Reserves::GetReservesFromBiblionumber({ biblionumber => $biblionumber, all_dates => 1 }); >+my $holdcount = scalar( @$holds ); >+$template->param( holdcount => scalar ( @$holds ) ); > > output_html_with_http_headers $query, $cookie, $template->output; >diff --git a/catalogue/labeledMARCdetail.pl b/catalogue/labeledMARCdetail.pl >index 95788b0..37cae1c 100755 >--- a/catalogue/labeledMARCdetail.pl >+++ b/catalogue/labeledMARCdetail.pl >@@ -28,6 +28,7 @@ use C4::Biblio; > use C4::Items; > use C4::Members; # to use GetMember > use C4::Search; # enabled_staff_search_views >+use C4::Acquisition qw(GetOrdersByBiblionumber); > > my $query = new CGI; > my $dbh = C4::Context->dbh; >@@ -137,5 +138,36 @@ $template->param ( > searchid => $query->param('searchid'), > ); > >+my @allorders_using_biblio = GetOrdersByBiblionumber ($biblionumber); >+my @deletedorders_using_biblio; >+my @orders_using_biblio; >+my @baskets_orders; >+my @baskets_deletedorders; >+ >+foreach my $myorder (@allorders_using_biblio) { >+ my $basket = $myorder->{'basketno'}; >+ if ((defined $myorder->{'datecancellationprinted'}) and ($myorder->{'datecancellationprinted'} ne '0000-00-00') ){ >+ push @deletedorders_using_biblio, $myorder; >+ unless (grep(/^$basket$/, @baskets_deletedorders)){ >+ push @baskets_deletedorders,$myorder->{'basketno'}; >+ } >+ } >+ else { >+ push @orders_using_biblio, $myorder; >+ unless (grep(/^$basket$/, @baskets_orders)){ >+ push @baskets_orders,$myorder->{'basketno'}; >+ } >+ } >+} >+ >+my $count_orders_using_biblio = scalar @orders_using_biblio ; >+$template->param (countorders => $count_orders_using_biblio); >+ >+my $count_deletedorders_using_biblio = scalar @deletedorders_using_biblio ; >+$template->param (countdeletedorders => $count_deletedorders_using_biblio); >+ >+my $holds= C4::Reserves::GetReservesFromBiblionumber({ biblionumber => $biblionumber, all_dates => 1 }); >+my $holdcount = scalar( @$holds ); >+$template->param( holdcount => scalar ( @$holds ) ); > > output_html_with_http_headers $query, $cookie, $template->output; >diff --git a/catalogue/moredetail.pl b/catalogue/moredetail.pl >index 28deb3b..86adb72 100755 >--- a/catalogue/moredetail.pl >+++ b/catalogue/moredetail.pl >@@ -35,6 +35,7 @@ use C4::Circulation; # to use itemissues > use C4::Members; # to use GetMember > use C4::Search; # enabled_staff_search_views > use C4::Members qw/GetHideLostItemsPreference/; >+use C4::Reserves qw(GetReservesFromBiblionumber); > use Koha::DateUtils; > > my $query=new CGI; >@@ -215,7 +216,37 @@ $template->param( > $template->param(ONLY_ONE => 1) if ( $itemnumber && $showncount != @items ); > $template->{'VARS'}->{'searchid'} = $query->param('searchid'); > >+my @allorders_using_biblio = GetOrdersByBiblionumber ($biblionumber); >+my @deletedorders_using_biblio; >+my @orders_using_biblio; >+my @baskets_orders; >+my @baskets_deletedorders; >+ >+foreach my $myorder (@allorders_using_biblio) { >+ my $basket = $myorder->{'basketno'}; >+ if ((defined $myorder->{'datecancellationprinted'}) and ($myorder->{'datecancellationprinted'} ne '0000-00-00') ){ >+ push @deletedorders_using_biblio, $myorder; >+ unless (grep(/^$basket$/, @baskets_deletedorders)){ >+ push @baskets_deletedorders,$myorder->{'basketno'}; >+ } >+ } >+ else { >+ push @orders_using_biblio, $myorder; >+ unless (grep(/^$basket$/, @baskets_orders)){ >+ push @baskets_orders,$myorder->{'basketno'}; >+ } >+ } >+} >+ >+my $count_orders_using_biblio = scalar @orders_using_biblio ; >+$template->param (countorders => $count_orders_using_biblio); >+ >+my $count_deletedorders_using_biblio = scalar @deletedorders_using_biblio ; >+$template->param (countdeletedorders => $count_deletedorders_using_biblio); > >+my $holds = GetReservesFromBiblionumber({ biblionumber => $biblionumber, all_dates => 1 }); >+my $holdcount = scalar( @$holds ); >+$template->param( holdcount => scalar ( @$holds ) ); > > output_html_with_http_headers $query, $cookie, $template->output; > >-- >1.7.9.5
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 11829
:
25588
|
25593
|
25604