account-payment-team team mailing list archive
-
account-payment-team team
-
Mailing list archive
-
Message #00278
[Merge] lp:~pedro.baeza/account-payment/7.0-account_payment_extension_store into lp:account-payment/7.0
Pedro Manuel Baeza has proposed merging lp:~pedro.baeza/account-payment/7.0-account_payment_extension_store into lp:account-payment/7.0.
Requested reviews:
Account Payment (account-payment-team)
For more details, see:
https://code.launchpad.net/~pedro.baeza/account-payment/7.0-account_payment_extension_store/+merge/203594
Methods for storing correctly the value amount_to_pay, that in 6.1 is stored, but not recomputed whenever its conditions changes, and for 7.0 is directly not stored, impacting on the performance on some operations.
--
https://code.launchpad.net/~pedro.baeza/account-payment/7.0-account_payment_extension_store/+merge/203594
Your team Account Payment is requested to review the proposed merge of lp:~pedro.baeza/account-payment/7.0-account_payment_extension_store into lp:account-payment/7.0.
=== modified file 'account_payment_extension/account_move_line.py'
--- account_payment_extension/account_move_line.py 2013-11-10 17:00:26 +0000
+++ account_payment_extension/account_move_line.py 2014-01-28 17:08:52 +0000
@@ -184,6 +184,33 @@
result = [('id', 'in', [x[0] for x in res])]
return result
+ def _get_move_lines(self, cr, uid, ids, context=None):
+ result = {}
+ line_obj = self.pool['payment.line']
+ for line in line_obj.browse(cr, uid, ids, context=context):
+ result[line.move_line_id.id] = True
+ result[line.payment_move_id.id] = True
+ return result.keys()
+
+ def _get_move_lines_order(self, cr, uid, ids, context=None):
+ result = {}
+ order_obj = self.pool['payment.order']
+ for order in order_obj.browse(cr, uid, ids, context=context):
+ for line in order.line_ids:
+ result[line.move_line_id.id] = True
+ result[line.payment_move_id.id] = True
+ return result.keys()
+
+ def _get_reconcile(self, cr, uid, ids, context=None):
+ result = {}
+ reconcile_obj = self.pool['account.move.reconcile']
+ for reconcile in reconcile_obj.browse(cr, uid, ids, context=context):
+ for line in reconcile.line_id:
+ result[line.id] = True
+ for line in reconcile.line_partial_ids:
+ result[line.id] = True
+ return result.keys()
+
_columns = {
'received_check': fields.boolean('Received check',
help="""To write down that a check in paper support has
@@ -191,7 +218,16 @@
'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account'),
'amount_to_pay': fields.function(
amount_to_pay, method=True, type='float', string='Amount to pay',
- fnct_search=_to_pay_search),
+ fnct_search=_to_pay_search,
+ store={
+ 'account.move.line': (lambda self, cr, uid, ids, c={}: ids,
+ None, 20),
+ 'payment.order': (_get_move_lines_order, ['line_ids'], 20),
+ 'payment.line': (_get_move_lines,
+ ['type', 'move_line_id', 'payment_move_id'], 20),
+ 'account.move.reconcile': (_get_reconcile,
+ ['line_id', 'line_partial_ids'], 20)
+ }),
'payment_type': fields.function(_payment_type_get,
type="many2one", relation="payment.type", method=True,
string="Payment type", fnct_search=_payment_type_search),
References