[IMP] Solved xpath replace issues

This commit is contained in:
Haresh Chavda 2018-01-19 16:15:28 +05:30
parent e292f30258
commit 4933cf35a5
3 changed files with 91 additions and 54 deletions

View File

@ -121,10 +121,11 @@ class AccountInvoice(models.Model):
values = self.get_maximum_per_amount() values = self.get_maximum_per_amount()
if self.discount < 0: if self.discount < 0:
raise Warning(_("Discount should be less than Gross Amount")) raise Warning(_("Discount should be less than Gross Amount"))
if self.discount > self.gross_amount: discount = self.discount or self.discount_amount
if discount > self.gross_amount:
raise Warning(_("Discount (%s) should be less than " raise Warning(_("Discount (%s) should be less than "
"Gross Amount (%s).") % ( "Gross Amount (%s).") % (
formatLang(self.env, self.discount, digits=2), formatLang(self.env, discount, digits=2),
formatLang(self.env, self.gross_amount, digits=2))) formatLang(self.env, self.gross_amount, digits=2)))
if self.discount > values.get('max_amount', False) \ if self.discount > values.get('max_amount', False) \
and values.get('check_group', False): and values.get('check_group', False):

View File

@ -2,56 +2,57 @@
<flectra> <flectra>
<template id="custom_invoice_report_layout" inherit_id="account.report_invoice_document"> <template id="custom_invoice_report_layout" inherit_id="account.report_invoice_document">
<xpath expr="//div/div[hasclass('clearfix')]" position="replace"> <xpath expr="//div/div[hasclass('clearfix')]" position="replace">
<div id="total" class="row pull-right"> <div class="clearfix">
<div> <div id="total" class="row">
<table class="table-condensed" style="min-width: 250px;max-width: 400px;"> <div class="col-xs-4 pull-right">
<tr> <table class="table table-condensed" style="min-width: 250px;max-width: 400px;">
<td><strong>Gross Amount</strong></td> <tr>
<td class="text-right"> <td><strong>Gross Amount</strong></td>
<span t-field="o.gross_amount" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/> <td class="text-right">
</td> <span t-field="o.gross_amount" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</tr> </td>
<tr>
<td><strong>Discount</strong></td>
<td class="text-right">
<span t-field="o.discount" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
</tr>
<tr class="border-black">
<td><strong>Subtotal</strong></td>
<td class="text-right">
<span t-field="o.amount_untaxed" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
</tr>
<t t-set="tax_groups_length" t-value="len(o._get_tax_amount_by_group())"/>
<t t-foreach="o._get_tax_amount_by_group()" t-as="amount_by_group">
<tr style="border-bottom:1px solid #dddddd;">
<t t-if="len(o.tax_line_ids) == 1 and o.amount_untaxed == amount_by_group[2]">
<td><span t-esc="amount_by_group[0]"/></td>
<td class="text-right">
<span t-esc="amount_by_group[1]" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
</t>
<t t-else="">
<td>
<span t-esc="amount_by_group[0]"/>
<span>&amp;nbsp;<span>on</span>
<t t-esc="amount_by_group[2]" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</span>
</td>
<td class="text-right">
<span t-esc="amount_by_group[1]" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
</t>
</tr> </tr>
</t> <tr>
<tr class="border-black"> <td><strong>Discount</strong></td>
<td><strong>Total</strong></td> <td class="text-right">
<td class="text-right"> <span t-field="o.discount" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
<span t-field="o.amount_total" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/> </td>
</td> </tr>
</tr> <tr class="border-black" style="border-bottom:1px solid #dddddd;">
</table> <td><strong>Subtotal</strong></td>
<td class="text-right">
<span t-field="o.amount_untaxed" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
</tr>
<t t-foreach="o._get_tax_amount_by_group()" t-as="amount_by_group">
<tr style="border-bottom:1px solid #dddddd;">
<t t-if="len(o.tax_line_ids) == 1 and o.amount_untaxed == amount_by_group[2]">
<td><span t-esc="amount_by_group[0]"/></td>
<td class="text-right">
<span t-esc="amount_by_group[3]"/>
</td>
</t>
<t t-else="">
<td>
<span t-esc="amount_by_group[0]"/>
<span>&amp;nbsp;<span>on</span>
<t t-esc="amount_by_group[4]"/>
</span>
</td>
<td class="text-right">
<span t-esc="amount_by_group[3]" />
</td>
</t>
</tr>
</t>
<tr class="border-black">
<td><strong>Total</strong></td>
<td class="text-right">
<span t-field="o.amount_total" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
</tr>
</table>
</div>
</div> </div>
</div> </div>
</xpath> </xpath>

