Browse Source

[FIX] Bug Fixed 'sale_discount_total'

pull/145/head
Ajmal JK 6 years ago
parent
commit
03c750dbf6
  1. 2
      sale_discount_total/__manifest__.py
  2. 5
      sale_discount_total/doc/RELEASE_NOTES.md
  3. 15
      sale_discount_total/models/account_invoice.py

2
sale_discount_total/__manifest__.py

@ -22,7 +22,7 @@
{ {
'name': 'Sale Discount on Total Amount', 'name': 'Sale Discount on Total Amount',
'version': '13.0.1.0.0', 'version': '13.0.1.0.1',
'category': 'Sales Management', 'category': 'Sales Management',
'summary': "Discount on Total in Sale and Invoice With Discount Limit and Approval", 'summary': "Discount on Total in Sale and Invoice With Discount Limit and Approval",
'author': 'Cybrosys Techno Solutions', 'author': 'Cybrosys Techno Solutions',

5
sale_discount_total/doc/RELEASE_NOTES.md

@ -5,5 +5,10 @@
#### ADD #### ADD
Initial commit for Sale Discount On Total Amount Initial commit for Sale Discount On Total Amount
#### 19.02.2020
#### Version 13.0.1.0.1
#### FIX
Bug Fixed, discount not updating to invoice

15
sale_discount_total/models/account_invoice.py

@ -95,7 +95,10 @@ class AccountInvoice(models.Model):
sign = 1 sign = 1
else: else:
sign = -1 sign = -1
move.amount_discount = sum((line.quantity * line.price_unit * line.discount)/100 for line in move.line_ids) if move.discount_type == 'percent':
move.amount_discount = sum((line.quantity * line.price_unit * line.discount) / 100 for line in move.invoice_line_ids)
else:
move.amount_discount = move.discount_rate
move.amount_untaxed = sign * (total_untaxed_currency if len(currencies) == 1 else total_untaxed) move.amount_untaxed = sign * (total_untaxed_currency if len(currencies) == 1 else total_untaxed)
move.amount_tax = sign * (total_tax_currency if len(currencies) == 1 else total_tax) move.amount_tax = sign * (total_tax_currency if len(currencies) == 1 else total_tax)
move.amount_total = sign * (total_currency if len(currencies) == 1 else total) move.amount_total = sign * (total_currency if len(currencies) == 1 else total)
@ -119,7 +122,8 @@ class AccountInvoice(models.Model):
discount_type = fields.Selection([('percent', 'Percentage'), ('amount', 'Amount')], string='Discount Type', discount_type = fields.Selection([('percent', 'Percentage'), ('amount', 'Amount')], string='Discount Type',
readonly=True, states={'draft': [('readonly', False)]}, default='percent') readonly=True, states={'draft': [('readonly', False)]}, default='percent')
discount_rate = fields.Float('Discount Amount', digits=(16, 2), readonly=True, states={'draft': [('readonly', False)]}) discount_rate = fields.Float('Discount Amount', digits=(16, 2), readonly=True,
states={'draft': [('readonly', False)]})
amount_discount = fields.Monetary(string='Discount', store=True, readonly=True, compute='_compute_amount', amount_discount = fields.Monetary(string='Discount', store=True, readonly=True, compute='_compute_amount',
track_visibility='always') track_visibility='always')
@ -129,6 +133,7 @@ class AccountInvoice(models.Model):
if inv.discount_type == 'percent': if inv.discount_type == 'percent':
for line in inv.line_ids: for line in inv.line_ids:
line.discount = inv.discount_rate line.discount = inv.discount_rate
line._onchange_price_subtotal()
else: else:
total = discount = 0.0 total = discount = 0.0
for line in inv.invoice_line_ids: for line in inv.invoice_line_ids:
@ -137,14 +142,18 @@ class AccountInvoice(models.Model):
discount = (inv.discount_rate / total) * 100 discount = (inv.discount_rate / total) * 100
else: else:
discount = inv.discount_rate discount = inv.discount_rate
for line in inv.invoice_line_ids: for line in inv.line_ids:
line.discount = discount line.discount = discount
line._onchange_price_subtotal()
inv._compute_invoice_taxes_by_group()
#
def button_dummy(self): def button_dummy(self):
self.supply_rate() self.supply_rate()
return True return True
class AccountInvoiceLine(models.Model): class AccountInvoiceLine(models.Model):
_inherit = "account.move.line" _inherit = "account.move.line"

Loading…
Cancel
Save