Bug 17600: Standardize our EXPORT_OK
[srvgit] / acqui / acqui-home.pl
index 3481745..3010c6a 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
 
@@ -26,36 +26,41 @@ this script is the main page for acqui
 
 =cut
 
-use strict;
-use warnings;
-use Number::Format;
+use Modern::Perl;
 
-use CGI;
-use C4::Auth;
-use C4::Output;
-use C4::Acquisition;
-use C4::Budgets;
+use CGI qw ( -utf8 );
+use C4::Auth qw( get_template_and_user );
+use C4::Output qw( output_html_with_http_headers );
+use C4::Budgets qw( GetBudgetHierarchy GetBudget CanUserUseBudget );
 use C4::Members;
-use C4::Branch;
-use C4::Debug;
-use C4::Suggestions;
+use Koha::Acquisition::Currencies;
+use Koha::Patrons;
+use Koha::Suggestions;
 
 my $query = CGI->new;
 my ( $template, $loggedinuser, $cookie, $userflags ) = get_template_and_user(
     {   template_name   => 'acqui/acqui-home.tt',
         query           => $query,
         type            => 'intranet',
-        authnotrequired => 0,
         flagsrequired   => { acquisition => '*' },
-        debug           => 1,
     }
 );
 
-my $user = GetMember( 'borrowernumber' => $loggedinuser );
-my $branchname = GetBranchName($user->{branchcode});
-
 my $status           = $query->param('status') || "ASKED";
-my $suggestions_count       = CountSuggestion($status);
+# Get current branch count and total viewable count, if they don't match then pass
+# both to template
+if( C4::Context->only_my_library ){
+    my $local_pendingsuggestions_count = Koha::Suggestions->search({ status => "ASKED", branchcode => C4::Context->userenv()->{'branch'} })->count();
+    $template->param( suggestions_count => $local_pendingsuggestions_count );
+} else {
+    my $pendingsuggestions = Koha::Suggestions->search({ status => "ASKED" });
+    my $local_pendingsuggestions_count = $pendingsuggestions->search({ 'me.branchcode' => C4::Context->userenv()->{'branch'} })->count();
+    my $pendingsuggestions_count = $pendingsuggestions->count();
+    $template->param(
+        all_pendingsuggestions => $pendingsuggestions_count != $local_pendingsuggestions_count ? $pendingsuggestions_count : 0,
+        suggestions_count => $local_pendingsuggestions_count
+    );
+}
 
 my $budget_arr = GetBudgetHierarchy;
 
@@ -74,24 +79,14 @@ my @budget_loop;
 foreach my $budget ( @{$budget_arr} ) {
     next unless (CanUserUseBudget($loggedinuser, $budget, $userflags));
 
-    $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_firstname} = $member->{'firstname'};
-        $budget->{budget_owner_surname} = $member->{'surname'};
-        $budget->{budget_owner_borrowernumber} = $member->{'borrowernumber'};
+    my $patron = Koha::Patrons->find( $budget->{budget_owner_id} );
+    if ( $patron ) {
+        $budget->{budget_owner} = $patron;
     }
 
     if ( !defined $budget->{budget_amount} ) {
         $budget->{budget_amount} = 0;
     }
-
-    $budget->{'budget_ordered'} = GetBudgetOrdered( $budget->{'budget_id'} );
-    $budget->{'budget_spent'}   = GetBudgetSpent( $budget->{'budget_id'} );
     if ( !defined $budget->{budget_spent} ) {
         $budget->{budget_spent} = 0;
     }
@@ -119,7 +114,6 @@ foreach my $budget ( @{$budget_arr} ) {
 $template->param(
     type          => 'intranet',
     loop_budget   => \@budget_loop,
-    branchname    => $branchname,
     total         => $total,
     totspent      => $totspent,
     totordered    => $totordered,
@@ -129,7 +123,13 @@ $template->param(
     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;