diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index 31a313e996d..d7e5f8e88a6 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -859,13 +859,13 @@ class account_statement_operation_template(osv.osv): _description = "Preset for the lines that can be created in a bank statement reconciliation" _columns = { 'name': fields.char('Button Label', required=True), - 'account_id': fields.many2one('account.account', 'Account', ondelete='cascade', domain=[('type','!=','view')]), + 'account_id': fields.many2one('account.account', 'Account', ondelete='cascade', domain=[('type', 'not in', ('view', 'closed', 'consolidation'))]), 'label': fields.char('Label'), 'amount_type': fields.selection([('fixed', 'Fixed'),('percentage_of_total','Percentage of total amount'),('percentage_of_balance', 'Percentage of open balance')], 'Amount type', required=True), 'amount': fields.float('Amount', digits_compute=dp.get_precision('Account'), help="The amount will count as a debit if it is negative, as a credit if it is positive (except if amount type is 'Percentage of open balance').", required=True), - 'tax_id': fields.many2one('account.tax', 'Tax', ondelete='cascade'), - 'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account', ondelete='cascade'), + 'tax_id': fields.many2one('account.tax', 'Tax', ondelete='restrict', domain=[('type_tax_use', 'in', ['purchase', 'all']), ('parent_id', '=', False)]), + 'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account', ondelete='set null', domain=[('type','!=','view'), ('state','not in',('close','cancelled'))]), } _defaults = { 'amount_type': 'percentage_of_balance', diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index a14934a0a8a..e20b899ad11 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -702,9 +702,9 @@ - + - + diff --git a/addons/account/static/src/js/account_widgets.js b/addons/account/static/src/js/account_widgets.js index 171c92c9aab..2656545994b 100644 --- a/addons/account/static/src/js/account_widgets.js +++ b/addons/account/static/src/js/account_widgets.js @@ -120,6 +120,7 @@ openerp.account = function (instance) { relation: "account.analytic.account", string: _t("Analytic Acc."), type: "many2one", + domain: [['type', '!=', 'view'], ['state', 'not in', ['close','cancelled']]], }, }, };