trytond-patches/issue12381002_1_10001.diff

47 lines
1.8 KiB
Diff
Raw Normal View History

2014-06-11 13:24:54 +02:00
Index: trytond/trytond/modules/stock_supply/purchase_request.py
===================================================================
--- a/trytond/trytond/modules/stock_supply/purchase_request.py
+++ b/trytond/trytond/modules/stock_supply/purchase_request.py
@@ -59,6 +59,9 @@
])
origin = fields.Reference('Origin', selection='origin_get', readonly=True,
required=True)
+ currency = fields.Function(fields.Many2One('currency.currency',
+ 'Currency'),
+ 'get_currency')
state = fields.Function(fields.Selection([
('purchased', 'Purchased'),
('done', 'Done'),
@@ -116,6 +119,10 @@
if self.purchase_line:
return self.purchase_line.purchase.id
+ def get_currency(self, name):
+ if self.company:
+ return self.company.currency.id
+
def get_state(self, name):
if self.purchase_line:
if self.purchase_line.purchase.state == 'cancel':
@@ -599,8 +606,7 @@
('party', request.party),
('payment_term', request.party.supplier_payment_term),
('warehouse', request.warehouse),
- # XXX use function field
- ('currency', request.company.currency),
+ ('currency', request.currency),
('invoice_address', request.party.address_get(type='invoice')),
)
@@ -705,7 +711,7 @@
# XXX purchase with several lines of the same product
with Transaction().set_context(uom=request.uom.id,
supplier=request.party.id,
- currency=request.company.currency.id):
+ currency=request.currency.id):
product_price = Product.get_purchase_price(
[request.product], request.quantity)[request.product.id]
product_price = product_price.quantize(