1234567891011121314151617181920212223242526272829303132333435363738394041 |
- # -*- coding: utf-8 -*-
- import time
- from openerp.osv import fields, osv
- from openerp.tools import float_compare
- from openerp.tools.translate import _
- import openerp.addons.decimal_precision as dp
- class AccountBankStatement(osv.osv):
- _inherit = "account.bank.statement"
- def button_confirm_cash(self, cr, uid, ids, context=None):
- absl_proxy = self.pool.get('account.bank.statement.line')
- TABLES = ((_('Profit'), 'profit_account_id'), (_('Loss'), 'loss_account_id'),)
- for obj in self.browse(cr, uid, ids, context=context):
- obj.difference = 0.0
- if obj.difference == 0.0:
- continue
- elif obj.difference < 0.0:
- account = obj.journal_id.loss_account_id
- name = _('Loss')
- if not obj.journal_id.loss_account_id:
- raise osv.except_osv(_('Error!'), _('There is no Loss Account on the journal %s.') % (obj.journal_id.name,))
- else: # obj.difference > 0.0
- account = obj.journal_id.profit_account_id
- name = _('Profit')
- if not obj.journal_id.profit_account_id:
- raise osv.except_osv(_('Error!'), _('There is no Profit Account on the journal %s.') % (obj.journal_id.name,))
- values = {
- 'statement_id' : obj.id,
- 'journal_id' : obj.journal_id.id,
- 'account_id' : account.id,
- 'amount' : obj.difference,
- 'name' : name,
- }
- absl_proxy.create(cr, uid, values, context=context)
- return super(AccountBankStatement, self).button_confirm_bank(cr, uid, ids, context=context)
|