diff --git a/classes/order/OrderInvoice.php b/classes/order/OrderInvoice.php index ea74e877e..2ab0cdf47 100644 --- a/classes/order/OrderInvoice.php +++ b/classes/order/OrderInvoice.php @@ -384,21 +384,22 @@ class OrderInvoiceCore extends ObjectModel */ public function getEcoTaxTaxesBreakdown() { - $res = Db::getInstance()->executeS(' + $result = Db::getInstance()->executeS(' SELECT `ecotax_tax_rate` as `rate`, SUM(`ecotax` * `product_quantity`) as `ecotax_tax_excl`, SUM(`ecotax` * `product_quantity`) as `ecotax_tax_incl` FROM `'._DB_PREFIX_.'order_detail` WHERE `id_order` = '.(int)$this->id_order.' AND `id_order_invoice` = '.(int)$this->id.' - GROUP BY `ecotax_tax_rate`' - ); + GROUP BY `ecotax_tax_rate`'); - if ($res) - foreach ($res as &$row) + $taxes = array(); + foreach ($result as $row) + if ($row['ecotax_tax_excl'] > 0) { $row['ecotax_tax_incl'] = Tools::ps_round($row['ecotax_tax_excl'] + ($row['ecotax_tax_excl'] * $row['rate'] / 100), 2); $row['ecotax_tax_excl'] = Tools::ps_round($row['ecotax_tax_excl'], 2); + $taxes[] = $row; } - return $res; + return $taxes; } /** diff --git a/pdf/invoice.tax-tab.tpl b/pdf/invoice.tax-tab.tpl index bcc6d4b67..685bbbd5f 100755 --- a/pdf/invoice.tax-tab.tpl +++ b/pdf/invoice.tax-tab.tpl @@ -22,6 +22,8 @@ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} + +{if $tax_exempt || ((isset($product_tax_breakdown) && $product_tax_breakdown|@count > 0) || (isset($ecotax_tax_breakdown) && $ecotax_tax_breakdown|@count > 0))}
| - {if !isset($pdf_product_tax_written)} - {l s='Products' pdf='true'} - {assign var=pdf_product_tax_written value=1} + {foreach $product_tax_breakdown as $rate => $product_tax_infos} + | |||||
| + {if !isset($pdf_product_tax_written)} + {l s='Products' pdf='true'} + {assign var=pdf_product_tax_written value=1} + {/if} + | +{$rate} % | + {if !$use_one_after_another_method} ++ {if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$product_tax_infos.total_price_tax_excl} + | + {/if} +{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$product_tax_infos.total_amount} | +{$rate} % | - {if !$use_one_after_another_method} -- {if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$product_tax_infos.total_price_tax_excl} - | - {/if} -{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$product_tax_infos.total_amount} | - - {/foreach} - {/if} - {if isset($shipping_tax_breakdown)} - {foreach $shipping_tax_breakdown as $shipping_tax_infos} -
| - {if !isset($pdf_shipping_tax_written)} - {l s='Shipping' pdf='true'} - {assign var=pdf_shipping_tax_written value=1} + {if isset($shipping_tax_breakdown)} + {foreach $shipping_tax_breakdown as $shipping_tax_infos} + | |||||
| + {if !isset($pdf_shipping_tax_written)} + {l s='Shipping' pdf='true'} + {assign var=pdf_shipping_tax_written value=1} + {/if} + | +{$shipping_tax_infos.rate} % | + {if !$use_one_after_another_method} +{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$shipping_tax_infos.total_tax_excl} | {/if} - -{$shipping_tax_infos.rate} % | - {if !$use_one_after_another_method} -{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$shipping_tax_infos.total_tax_excl} | - {/if} -{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$shipping_tax_infos.total_amount} | -{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$shipping_tax_infos.total_amount} | + + {/foreach} {/if} {if isset($ecotax_tax_breakdown)} - {foreach $ecotax_tax_breakdown as $ecotax_tax_infos} - {if $ecotax_tax_infos.ecotax_tax_excl > 0} -
| {l s='Ecotax' pdf='true'} | -{$ecotax_tax_infos.rate } % | - {if !$use_one_after_another_method} -{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$ecotax_tax_infos.ecotax_tax_excl} | + {foreach $ecotax_tax_breakdown as $ecotax_tax_infos} + {if $ecotax_tax_infos.ecotax_tax_excl > 0} +|||
| {l s='Ecotax' pdf='true'} | +{$ecotax_tax_infos.rate } % | + {if !$use_one_after_another_method} +{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=$ecotax_tax_infos.ecotax_tax_excl} | + {/if} +{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=($ecotax_tax_infos.ecotax_tax_incl - $ecotax_tax_infos.ecotax_tax_excl)} | +{if isset($is_order_slip) && $is_order_slip}- {/if}{displayPrice currency=$order->id_currency price=($ecotax_tax_infos.ecotax_tax_incl - $ecotax_tax_infos.ecotax_tax_excl)} | - - {/if} - {/foreach} + {/foreach} {/if}