Bug 13320: Move price calculation from tt to pl

In parcel.tt, total are calculated for subtotal.

This could be done in the pl script for more consistency.

Test plan:
Go on a parcel page with several already received orders.
Orders must be linked to different funds.
If possible ecost and unitprice (price on ordering and on receiving)
should changed (different values will be displayed in the table).

The values displayed before and after the patch must be the same.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

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 2015-01-21 09:51:18 +01:00 committed by Tomas Cohen Arazi
parent 06f4950aa2
commit 6a7dbb3051
2 changed files with 12 additions and 26 deletions

View File

@ -122,6 +122,7 @@ my %foot;
my $total_gste = 0;
my $total_gsti = 0;
my $subtotal_for_funds;
for my $order ( @orders ) {
$order = C4::Acquisition::populate_order_with_prices({ order => $order, booksellerid => $bookseller->{id}, receiving => 1, ordering => 1 });
$order->{'unitprice'} += 0;
@ -164,8 +165,11 @@ for my $order ( @orders ) {
}
}
my $budget = GetBudget( $line{budget_id} );
$line{budget_name} = $budget->{'budget_name'};
my $budget_name = GetBudgetName( $line{budget_id} );
$line{budget_name} = $budget_name;
$subtotal_for_funds->{ $line{budget_name} }{ecost} += $order->{ecost} * $order->{quantity};
$subtotal_for_funds->{ $line{budget_name} }{unitprice} += $order->{total};
push @loop_received, \%line;
}
@ -263,8 +267,8 @@ unless( defined $invoice->{closedate} ) {
$line{holds} = $holds;
$line{holds_on_order} = $itemholds?$itemholds:$holds if $line{left_holds_on_order};
my $budget = GetBudget( $line{budget_id} );
$line{budget_name} = $budget->{'budget_name'};
my $budget_name = GetBudgetName( $line{budget_id} );
$line{budget_name} = $budget_name;
push @loop_orders, \%line;
}
@ -289,6 +293,7 @@ $template->param(
(uc(C4::Context->preference("marcflavour"))) => 1,
total_gste => $total_gste,
total_gsti => $total_gsti,
subtotal_for_funds => $subtotal_for_funds,
sticky_filters => $sticky_filters,
);
output_html_with_http_headers $input, $cookie, $template->output;

View File

@ -324,26 +324,7 @@
<div id="acqui_receive_receivelist">
<h3>Already received</h3>
[% IF ( loop_received ) %]
[% SET funds = {} %]
[% SET estimated_total = 0 %]
[% FOREACH loop_receive IN loop_received %]
[% SET index = loop.count %]
[% SET funds.${ index }.budget_name = loop_receive.budget.budget_name %]
[% IF (funds.${ index }.estimated == '') %]
[% SET funds.${ index }.estimated = 0 %]
[% END %]
[% IF (funds.${ index }.actual == '') %]
[% SET funds.${ index }.actual = 0 %]
[% END %]
[% SET estimated_total = estimated_total + ( loop_receive.ecost * loop_receive.quantityreceived ) %]
[% SET funds.${ index }.estimated = funds.${ index }.estimated + ( loop_receive.ecost * loop_receive.quantityreceived )%]
[% SET funds.${ index }.actual = funds.${ loop_receive.budget.budget_name }.actual + loop_receive.total %]
[% END %]
<form action="/cgi-bin/koha/acqui/parcel.pl" method="get" name="orderform">
<table id="receivedt">
<thead>
@ -363,12 +344,12 @@
</tr>
</thead>
<tfoot>
[% FOREACH key IN funds.keys.sort %]
[% FOREACH key IN subtotal_for_funds.keys.sort %]
<tr>
<td colspan="6" class="total">(Tax exc.)</td>
<td colspan="2"><i>Subtotal for</i> [% funds.$key.budget_name %]</td>
<td>[% funds.$key.estimated | $Price %]</td>
<td>[% funds.$key.actual | $Price %]</td>
<td>[% subtotal_for_funds.$key.ecost | $Price %]</td>
<td>[% subtotal_for_funds.$key.unitprice | $Price %]</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>