# Copyright 2015-2020 Akretion (http://www.akretion.com) # @author Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import api, fields, models class AccountJournal(models.Model): _inherit = "account.journal" hide_bank_statement_balance = fields.Boolean( string="Hide Bank Statement Balance", help="You may want to enable this option when your bank " "journal is generated from a bank statement file that " "doesn't handle start/end balance (QIF for instance) and " "you don't want to enter the start/end balance manually: it " "will prevent the display of wrong information in the accounting " "dashboard and on bank statements.", ) @api.depends("name", "currency_id", "company_id", "company_id.currency_id", "code") def name_get(self): res = [] if self._context.get("journal_show_code_only"): for journal in self: res.append((journal.id, journal.code)) return res else: for journal in self: name = "[%s] %s" % (journal.code, journal.name) if ( journal.currency_id and journal.currency_id != journal.company_id.currency_id ): name = "%s (%s)" % (name, journal.currency_id.name) res.append((journal.id, name)) return res # @api.constrains('default_credit_account_id', 'default_debit_account_id') # def _check_account_type_on_bank_journal(self): # bank_acc_type = self.env.ref('account.data_account_type_liquidity') # for jrl in self: # if jrl.type in ('bank', 'cash'): # if ( # jrl.default_debit_account_id and # jrl.default_debit_account_id.user_type_id != # bank_acc_type): # raise ValidationError(_( # "On journal '%s', the default debit account '%s' " # "should be configured with Type = 'Bank and Cash'.") # % (jrl.display_name, # jrl.default_debit_account_id.display_name)) # if ( # jrl.default_credit_account_id and # jrl.default_credit_account_id.user_type_id != # bank_acc_type): # raise ValidationError(_( # "On journal '%s', the default credit account '%s' " # "should be configured with Type = 'Bank and Cash'.") # % (jrl.display_name, # jrl.default_credit_account_id.display_name))