Bug 12844: Use Koha::Number::Price where it can be useful

This patch use the new module into pl and tt script.

Note that we could use it in the acqui/pdfformat/layout*.pm files.

Test plan:
1/ Verify that the acquisition home page displayes the prices as before.
2/ Verify that the budgets page displayes the prices as before.
3/ Verify that the funds page displayes the prices as before.
4/ Verify that the planning page displayes the prices as before. (Note
that 1 price is now formatted: 'Fund remaining').
5/ Create an order from a staged file. This stage file should contain a
formatted price.

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
Jonathan Druart 2014-08-28 16:20:27 +02:00 committed by Tomas Cohen Arazi
parent 8a2d765769
commit 4bdc803120
9 changed files with 55 additions and 133 deletions

View File

@ -54,27 +54,6 @@ my ( $template, $loggedinuser, $cookie, $userflags ) = 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);
@ -134,10 +113,6 @@ foreach my $budget ( @{$budget_arr} ) {
$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;
}
@ -145,15 +120,15 @@ $template->param(
type => 'intranet',
loop_budget => \@budget_loop,
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),
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,
);

View File

@ -141,7 +141,6 @@ if ($op eq ""){
# 3rd step = import the records
#
} elsif ( $op eq 'import_records' ) {
my $num=FormatNumber();
#import selected lines
$template->param('basketno' => $cgiparams->{'basketno'});
# Budget_id is mandatory for adding an order, we just add a default, the user needs to modify this aftewards
@ -227,7 +226,7 @@ if ($op eq ""){
# in France, the cents separator is the , but sometimes, ppl use a .
# in this case, the price will be x100 when unformatted ! Replace the . by a , to get a proper price calculation
$price =~ s/\./,/ if C4::Context->preference("CurrencyFormat") eq "FR";
$price = $num->unformat_number($price);
$price = Koha::Number::Price->new($price)->unformat;
$orderinfo{gstrate} = $bookseller->{gstrate};
my $c = $c_discount ? $c_discount : $bookseller->{discount} / 100;
if ( $bookseller->{listincgst} ) {

View File

@ -91,30 +91,11 @@ my ($template, $borrowernumber, $cookie, $staff_flags ) = get_template_and_user(
);
# This is used in incbudgets-active-currency.inc
my $cur = GetCurrency();
$template->param( symbol => $cur->{symbol},
currency => $cur->{currency}
);
my $cur_format = C4::Context->preference("CurrencyFormat");
my $num;
if ( $cur_format eq 'US' ) {
$num = new Number::Format(
'int_curr_symbol' => '',
'mon_thousands_sep' => ',',
'mon_decimal_point' => '.'
);
} elsif ( $cur_format eq 'FR' ) {
$num = new Number::Format(
'decimal_fill' => '2',
'decimal_point' => ',',
'int_curr_symbol' => '',
'mon_thousands_sep' => ' ',
'thousands_sep' => ' ',
'mon_decimal_point' => ','
);
}
# ADD OR MODIFY A BUDGET PERIOD - BUILD SCREEN
if ( $op eq 'add_form' ) {
@ -161,7 +142,6 @@ elsif ( $op eq 'delete_confirm' ) {
my $total = 0;
my $data = GetBudgetPeriod( $budget_period_id);
$$data{'budget_period_total'}=$num->format_price( $data->{'budget_period_total'});
$template->param(
%$data
);
@ -291,7 +271,6 @@ my @period_active_loop;
foreach my $result ( @{$results}[ $first .. $last ] ) {
my $budgetperiod = $result;
$budgetperiod->{'budget_period_total'} = $num->format_price( $budgetperiod->{'budget_period_total'} );
$budgetperiod->{budget_active} = 1;
push( @period_active_loop, $budgetperiod );
}
@ -310,7 +289,6 @@ $last = min( $first + $inactivepagesize - 1, scalar @{$results} - 1, );
my @period_inactive_loop;
foreach my $result ( @{$results}[ $first .. $last ] ) {
my $budgetperiod = $result;
$budgetperiod->{'budget_period_total'} = $num->format_price( $budgetperiod->{'budget_period_total'} );
$budgetperiod->{budget_active} = 1;
push( @period_inactive_loop, $budgetperiod );
}

View File

@ -67,7 +67,6 @@ if (not defined $template->{VARS}->{'CAN_user_acquisition_budget_add_del'}
{
$op = 'list';
}
my $num=FormatNumber;
# get only the columns of aqbudgets in budget_hash
my @columns = Koha::Database->new()->schema->source('Aqbudget')->columns;
@ -228,7 +227,7 @@ if ($op eq 'add_form') {
budget_id => $budget->{'budget_id'},
budget_code => $budget->{'budget_code'},
budget_name => $budget->{'budget_name'},
budget_amount => $num->format_price( $budget->{'budget_amount'} ),
budget_amount => $budget->{'budget_amount'},
);
# END $OP eq DELETE_CONFIRM
# called by delete_confirm, used to effectively confirm deletion of data in DB
@ -307,18 +306,9 @@ if ( $op eq 'list' ) {
if (!defined $budget->{'budget_unalloc_sublevel'}
or $budget->{'budget_unalloc_sublevel'} == 0);
for (grep {/total_spent|budget_spent|total_ordered|budget_ordered|budget_amount/} keys %$budget){
$budget->{$_} = $num->format_price( $budget->{$_} ) if defined($budget->{$_})
}
for (qw/budget_remaining total_remaining/) {
if (defined $budget->{$_}) {
$budget->{$_.'_display'} = $num->format_price($budget->{$_});
}
}
# Value of budget_spent equals 0 instead of undefined value
$budget->{"budget_spent"} = $num->format_price(0) unless defined($budget->{"budget_spent"});
$budget->{budget_ordered} = $num->format_price(0) unless defined($budget->{"budget_ordered"});
$budget->{budget_spent} = 0 unless defined($budget->{budget_spent});
$budget->{budget_ordered} = 0 unless defined($budget->{budget_ordered});
#Make a list of parents of the bugdet
my @budget_hierarchy;
@ -337,10 +327,6 @@ if ( $op eq 'list' ) {
my $budget_period_total = $period->{budget_period_total};
foreach ($budget_period_total, $period_alloc_total, $spent_total, $ordered_total, $available_total) {
$_ = $num->format_price($_);
}
my $periods = GetBudgetPeriods();
$template->param(

View File

@ -101,26 +101,6 @@ my $show_mine = $input->param('show_mine') ;
my @hide_cols = $input->param('hide_cols');
my $cur_format = C4::Context->preference("CurrencyFormat");
my $num;
if ( $cur_format eq 'FR' ) {
$num = new Number::Format(
'decimal_fill' => '2',
'decimal_point' => ',',
'int_curr_symbol' => '',
'mon_thousands_sep' => ' ',
'thousands_sep' => ' ',
'mon_decimal_point' => ','
);
} else { # US by default..
$num = new Number::Format(
'int_curr_symbol' => '',
'mon_thousands_sep' => ',',
'mon_decimal_point' => '.'
);
}
if ( $budget_period_locked == 1 && not defined $show_actual ) {
$show_actual = 1;
}
@ -395,7 +375,6 @@ foreach my $budget (@budgets) {
%budget_line = (
lines => \@cells_line,
budget_name_indent => $budget->{budget_name_indent},
budget_amount_formatted => $num->format_price( $budget->{budget_amount} ),
budget_amount => $budget->{budget_amount},
budget_alloc => $budget->{budget_alloc},
budget_act_remain => sprintf( "%.2f", $budget_act_remain ),
@ -433,7 +412,6 @@ $template->param(
show_actual => $show_actual,
show_percent => $show_percent,
show_mine => $show_mine,
cur_format => $cur_format,
CGIextChoice => $CGIextChoice,
CGIsepChoice => $CGIsepChoice,

View File

@ -1,3 +1,4 @@
[% USE Price %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Acquisitions</title>
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
@ -123,10 +124,10 @@ $(document).ready(function() {
<th class="b_inactive">&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th class="data"><span class="bu_active">[% total %]</span><span class="bu_inactive" >[% total_active %]</span></th>
<th class="data"><span class="bu_active">[% totordered %]</span><span class="bu_inactive" >[% totordered_active %]</span></th>
<th class="data"><span class="bu_active">[% totspent %]</span><span class="bu_inactive" >[% totspent_active %]</span></th>
<th class="data"><span class="bu_active">[% totavail %]</span><span class="bu_inactive" >[% totavail_active %]</span></th>
<th class="data"><span class="bu_active">[% total %]</span><span class="bu_inactive" >[% total_active | $Price %]</span></th>
<th class="data"><span class="bu_active">[% totordered %]</span><span class="bu_inactive" >[% totordered_active | $Price %]</span></th>
<th class="data"><span class="bu_active">[% totspent %]</span><span class="bu_inactive" >[% totspent_active | $Price %]</span></th>
<th class="data"><span class="bu_active">[% totavail %]</span><span class="bu_inactive" >[% totavail_active | $Price %]</span></th>
</tr>
</tfoot>
<tbody>
@ -149,10 +150,10 @@ $(document).ready(function() {
[% END %]
</td>
<td>[% loop_budge.budget_branchname %]</td>
<td class="data"><span title="[% loop_budge.budget_amount %]">[% loop_budge.formatted_budget_amount %]</span></td>
<td class="data"><span title="[% loop_budge.budget_ordered %]"><a href="ordered.pl?fund=[% loop_budge.budget_id %]&amp;fund_code=[% loop_budge.budget_code %]">[% loop_budge.formatted_budget_ordered %]</a></span></td>
<td class="data"><span title="[% loop_budge.budget_spent %]"><a href="spent.pl?fund=[% loop_budge.budget_id %]&amp;fund_code=[% loop_budge.budget_code %]">[% loop_budge.formatted_budget_spent %]</span></a></td>
<td class="data"><span title="[% loop_budge.budget_avail %]">[% loop_budge.formatted_budget_avail %]</td>
<td class="data"><span title="[% loop_budge.budget_amount %]">[% loop_budge.budget_amount | $Price %]</span></td>
<td class="data"><span title="[% loop_budge.budget_ordered %]"><a href="ordered.pl?fund=[% loop_budge.budget_id %]&amp;fund_code=[% loop_budge.budget_code %]">[% loop_budge.budget_ordered | $Price %]</a></span></td>
<td class="data"><span title="[% loop_budge.budget_spent %]"><a href="spent.pl?fund=[% loop_budge.budget_id %]&amp;fund_code=[% loop_budge.budget_code %]">[% loop_budge.budget_spent | $Price %]</span></a></td>
<td class="data"><span title="[% loop_budge.budget_avail %]">[% loop_budge.budget_avail | $Price %]</td>
</tr>
[% ELSE %]
<tr class="b_inactive">
@ -172,10 +173,10 @@ $(document).ready(function() {
[% END %]
</td>
<td>[% loop_budge.budget_branchname %]</td>
<td class="data"><span title="[% loop_budge.budget_amount %]">[% loop_budge.formatted_budget_amount %]</span></td>
<td class="data"><span title="[% loop_budge.budget_ordered %]"><a href="ordered.pl?fund=[% loop_budge.budget_id %]&amp;fund_code=[% loop_budge.budget_code %]">[% loop_budge.formatted_budget_ordered %]</a></span></td>
<td class="data"><span title="[% loop_budge.budget_spent %]"><a href="spent.pl?fund=[% loop_budge.budget_id %]&amp;fund_code=[% loop_budge.budget_code %]">[% loop_budge.formatted_budget_spent %]</span></a></td>
<td class="data"><span title="[% loop_budge.budget_avail %]">[% loop_budge.formatted_budget_avail %]</td>
<td class="data"><span title="[% loop_budge.budget_amount %]">[% loop_budge.budget_amount | $Price %]</span></td>
<td class="data"><span title="[% loop_budge.budget_ordered %]"><a href="ordered.pl?fund=[% loop_budge.budget_id %]&amp;fund_code=[% loop_budge.budget_code %]">[% loop_budge.budget_ordered | $Price %]</a></span></td>
<td class="data"><span title="[% loop_budge.budget_spent %]"><a href="spent.pl?fund=[% loop_budge.budget_id %]&amp;fund_code=[% loop_budge.budget_code %]">[% loop_budge.budget_spent | $Price %]</span></a></td>
<td class="data"><span title="[% loop_budge.budget_avail %]">[% loop_budge.budget_avail | $Price %]</td>
</tr>
[% END %]
[% END %]

View File

@ -1,5 +1,7 @@
[% USE KohaDates %]
[% USE format %]
[% USE Price %]
[%- BLOCK action_menu %]
<div class="dropdown">
<a class="btn btn-mini dropdown-toggle" id="budgetmenu_[% block_budget_id %]" role="button" data-toggle="dropdown" href="#">
@ -24,6 +26,7 @@
</ul>
</div>
[% END -%]
[% INCLUDE 'doc-head-open.inc' %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'doc-head-close.inc' %]
@ -562,7 +565,7 @@
<span style="color:green;">Locked</span>&nbsp;
[% END %]
</td>
<td class="data">[% period_active.budget_period_total %]</td>
<td class="data">[% period_active.budget_period_total | $Price %]</td>
<td>
[% PROCESS action_menu block_budget_id=period_active.budget_period_id %]
</td>
@ -595,7 +598,7 @@
<td><span title="[% period_loo.budget_period_startdate %]">[% period_loo.budget_period_startdate | $KohaDates %]</span></td>
<td><span title="[% period_loo.budget_period_enddate %]">[% period_loo.budget_period_enddate | $KohaDates %]</span></td>
<td> [% IF ( period_loo.budget_period_locked ) %]<span style="color:green;">Locked</span>&nbsp;[% ELSE %][% END %] </td>
<td class="data">[% period_loo.budget_period_total %]</td>
<td class="data">[% period_loo.budget_period_total | $Price %]</td>
<td>
[% PROCESS action_menu block_budget_id=period_loo.budget_period_id %]
</td>

View File

@ -1,3 +1,4 @@
[% USE Price %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Administration &rsaquo; Funds[% IF op == 'add_form' %] &rsaquo; [% IF ( budget_id ) %]Modify fund[% IF ( budget_name ) %] '[% budget_name %]'[% END %][% ELSE %]Add fund [% END %][% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
@ -294,14 +295,14 @@ var MSG_PARENT_BENEATH_BUDGET = "- " + _("New budget-parent is beneath budget")
<tr>
<th></th>
<th></th>
<th colspan="2" style="text-align: left;" nowrap="nowrap">Period allocated [% IF ( budget_period_total ) %][% budget_period_total %][% END %] </th>
<th nowrap="nowrap" class="data"> [% period_alloc_total %]</th>
<th colspan="2" style="text-align: left;" nowrap="nowrap">Period allocated [% IF budget_period_total %][% budget_period_total | $Price %][% END %] </th>
<th nowrap="nowrap" class="data"> [% period_alloc_total | $Price %]</th>
<th></th>
<th class="data">[% ordered_total %]</th>
<th class="data">[% ordered_total | $Price %]</th>
<th></th>
<th class="data">[% spent_total %]</th>
<th class="data">[% spent_total | $Price %]</th>
<th></th>
<th class="data">[% available_total %]</th>
<th class="data">[% available_total | $Price %]</th>
<th></th>
</tr>
</tfoot>
@ -318,37 +319,37 @@ var MSG_PARENT_BENEATH_BUDGET = "- " + _("New budget-parent is beneath budget")
<td>[% budget.budget_name %]</td>
<td class="data">
[% IF budget.budget_parent_id %]
<span class="child_fund_amount">[% budget.budget_amount %]</span>
<span class="child_fund_amount">[% budget.budget_amount | $Price %]</span>
[% ELSE %]
[% budget.budget_amount %]
[% budget.budget_amount | $Price %]
[% END %]
</td>
<td class="data">
[% IF budget.budget_parent_id %]
<span class="child_fund_amount">[% budget.budget_ordered %]</span>
<span class="child_fund_amount">[% budget.budget_ordered | $Price %]</span>
[% ELSE %]
[% budget.budget_ordered %]
[% budget.budget_ordered | $Price %]
[% END %]
</td>
<td class="data">
[% IF budget.budget_parent_id %]
<span class="child_fund_amount">[% budget.total_ordered %]</span>
<span class="child_fund_amount">[% budget.total_ordered | $Price %]</span>
[% ELSE %]
[% budget.total_ordered %]
[% budget.total_ordered | $Price %]
[% END %]
</td>
<td class="data">
[% IF budget.budget_parent_id %]
<span class="child_fund_amount">[% budget.budget_spent %]</span>
<span class="child_fund_amount">[% budget.budget_spent | $Price %]</span>
[% ELSE %]
[% budget.budget_spent %]
[% budget.budget_spent | $Price %]
[% END %]
</td>
<td class="data">
[% IF budget.budget_parent_id %]
<span class="child_fund_amount">[% budget.total_spent %]</span>
<span class="child_fund_amount">[% budget.total_spent | $Price %]</span>
[% ELSE %]
[% budget.total_spent %]
[% budget.total_spent | $Price %]
[% END %]
</td>
@ -371,14 +372,14 @@ var MSG_PARENT_BENEATH_BUDGET = "- " + _("New budget-parent is beneath budget")
<span>
[% END %]
[% END %]
[% text %]
[% value | $Price %]
</span>
[% END %]
<td class="data">
[% INCLUDE colorcellvalue value=budget.budget_remaining text=budget.budget_remaining_display parent=budget.budget_parent_id %]
[% INCLUDE colorcellvalue value=budget.budget_remaining parent=budget.budget_parent_id %]
</td>
<td class="data">
[% INCLUDE colorcellvalue value=budget.total_remaining text=budget.total_remaining_display parent=budget.budget_parent_id %]
[% INCLUDE colorcellvalue value=budget.total_remaining parent=budget.budget_parent_id %]
</td>
[% IF ( budget.budget_lock ) %]
<td> <span></span> </td>
@ -596,7 +597,7 @@ var MSG_PARENT_BENEATH_BUDGET = "- " + _("New budget-parent is beneath budget")
<table>
<tr>
<th scope="row">Fund amount:</th>
<td>[% budget_amount %]</td>
<td>[% budget_amount | $Price %]</td>
</tr>
</table>

View File

@ -1,3 +1,4 @@
[% USE Price %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Administration &rsaquo; Budgets &rsaquo; Funds &rsaquo; Planning for [% budget_period_description %] by [% authcat %]</title>
[% INCLUDE 'doc-head-close.inc' %]
@ -132,7 +133,7 @@
<td>
[% END %]
<a href="/cgi-bin/koha/admin/aqbudgets.pl?op=add_form&amp;budget_id=[% budget_line.budget_id %]&amp;budget_period_id=[% budget_line.budget_period_id %]">[% budget_line.budget_name_indent %]</a></td>
<td><span id="budget_tot_formatted_[% budget_line.budget_id %]">[% budget_line.budget_amount_formatted %]&nbsp;</span>
<td><span id="[% budget_line.budget_amount %]">[% budget_line.budget_amount | $Price %]&nbsp;</span>
<!-- NEXT DIV ELEMENT IS USED BY JS FOR CALC-ING AUTO-FILL AND ESTIMATED AMOUNTS -->
@ -185,7 +186,7 @@
[% ELSE %]
<td id="budget_est_[% budget_line.budget_id %]">
[% END %]
[% budget_line.budget_est_remain %]&nbsp;
[% budget_line.budget_est_remain | $Price %]&nbsp;
</td>
</tr>
</table>