@@ -, +, @@ C4::Koha::GetFrameworksLoop Koha::BiblioFrameworks->search({}, { order_by => ['frameworktext'] }); SELECT COUNT(*) FROM biblio WHERE frameworkcode=<> --- C4/Koha.pm | 50 -------------------- catalogue/labeledMARCdetail.pl | 10 ++-- .../prog/en/modules/catalogue/labeledMARCdetail.tt | 8 ++-- reports/guided_reports.pl | 10 ++-- t/db_dependent/Koha.t | 45 +----------------- 5 files changed, 17 insertions(+), 106 deletions(-) --- a/C4/Koha.pm +++ a/C4/Koha.pm @@ -41,7 +41,6 @@ BEGIN { &GetItemTypes &getitemtypeinfo &GetItemTypesCategorized &GetItemTypesByCategory &getframeworks &getframeworkinfo - &GetFrameworksLoop &getallthemes &getFacets &getnbpages @@ -282,55 +281,6 @@ sub getframeworks { return ( \%itemtypes ); } -=head2 GetFrameworksLoop - - $frameworks = GetFrameworksLoop( $frameworkcode ); - -Returns the loop suggested on getframework(), but ordered by framework description. - -build a HTML select with the following code : - -=head3 in PERL SCRIPT - - $template->param( frameworkloop => GetFrameworksLoop( $frameworkcode ) ); - -=head3 in TEMPLATE - - Same as getframework() - -
- - [% FOREACH framework IN frameworkloop %] - [% IF ( framework.selected ) %] - - [% ELSE %] - - [% END %] - [% END %] - - - -
- -=cut - -sub GetFrameworksLoop { - my $frameworkcode = shift; - my $frameworks = getframeworks(); - my @frameworkloop; - foreach my $thisframework (sort { uc($frameworks->{$a}->{'frameworktext'}) cmp uc($frameworks->{$b}->{'frameworktext'}) } keys %$frameworks) { - my $selected = ( $thisframework eq $frameworkcode ) ? 1 : undef; - my %row = ( - value => $thisframework, - selected => $selected, - description => $frameworks->{$thisframework}->{'frameworktext'}, - ); - push @frameworkloop, \%row; - } - return \@frameworkloop; -} - =head2 getframeworkinfo $frameworkinfo = &getframeworkinfo($frameworkcode); --- a/catalogue/labeledMARCdetail.pl +++ a/catalogue/labeledMARCdetail.pl @@ -30,7 +30,8 @@ use C4::Items; use C4::Members; # to use GetMember use C4::Search; # enabled_staff_search_views use C4::Acquisition qw(GetOrdersByBiblionumber); -use C4::Koha qw( GetFrameworksLoop ); + +use Koha::BiblioFrameworks; my $query = new CGI; my $dbh = C4::Context->dbh; @@ -82,8 +83,11 @@ my $itemcount = GetItemsCount($biblionumber); $template->param( count => $itemcount, bibliotitle => $biblio->{title}, ); -#Getting framework loop -$template->param(frameworkloop => GetFrameworksLoop( $frameworkcode ) ); +my $frameworks = Koha::BiblioFrameworks->search({}, { order_by => ['frameworktext'] }); +$template->param( + frameworks => $frameworks, + frameworkcode => $frameworkcode, +); my @marc_data; my $prevlabel = ''; --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/labeledMARCdetail.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/labeledMARCdetail.tt @@ -65,11 +65,11 @@

With framework: --- a/reports/guided_reports.pl +++ a/reports/guided_reports.pl @@ -28,13 +28,13 @@ use C4::Reports::Guided; use C4::Auth qw/:DEFAULT get_session/; use C4::Output; use C4::Debug; -use C4::Koha qw/GetFrameworksLoop/; use C4::Context; use Koha::Caches; use C4::Log; use Koha::DateUtils qw/dt_from_string output_pref/; use Koha::AuthorisedValue; use Koha::AuthorisedValues; +use Koha::BiblioFrameworks; use Koha::Libraries; use Koha::Patron::Categories; @@ -686,13 +686,13 @@ elsif ($phase eq 'Run this report'){ } } elsif ( $authorised_value eq "biblio_framework" ) { - my $frameworks = GetFrameworksLoop(); + my @frameworks = Koha::BiblioFrameworks->search({}, { order_by => ['frameworktext'] }); 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}; + foreach my $framework (@frameworks) { + push @authorised_values, $framework->frameworkcode; + $authorised_lib{$framework->frameworkcode} = $framework->frameworktext; } } elsif ( $authorised_value eq "cn_source" ) { --- a/t/db_dependent/Koha.t +++ a/t/db_dependent/Koha.t @@ -9,7 +9,7 @@ use Koha::DateUtils qw(dt_from_string); use Koha::AuthorisedValue; use Koha::AuthorisedValueCategories; -use Test::More tests => 9; +use Test::More tests => 8; use DateTime::Format::MySQL; BEGIN { @@ -246,49 +246,6 @@ subtest 'ISBN tests' => sub { }; -subtest 'GetFrameworksLoop() tests' => sub { - plan tests => 6; - - $dbh->do("DELETE FROM biblio_framework"); - - my $frameworksloop = GetFrameworksLoop(); - is ( scalar(@$frameworksloop), 0, 'No frameworks' ); - - $dbh->do("INSERT INTO biblio_framework ( frameworkcode, frameworktext ) VALUES ( 'A', 'Third framework' )"); - $dbh->do("INSERT INTO biblio_framework ( frameworkcode, frameworktext ) VALUES ( 'B', 'Second framework' )"); - $dbh->do("INSERT INTO biblio_framework ( frameworkcode, frameworktext ) VALUES ( 'C', 'First framework' )"); - - $frameworksloop = GetFrameworksLoop(); - is ( scalar(@$frameworksloop), 3, 'All frameworks' ); - is ( scalar ( grep { defined $_->{'selected'} } @$frameworksloop ), 0, 'None selected' ); - - $frameworksloop = GetFrameworksLoop( 'B' ); - is ( scalar ( grep { defined $_->{'selected'} } @$frameworksloop ), 1, 'One selected' ); - my @descriptions = map { $_->{'description'} } @$frameworksloop; - is ( $descriptions[0], 'First framework', 'Ordered result' ); - cmp_deeply( - $frameworksloop, - [ - { - 'value' => 'C', - 'description' => 'First framework', - 'selected' => undef, - }, - { - 'value' => 'B', - 'description' => 'Second framework', - 'selected' => 1, # selected - }, - { - 'value' => 'A', - 'description' => 'Third framework', - 'selected' => undef, - } - ], - 'Full check, sorted by description with selected val (Bug 12675)' - ); -}; - subtest 'GetItemTypesByCategory GetItemTypesCategorized test' => sub{ plan tests => 7; --