+my $suggestions_count = CountSuggestion($status);
+
+my $budget_arr = GetBudgetHierarchy;
+
+my $total = 0;
+my $totspent = 0;
+my $totordered = 0;
+my $totcomtd = 0;
+my $totavail = 0;
+
+my $total_active = 0;
+my $totspent_active = 0;
+my $totordered_active = 0;
+my $totavail_active = 0;
+
+my @budget_loop;
+foreach my $budget ( @{$budget_arr} ) {
+ next unless (CanUserUseBudget($loggedinuser, $budget, $userflags));
+
+ $budget->{budget_code_indent} =~ s/\ /\ \;/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'};
+ }
+
+ 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;
+ }
+ if ( !defined $budget->{budget_ordered} ) {
+ $budget->{budget_ordered} = 0;
+ }
+ $budget->{'budget_avail'} =
+ $budget->{'budget_amount'} - ( $budget->{'budget_spent'} + $budget->{'budget_ordered'} );
+
+ $total += $budget->{'budget_amount'};
+ $totspent += $budget->{'budget_spent'};
+ $totordered += $budget->{'budget_ordered'};
+ $totavail += $budget->{'budget_avail'};
+
+ if ($budget->{budget_period_active}){
+ $total_active += $budget->{'budget_amount'};
+ $totspent_active += $budget->{'budget_spent'};
+ $totordered_active += $budget->{'budget_ordered'};
+ $totavail_active += $budget->{'budget_avail'};
+ }
+
+ for my $field (qw( budget_amount budget_spent budget_ordered budget_avail ) ) {
+ $budget->{"formatted_$field"} = $num_formatter->format_price( $budget->{$field} );
+ }
+
+ push @budget_loop, $budget;
+}