Bug 13141: Add ability for biblio_framework to be a dropdown in Guided Reports

By tweaking the GetReservedAuthorisedValues function in
C4::Reports::Guided, biblio_framework can be added as a dropdown
list into the guided reports parameters.

The change in C4/Reports/Guided.pm required a test, which is
found in t/db_dependent/ReportsGuided.t

Code was then added to reports/guided_reports.pl to build the
appropriate hash to trigger the proper dropdown list.

TEST PLAN
---------
1) Apply patch
2) prove -v t/db_dependent/ReportsGuided.t
   -- all should pass, this confirms that both
      C4/Reports/Guided.pm and this test file work.
3) Log into staff client
4) Reports
5) Create from SQL
6) Enter appropriate information like:
Report name: Test 13141
-- no need to change Report group or Report is public or Notes or Type
SQL:
SELECT CONCAT('<a href=\"/cgi-bin/koha/catalogue/detail.pl?biblionumber=',
     biblio.biblionumber,'\">',biblio.biblionumber,'</a>') AS
     BiblioNumbers, title, author, frameworkcode
FROM biblio
WHERE frameworkcode=<<Enter the frameworkcode|biblio_framework>>

7) Save report
8) Run report
   -- The parameter entry page should have a drop down of
      framework codes.
9) Select a framework code, and click Run the report
   -- The displayed SQL should have a "frameworkcode=" portion
      matching the selected framework.
10) Run the koha qa test tool.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Test plan followed successfully.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
Mark Tompsett 2014-10-24 00:20:29 -04:00 committed by Tomas Cohen Arazi
parent 0f41f12621
commit 82c65678bf
3 changed files with 15 additions and 3 deletions

View file

@ -962,7 +962,8 @@ sub GetReservedAuthorisedValues {
'branches',
'itemtypes',
'cn_source',
'categorycode' );
'categorycode',
'biblio_framework' );
return \%reserved_authorised_values;
}

View file

@ -29,7 +29,7 @@ use C4::Output;
use C4::Dates qw/format_date/;
use C4::Debug;
use C4::Branch; # XXX subfield_is_koha_internal_p
use C4::Koha qw/IsAuthorisedValueCategory/;
use C4::Koha qw/IsAuthorisedValueCategory GetFrameworksLoop/;
=head1 NAME
@ -644,6 +644,16 @@ elsif ($phase eq 'Run this report'){
$authorised_lib{$itemtype} = $description;
}
}
elsif ( $authorised_value eq "biblio_framework" ) {
my $frameworks = GetFrameworksLoop();
my $default_source = '';
push @authorised_values,$default_source;
$authorised_lib{$default_source} = 'Default';
foreach my $framework (@$frameworks) {
push @authorised_values, $framework->{value};
$authorised_lib{$framework->{value}} = $framework->{description};
}
}
elsif ( $authorised_value eq "cn_source" ) {
my $class_sources = GetClassSources();
my $default_source = C4::Context->preference("DefaultClassificationSource");

View file

@ -44,7 +44,8 @@ $koha->mock(
'branches' => 1,
'itemtypes' => 1,
'cn_source' => 1,
'categorycode' => 1
'categorycode' => 1,
'biblio_framework' => 1,
);
my $reserved_authorised_values = GetReservedAuthorisedValues();