# -*- coding: utf-8 -*-
##############################################################################
#
#    Author Vincent Renaville. Copyright 2012 Camptocamp SA
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU Affero General Public License as
#    published by the Free Software Foundation, either version 3 of the
#    License, or (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Affero General Public License for more details.
#
#    You should have received a copy of the GNU Affero General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
##############################################################################

from openerp import models, api
from openerp.tools.safe_eval import safe_eval


class AccountBankStatement(models.Model):
    _inherit = "account.bank.statement"

    @api.multi
    def button_confirm_bank(self):
        res = super(AccountBankStatement, self).button_confirm_bank()
        entries = self.mapped('line_ids.journal_entry_id')
        use_journal_setting = safe_eval(self.env['ir.config_parameter'].
                                        get_param('use_journal_setting',
                                                  default="False"))
        if use_journal_setting:
            new_entries = self.env['account.move']
            for e in entries:
                if not e.journal_id.entry_posted:
                    new_entries += e
            entries = new_entries
        entries.write({'state': 'draft'})
        return res
