Bug 17182: (QA follow-up) Fix call to GetMarcBiblio
[koha.git] / acqui / acqui-home.pl
index 69482a8..4da1eaf 100755 (executable)
@@ -3,18 +3,18 @@
 # Copyright 2008 - 2009 BibLibre SARL
 # This file is part of Koha.
 #
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
 #
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 =head1 NAME
 
@@ -28,21 +28,21 @@ this script is the main page for acqui
 
 use strict;
 use warnings;
-use Number::Format;
 
-use CGI;
+use CGI qw ( -utf8 );
 use C4::Auth;
 use C4::Output;
 use C4::Acquisition;
 use C4::Budgets;
 use C4::Members;
-use C4::Branch;
 use C4::Debug;
 use C4::Suggestions;
+use Koha::Acquisition::Currencies;
+use Koha::Patrons;
 
 my $query = CGI->new;
-my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
-    {   template_name   => 'acqui/acqui-home.tmpl',
+my ( $template, $loggedinuser, $cookie, $userflags ) = get_template_and_user(
+    {   template_name   => 'acqui/acqui-home.tt',
         query           => $query,
         type            => 'intranet',
         authnotrequired => 0,
@@ -51,36 +51,10 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
-my $user = GetMember( 'borrowernumber' => $loggedinuser );
-my $branchname = GetBranchName($user->{branchcode});
-
-
-my $num_formatter;
-
-my $cur_format = C4::Context->preference("CurrencyFormat");
-if ( $cur_format eq 'FR' ) {
-    $num_formatter = Number::Format->new(
-        'decimal_fill'      => '2',
-        'decimal_point'     => ',',
-        'int_curr_symbol'   => '',
-        'mon_thousands_sep' => ' ',
-        'thousands_sep'     => ' ',
-        'mon_decimal_point' => ','
-    );
-} else {    # US by default..
-    $num_formatter = Number::Format->new(
-        'int_curr_symbol'   => '',
-        'mon_thousands_sep' => ',',
-        'mon_decimal_point' => '.'
-    );
-}
-
 my $status           = $query->param('status') || "ASKED";
 my $suggestions_count       = CountSuggestion($status);
 
-my $budget_arr =
-  GetBudgetHierarchy( '', $user->{branchcode},
-    $template->{VARS}->{'USER_INFO'}[0]->{'borrowernumber'} );
+my $budget_arr = GetBudgetHierarchy;
 
 my $total      = 0;
 my $totspent   = 0;
@@ -93,17 +67,16 @@ my $totspent_active     = 0;
 my $totordered_active   = 0;
 my $totavail_active     = 0;
 
+my @budget_loop;
 foreach my $budget ( @{$budget_arr} ) {
-
-    $budget->{budget_code_indent} =~ s/\ /\&nbsp\;/g;
-
-    $budget->{'budget_branchname'} =
-      GetBranchName( $budget->{'budget_branchcode'} );
-
-    my $member = GetMember( borrowernumber => $budget->{budget_owner_id} );
-    if ($member) {
-        $budget->{budget_owner} =
-          $member->{'firstname'} . ' ' . $member->{'surname'};
+    next unless (CanUserUseBudget($loggedinuser, $budget, $userflags));
+
+    my $patron = Koha::Patrons->find( $budget->{budget_owner_id} );
+    if ( $patron ) {
+        # FIXME should pass the entire object into budget_owner
+        $budget->{budget_owner_firstname} = $patron->firstname;
+        $budget->{budget_owner_surname} = $patron->surname;
+        $budget->{budget_owner_borrowernumber} = $patron->borrowernumber;
     }
 
     if ( !defined $budget->{budget_amount} ) {
@@ -133,25 +106,29 @@ foreach my $budget ( @{$budget_arr} ) {
        $totavail_active   += $budget->{'budget_avail'};    
     }
 
-    for my $field (qw( budget_amount budget_spent budget_ordered budget_avail ) ) {
-        $budget->{$field} = $num_formatter->format_price( $budget->{$field} );
-    }
+    push @budget_loop, $budget;
 }
 
 $template->param(
     type          => 'intranet',
-    loop_budget   => $budget_arr,
-    branchname    => $branchname,
-    total         => $num_formatter->format_price($total),
-    totspent      => $num_formatter->format_price($totspent),
-    totordered    => $num_formatter->format_price($totordered),
-    totcomtd      => $num_formatter->format_price($totcomtd),
-    totavail      => $num_formatter->format_price($totavail),
-    total_active  => $num_formatter->format_price($total_active),
-    totspent_active     => $num_formatter->format_price($totspent_active),
-    totordered_active   => $num_formatter->format_price($totordered_active),
-    totavail_active     => $num_formatter->format_price($totavail_active),
+    loop_budget   => \@budget_loop,
+    total         => $total,
+    totspent      => $totspent,
+    totordered    => $totordered,
+    totcomtd      => $totcomtd,
+    totavail      => $totavail,
+    total_active  => $total_active,
+    totspent_active     => $totspent_active,
+    totordered_active   => $totordered_active,
+    totavail_active     => $totavail_active,
     suggestions_count   => $suggestions_count,
 );
 
+my $cur = Koha::Acquisition::Currencies->get_active;
+if ( $cur ) {
+    $template->param(
+        currency => $cur->currency,
+    );
+}
+
 output_html_with_http_headers $query, $cookie, $template->output;