Replace reference copying by relate

review932002
This commit is contained in:
Nicolas Évrard committed 2013-09-19 17:33:27 +02:00
1 parent ade8368c34
commit 4ae553d74d
2 files changed
+15

No files matched your search

BIN
View File
Binary file not shown.
+15
View File
@@ -2,6 +2,7 @@
#this repository contains the full copyright notices and license terms.
from decimal import Decimal
import base64
import itertools
import operator
from sql import Literal
from sql.aggregate import Count, Sum
@@ -137,6 +138,7 @@ class Invoice(Workflow, ModelSQL, ModelView):
states=_STATES, depends=_DEPENDS,
on_change=['lines', 'taxes', 'currency', 'party', 'type'])
comment = fields.Text('Comment', states=_STATES, depends=_DEPENDS)
origins = fields.Function(fields.Char('Origins'), 'get_origins')
untaxed_amount = fields.Function(fields.Numeric('Untaxed',
digits=(16, Eval('currency_digits', 2)),
depends=['currency_digits']),
@@ -994,6 +996,15 @@ class Invoice(Workflow, ModelSQL, ModelView):
return [('id', 'in', [i.id for i in invoices])]
return [('party',) + clause[1:]]
@classmethod
def get_origins(cls, invoices, name):
origins = {}
with Transaction().set_user(0, set_context=True):
for invoice in cls.browse(invoices):
origins[invoice.id] = ', '.join(set(itertools.ifilter(None,
(l.origin_name for l in invoice.lines))))
return origins
@classmethod
def delete(cls, invoices):
cls.check_modify(invoices)
@@ -1681,6 +1692,10 @@ class InvoiceLine(ModelSQL, ModelView):
else:
return _ZERO
@property
def origin_name(self):
return self.origin.rec_name if self.origin else None
def get_invoice_taxes(self, name):
pool = Pool()
Tax = pool.get('account.tax')