Add TaxableMixin to sale line
issue9776 review326791003
This commit is contained in:
1 parent
d15a8f86a4
commit
f6cea792ea
2 files changed
+21
-11
No files matched your search
@@ -1,3 +1,5 @@
|
||||
* Add TaxableMixin to sale line
|
||||
|
||||
Version 5.8.0 - 2020-11-02
|
||||
* Bug fixes (see mercurial logs for details)
|
||||
* Remove support for Python 3.5
|
||||
|
||||
@@ -484,17 +484,8 @@ class Sale(
|
||||
@property
|
||||
def taxable_lines(self):
|
||||
taxable_lines = []
|
||||
# In case we're called from an on_change we have to use some sensible
|
||||
# defaults
|
||||
for line in self.lines:
|
||||
if getattr(line, 'type', None) != 'line':
|
||||
continue
|
||||
taxable_lines.append((
|
||||
getattr(line, 'taxes', None) or [],
|
||||
getattr(line, 'unit_price', None) or Decimal(0),
|
||||
getattr(line, 'quantity', None) or 0,
|
||||
None,
|
||||
))
|
||||
taxable_lines.extend(line.taxable_lines)
|
||||
return taxable_lines
|
||||
|
||||
@fields.depends(methods=['_get_taxes'])
|
||||
@@ -1028,7 +1019,7 @@ class SaleRecreatedInvoice(ModelSQL):
|
||||
ondelete='RESTRICT', select=True, required=True)
|
||||
|
||||
|
||||
class SaleLine(sequence_ordered(), ModelSQL, ModelView):
|
||||
class SaleLine(TaxableMixin, sequence_ordered(), ModelSQL, ModelView):
|
||||
'Sale Line'
|
||||
__name__ = 'sale.line'
|
||||
sale = fields.Many2One('sale.sale', 'Sale', ondelete='CASCADE',
|
||||
@@ -1222,6 +1213,23 @@ class SaleLine(sequence_ordered(), ModelSQL, ModelView):
|
||||
return True
|
||||
return False
|
||||
|
||||
@property
|
||||
def taxable_lines(self):
|
||||
# In case we're called from an on_change
|
||||
# we have to use some sensible defaults
|
||||
if getattr(self, 'type', None) == 'line':
|
||||
return [(
|
||||
getattr(self, 'taxes', None) or [],
|
||||
getattr(self, 'unit_price', None) or Decimal(0),
|
||||
getattr(self, 'quantity', None) or 0,
|
||||
None,
|
||||
)]
|
||||
else:
|
||||
return []
|
||||
|
||||
def _get_tax_context(self):
|
||||
return self.sale._get_tax_context()
|
||||
|
||||
def _get_tax_rule_pattern(self):
|
||||
'''
|
||||
Get tax rule pattern
|
||||
|
||||
Reference in new issue
Block a user