diff --git a/addons/point_of_sale/models/account_bank_statement.py b/addons/point_of_sale/models/account_bank_statement.py index 60f7380a32e..b1d8492fb4b 100644 --- a/addons/point_of_sale/models/account_bank_statement.py +++ b/addons/point_of_sale/models/account_bank_statement.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. # Copyright (C) 2004-2008 PC Solutions (). All Rights Reserved -from odoo import fields, models +from odoo import fields, models, api, _ +from odoo.exceptions import UserError class AccountBankStatement(models.Model): @@ -10,6 +11,13 @@ class AccountBankStatement(models.Model): pos_session_id = fields.Many2one('pos.session', string="Session", copy=False) account_id = fields.Many2one('account.account', related='journal_id.default_debit_account_id', readonly=True) + @api.multi + def check_confirm_bank(self): + for bs in self: + if bs.pos_session_id.state in ('opened', 'closing_control') and bs.state == 'open': + raise UserError(_("You can't validate a bank statement that is used in an opened Session of a Point of Sale.")) + return super( AccountBankStatement, self).check_confirm_bank() + class AccountBankStatementLine(models.Model): _inherit = 'account.bank.statement.line' diff --git a/addons/point_of_sale/views/account_statement_view.xml b/addons/point_of_sale/views/account_statement_view.xml index f2b00f2e9d4..4efaf7bde0d 100644 --- a/addons/point_of_sale/views/account_statement_view.xml +++ b/addons/point_of_sale/views/account_statement_view.xml @@ -19,4 +19,15 @@ + + + view.bank.statement.pos.session + account.bank.statement + primary + 1000 + + + + + diff --git a/addons/point_of_sale/views/pos_session_view.xml b/addons/point_of_sale/views/pos_session_view.xml index df9f67ef641..5d93243e575 100644 --- a/addons/point_of_sale/views/pos_session_view.xml +++ b/addons/point_of_sale/views/pos_session_view.xml @@ -120,7 +120,7 @@ - +