View File

@ -2,9 +2,9 @@
<flectra> <flectra>
<template id="custom_report_sale_layout" inherit_id="sale.report_saleorder_document"> <template id="custom_report_sale_layout" inherit_id="sale.report_saleorder_document">
<xpath expr="//div[@name='total']" position="replace"> <xpath expr="//div[@name='total']" position="replace">
<div class="row"> <div class="row" name="total">
<div class="col-xs-4 pull-right"> <div class="col-xs-4 pull-right">
<table class="table table-condensed"> <table class="table table-condensed" style="min-width: 200px;max-width: 350px;">
<tr> <tr>
<td><strong>Gross Amount</strong></td> <td><strong>Gross Amount</strong></td>
<td class="text-right"> <td class="text-right">
@ -17,7 +17,42 @@
<span t-field="doc.discount" t-options='{"widget": "monetary", "display_currency": doc.pricelist_id.currency_id}'/> <span t-field="doc.discount" t-options='{"widget": "monetary", "display_currency": doc.pricelist_id.currency_id}'/>
</td> </td>
</tr> </tr>
<tr class="border-black" style="border-bottom:1px solid #dddddd;">
<td><strong>Subtotal</strong></td>
<td class="text-right">
<span t-field="doc.amount_untaxed"
t-options='{"widget": "monetary", "display_currency": doc.pricelist_id.currency_id}'/>
</td>
</tr>
<t t-foreach="doc._get_tax_amount_by_group()" t-as="amount_by_group">
<tr style="border-bottom:1px solid #dddddd;">
<t t-if="amount_by_group[3] == 1 and doc.amount_untaxed == amount_by_group[2]">
<td><span t-esc="amount_by_group[0]"/></td>
<td class="text-right">
<span t-esc="amount_by_group[1]"
t-options='{"widget": "monetary", "display_currency": doc.pricelist_id.currency_id}'/>
</td>
</t>
<t t-else ="">
<td>
<span t-esc="amount_by_group[0]"/><span>&amp;nbsp;<span>on</span>&amp;nbsp;<t t-esc="amount_by_group[2]" t-options='{"widget": "monetary", "display_currency": doc.pricelist_id.currency_id}'/></span>
</td>
<td class="text-right">
<span t-esc="amount_by_group[1]"
t-options='{"widget": "monetary", "display_currency": doc.pricelist_id.currency_id}'/>
</td>
</t>
</tr>
</t>
<tr class="border-black"> <tr class="border-black">
<td><strong>Total</strong></td>
<td class="text-right">
<span t-field="doc.amount_total"
t-options='{"widget": "monetary", "display_currency": doc.pricelist_id.currency_id}'/>
</td>
</tr>
<!-- <tr class="border-black">
<td><strong>Untaxed Amount</strong></td> <td><strong>Untaxed Amount</strong></td>
<td class="text-right"> <td class="text-right">
<span t-field="doc.amount_untaxed" t-options='{"widget": "monetary", "display_currency": doc.pricelist_id.currency_id}'/> <span t-field="doc.amount_untaxed" t-options='{"widget": "monetary", "display_currency": doc.pricelist_id.currency_id}'/>
@ -35,7 +70,7 @@
<span t-esc="doc.amount_total or 0.0" t-options='{"widget": "monetary", "display_currency": doc.pricelist_id.currency_id}'/> <span t-esc="doc.amount_total or 0.0" t-options='{"widget": "monetary", "display_currency": doc.pricelist_id.currency_id}'/>
</td> </td>
</tr> </tr>
</table> --> </table>
</div> </div>
</div> </div>
</xpath> </xpath>