Add account_invoice_discount and project_invoice_discount patches
This commit is contained in:
parent
ade711adbc
commit
f610d7c4bf
|
@ -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)
|
||||
-
|
||||
+
|
||||
|
|
@ -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)
|
||||
|
Loading…
Reference in New Issue