From ccd58febd4571b864ea64d7fdd1663fc69b209b2 Mon Sep 17 00:00:00 2001 From: qdp-odoo Date: Thu, 19 Apr 2018 09:52:05 +0200 Subject: [PATCH] [FIX] base, account: usability on company currency selection. We now display all the existing currencies (even the unactivated) instead of a link to activate more of them, and upon the save we make sure to activate the selected currency if it's not yet the case. That's better from a point of view since it avoids jumping off of the screen then come back to make this setting --- .../account/views/res_config_settings_views.xml | 2 +- odoo/addons/base/models/res_company.py | 11 +++++++++++ odoo/addons/base/views/res_company_views.xml | 2 +- odoo/addons/base/views/res_currency_views.xml | 15 --------------- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/addons/account/views/res_config_settings_views.xml b/addons/account/views/res_config_settings_views.xml index e02640721fe..2c23fdf635b 100644 --- a/addons/account/views/res_config_settings_views.xml +++ b/addons/account/views/res_config_settings_views.xml @@ -146,7 +146,7 @@
diff --git a/odoo/addons/base/models/res_company.py b/odoo/addons/base/models/res_company.py index 84330680a82..aa5a395f8b1 100644 --- a/odoo/addons/base/models/res_company.py +++ b/odoo/addons/base/models/res_company.py @@ -221,11 +221,22 @@ class Company(models.Model): # The write is made on the user to set it automatically in the multi company group. self.env.user.write({'company_ids': [(4, company.id)]}) partner.write({'company_id': company.id}) + + # Make sure that the selected currency is enabled + if vals.get('currency_id'): + currency = self.env['res.currency'].browse(vals['currency_id']) + if not currency.active: + currency.write({'active': True}) return company @api.multi def write(self, values): self.clear_caches() + # Make sure that the selected currency is enabled + if values.get('currency_id'): + currency = self.env['res.currency'].browse(values['currency_id']) + if not currency.active: + currency.write({'active': True}) return super(Company, self).write(values) @api.constrains('parent_id') diff --git a/odoo/addons/base/views/res_company_views.xml b/odoo/addons/base/views/res_company_views.xml index ab9f202b176..57b08a2eaef 100644 --- a/odoo/addons/base/views/res_company_views.xml +++ b/odoo/addons/base/views/res_company_views.xml @@ -36,7 +36,7 @@ - + diff --git a/odoo/addons/base/views/res_currency_views.xml b/odoo/addons/base/views/res_currency_views.xml index 6ed8c9e6358..6c9de0ca574 100644 --- a/odoo/addons/base/views/res_currency_views.xml +++ b/odoo/addons/base/views/res_currency_views.xml @@ -171,20 +171,5 @@ {'active_test': False} - - - res.company.form - res.company - - - - - - -