Skip to content
Snippets Groups Projects
Commit bb473003 authored by Jeremy Kersten's avatar Jeremy Kersten
Browse files

[FIX] website: res_config_setting in multi company

Before this commit, if the first website in the select was not in your current
company, it raises a traceback.

Now with filter on your own company, and support empty website selected
removing required on related field and using attrs dynamic to make it required

closes odoo/odoo#30769
parent 7e06f1a8
No related branches found
No related tags found
No related merge requests found
......@@ -4,14 +4,13 @@
from ast import literal_eval
from odoo import api, fields, models
from odoo.exceptions import AccessDenied
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
def _default_website(self):
return self.env['website'].search([], limit=1)
return self.env['website'].search([('company_id', '=', self.env.user.company_id.id)], limit=1)
website_id = fields.Many2one('website', string="website",
default=_default_website, ondelete='cascade')
......@@ -23,7 +22,7 @@ class ResConfigSettings(models.TransientModel):
language_count = fields.Integer(string='Number of languages', compute='_compute_language_count', readonly=True)
website_default_lang_id = fields.Many2one(
string='Default language', related='website_id.default_lang_id', readonly=False,
relation='res.lang', required=True,
relation='res.lang', required=False,
oldname='default_lang_id')
website_default_lang_code = fields.Char(
'Default language code', related='website_id.default_lang_code', readonly=False,
......
......@@ -17,7 +17,7 @@
Settings on this page will apply to this website
</div>
<div class="mt16">
<field name="website_id" widget="selection" required="1"/>
<field name="website_id" widget="selection"/>
</div>
<div>
<button name="action_website_create_new" type="object" string="Create a New Website" class="btn-secondary" icon="fa-arrow-right"/>
......@@ -41,7 +41,7 @@
<div class="content-group">
<div class="row mt16">
<label class="col-lg-3 o_light_label" string="Name" for="website_name"/>
<field name="website_name" required="1"/>
<field name="website_name" attrs="{'required': [('website_id', '!=', False)] }"/>
</div>
<div class="row">
<label class="col-lg-3 o_light_label" for="favicon" />
......@@ -74,7 +74,7 @@
<field name="language_count" invisible="1"/>
<div class="mt8" attrs="{'invisible':[('language_count', '&lt;', 2)]}">
<label class="o_light_label mr8" string="Default" for="website_default_lang_id"/>
<field name="website_default_lang_id" widget="selection"/>
<field name="website_default_lang_id" widget="selection" attrs="{'required': [('website_id', '!=', False)]}"/>
</div>
</div>
<div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment