diff --git a/addons/mass_mailing/data/mass_mailing_demo.xml b/addons/mass_mailing/data/mass_mailing_demo.xml index c0dd71bbda2..5bae56d68c1 100644 --- a/addons/mass_mailing/data/mass_mailing_demo.xml +++ b/addons/mass_mailing/data/mass_mailing_demo.xml @@ -98,13 +98,5 @@ - - - https://twitter.com/Odoo - https://www.facebook.com/Odoo - https://plus.google.com/+Odooapps - https://www.linkedin.com/company/odoo - - diff --git a/addons/website/models/res_config_settings.py b/addons/website/models/res_config_settings.py index a4500e240aa..93d5014d09d 100644 --- a/addons/website/models/res_config_settings.py +++ b/addons/website/models/res_config_settings.py @@ -42,6 +42,21 @@ class ResConfigSettings(models.TransientModel): module_website_links = fields.Boolean("Link Trackers") auth_signup_uninvited = fields.Selection("Customer Account", related='website_id.auth_signup_uninvited') + social_twitter = fields.Char(related='website_id.social_twitter') + social_facebook = fields.Char(related='website_id.social_facebook') + social_github = fields.Char(related='website_id.social_github') + social_linkedin = fields.Char(related='website_id.social_linkedin') + social_youtube = fields.Char(related='website_id.social_youtube') + social_googleplus = fields.Char(related='website_id.social_googleplus') + social_instagram = fields.Char(related='website_id.social_instagram') + + @api.depends('website_id') + def has_social_network(self): + self.has_social_network = self.social_twitter or self.social_facebook or self.social_github \ + or self.social_linkedin or self.social_youtube or self.social_googleplus or self.social_instagram + + has_social_network = fields.Boolean("Configure Social Network", compute=has_social_network, inverse=lambda x: x) + favicon = fields.Binary('Favicon', related='website_id.favicon') google_maps_api_key = fields.Char(related='website_id.google_maps_api_key') @@ -65,8 +80,8 @@ class ResConfigSettings(models.TransientModel): self.google_analytics_key = False def inverse_has_google_maps(self): - if not self.inverse_has_google_maps: - self._has_google_maps = False + if not self.has_google_maps: + self.google_maps_api_key = False def inverse_has_google_analytics_dashboard(self): if not self.has_google_analytics_dashboard: @@ -109,16 +124,6 @@ class ResConfigSettings(models.TransientModel): 'target': 'self', } - def company_go_to(self): - return { - 'view_type': 'form', - 'view_mode': 'form', - 'res_model': 'res.company', - 'type': 'ir.actions.act_window', - 'target': 'current', - 'res_id': self.website_id.company_id.id, - } - def action_website_create_new(self): return { 'view_type': 'form', diff --git a/addons/website/models/website.py b/addons/website/models/website.py index e2d51333600..e1a94984b46 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -49,8 +49,15 @@ class Website(models.Model): def_lang = self.env['res.lang'].search([('code', '=', lang_code)], limit=1) return def_lang.id if def_lang else self._active_languages()[0] - def _default_social_twitter(self): - return self.env.ref('base.main_company').social_twitter + name = fields.Char('Website Name', required=True) + domain = fields.Char('Website Domain') + country_group_ids = fields.Many2many('res.country.group', 'website_country_group_rel', 'website_id', 'country_group_id', + string='Country Groups', help='Used when multiple websites have the same domain.') + company_id = fields.Many2one('res.company', string="Company", default=lambda self: self.env.ref('base.main_company').id, required=True) + language_ids = fields.Many2many('res.lang', 'website_lang_rel', 'website_id', 'lang_id', 'Languages', default=_active_languages) + default_lang_id = fields.Many2one('res.lang', string="Default Language", default=_default_language, required=True) + default_lang_code = fields.Char("Default language code", related='default_lang_id.code', store=True) + auto_redirect_lang = fields.Boolean('Autoredirect Language', default=True, help="Should users be redirected to their browser's language") def _default_social_facebook(self): return self.env.ref('base.main_company').social_facebook @@ -70,15 +77,8 @@ class Website(models.Model): def _default_social_instagram(self): return self.env.ref('base.main_company').social_instagram - name = fields.Char('Website Name', required=True) - domain = fields.Char('Website Domain') - country_group_ids = fields.Many2many('res.country.group', 'website_country_group_rel', 'website_id', 'country_group_id', - string='Country Groups', help='Used when multiple websites have the same domain.') - company_id = fields.Many2one('res.company', string="Company", default=lambda self: self.env.ref('base.main_company').id, required=True) - language_ids = fields.Many2many('res.lang', 'website_lang_rel', 'website_id', 'lang_id', 'Languages', default=_active_languages) - default_lang_id = fields.Many2one('res.lang', string="Default Language", default=_default_language, required=True) - default_lang_code = fields.Char("Default language code", related='default_lang_id.code', store=True) - auto_redirect_lang = fields.Boolean('Autoredirect Language', default=True, help="Should users be redirected to their browser's language") + def _default_social_twitter(self): + return self.env.ref('base.main_company').social_twitter social_twitter = fields.Char('Twitter Account', default=_default_social_twitter) social_facebook = fields.Char('Facebook Account', default=_default_social_facebook) @@ -139,16 +139,6 @@ class Website(models.Model): self.env['ir.qweb'].clear_caches() return result - @api.onchange('company_id') - def _onchange_company_id(self): - self.social_twitter = self.company_id.social_twitter - self.social_facebook = self.company_id.social_facebook - self.social_github = self.company_id.social_github - self.social_linkedin = self.company_id.social_linkedin - self.social_youtube = self.company_id.social_youtube - self.social_googleplus = self.company_id.social_googleplus - self.social_instagram = self.company_id.social_instagram - # ---------------------------------------------------------- # Page Management # ---------------------------------------------------------- @@ -391,16 +381,6 @@ class Website(models.Model): return dependencies - # removed by 3c9e6c89e7207636c1bdab4ed8118c0c1089d43e - # @api.model - # def page_exists(self, name, module='website'): - # try: - # name = (name or "").replace("/website.", "").replace("/", "") - # if not name: - # return False - # return self.env.ref('%s.%s' % module, name) - # except Exception: - # return False # ---------------------------------------------------------- # Languages diff --git a/addons/website/views/res_config_settings_views.xml b/addons/website/views/res_config_settings_views.xml index 2d7c6ea9233..b6983814589 100644 --- a/addons/website/views/res_config_settings_views.xml +++ b/addons/website/views/res_config_settings_views.xml @@ -8,270 +8,299 @@
-

Select the Website to Configure

-
-
-
-