Add account_invoice_discount and project_invoice_discount patches

This commit is contained in:
Guillem Barba 2014-06-02 14:36:42 +02:00
parent ade711adbc
commit f610d7c4bf
3 changed files with 82 additions and 0 deletions

60
issue151_312.diff Normal file
View File

@ -0,0 +1,60 @@
Index: work.py
===================================================================
--- ./modules/project_invoice_standalone/work.py
+++ ./modules/project_invoice_standalone/work.py
@@ -50,24 +50,26 @@
invoice.party = work.party
invoice_line = work._get_invoice_line(key, invoice, lines)
+ invoice_line.invoice_type = 'out_invoice'
invoice_line.party = work.party
+ invoice_line.save()
- #create new object because _get_invoice_line don't pass context
- #and invoice field is required
- invoiceline = InvoiceLine()
- invoiceline.party = work.party
- invoiceline.product = invoice_line.product
- invoiceline.description = invoice_line.description
- invoiceline.unit_price = invoice_line.unit_price
- invoiceline.unit = invoice_line.unit
- invoiceline.account = invoice_line.account
- invoiceline.taxes = invoice_line.taxes
- if hasattr(invoice_line, 'note'):
- invoiceline.note = invoice_line.note
- invoiceline.type = 'line'
- invoiceline.invoice_type = 'out_invoice'
- invoiceline.quantity = invoice_line.quantity
- invoiceline.save()
+ # #create new object because _get_invoice_line don't pass context
+ # #and invoice field is required
+ # invoiceline = InvoiceLine()
+ # invoiceline.party = work.party
+ # invoiceline.product = invoice_line.product
+ # invoiceline.description = invoice_line.description
+ # invoiceline.unit_price = invoice_line.unit_price
+ # invoiceline.unit = invoice_line.unit
+ # invoiceline.account = invoice_line.account
+ # invoiceline.taxes = invoice_line.taxes
+ # if hasattr(invoice_line, 'note'):
+ # invoiceline.note = invoice_line.note
+ # invoiceline.type = 'line'
+ # invoiceline.invoice_type = 'out_invoice'
+ # invoiceline.quantity = invoice_line.quantity
+ # invoiceline.save()
origins = {}
for line in lines:
@@ -75,8 +77,8 @@
origins.setdefault(origin.__class__, []).append(origin)
for klass, records in origins.iteritems():
klass.write(records, {
- 'invoice_line': invoiceline.id,
+ 'invoice_line': invoice_line.id,
})
else: #create invoice + lines
super(Work, cls).invoice(works)
-
+

20
issue152_313.diff Normal file
View File

@ -0,0 +1,20 @@
Index: invoice.py
===================================================================
--- ./modules/project_invoice_discount/invoice.py
+++ ./modules/project_invoice_discount/invoice.py
@@ -78,8 +78,11 @@
for vals in vlist:
if not 'gross_unit_price' in vals:
unit_price = vals.get('unit_price')
- if 'discount' in vals:
- unit_price = unit_price * (1 + vals.get('discount'))
+ if 'discount' in vals and (1 - vals['discount']) != 0:
+ unit_price = unit_price / (1 - vals['discount'])
+
+ digits = cls.unit_price.digits[1]
+ unit_price = unit_price.quantize(Decimal(str(10.0 ** -digits)))
vals['gross_unit_price'] = unit_price
if not 'discount' in vals:
vals['discount'] = Decimal(0)

2
series
View File

@ -29,3 +29,5 @@ disable_tests.diff
issue11281003_1.diff
client-open_url.diff
fix_wizard_copy.diff
issue151_312.diff
issue152_313.diff