diff options
| author | Jeremy Kersten <jke@odoo.com> | 2018-08-29 12:48:51 +0200 |
|---|---|---|
| committer | Jeremy Kersten <jke@odoo.com> | 2018-08-29 15:18:19 +0200 |
| commit | 2a9a514551ca951db656e139cb4d177657eb95e7 (patch) | |
| tree | e9463529e7f9a1dac4c51c5c3246fdf6db1a28fd | |
| parent | e24fedb757dd1e49b27b4a8d5ab084debcf53d85 (diff) | |
[FIX] website, website_theme_install: improve flow for new website creation
| -rw-r--r-- | addons/website/models/res_config_settings.py | 2 | ||||
| -rw-r--r-- | addons/website/models/website.py | 14 | ||||
| -rw-r--r-- | addons/website/views/res_config_settings_views.xml | 2 | ||||
| -rw-r--r-- | addons/website/views/website_templates.xml | 18 | ||||
| -rw-r--r-- | addons/website/views/website_views.xml | 10 | ||||
| -rw-r--r-- | addons/website_theme_install/models/website.py | 7 | ||||
| -rw-r--r-- | addons/website_theme_install/views/views.xml | 7 |
7 files changed, 18 insertions, 42 deletions
diff --git a/addons/website/models/res_config_settings.py b/addons/website/models/res_config_settings.py index 6ccc989883f..a4500e240aa 100644 --- a/addons/website/models/res_config_settings.py +++ b/addons/website/models/res_config_settings.py @@ -126,6 +126,6 @@ class ResConfigSettings(models.TransientModel): 'view_id': self.env.ref('website.view_website_form').id, 'res_model': 'website', 'type': 'ir.actions.act_window', - 'target': 'current', + 'target': 'new', 'res_id': False, } diff --git a/addons/website/models/website.py b/addons/website/models/website.py index 90aba4b7438..2f53c3ed72b 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -71,7 +71,7 @@ class Website(models.Model): 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) + 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) @@ -112,10 +112,6 @@ class Website(models.Model): for website in self: website.menu_id = Menu.search([('parent_id', '=', False), ('website_id', '=', website.id)], order='id', limit=1).id - # cf. Wizard hack in website_views.xml - def noop(self, *args, **kwargs): - pass - @api.model def create(self, vals): if 'user_id' not in vals: @@ -157,10 +153,10 @@ class Website(models.Model): return new_homepage_view = '''<t name="Homepage" t-name="website.homepage%s"> - <t t-call="website.layout"> -%s - </t> -</t>''' % (self.id, self.env['ir.ui.view'].render_template('website.default_homepage', values={'website': self}).decode()) + <t t-call="website.layout"> + <div id="wrap" class="oe_structure oe_empty"/> + </t> + </t>''' % (self.id) standard_homepage.with_context(website_id=self.id).arch_db = new_homepage_view self.homepage_id = self.env['website.page'].search([('website_id', '=', self.id), diff --git a/addons/website/views/res_config_settings_views.xml b/addons/website/views/res_config_settings_views.xml index e9e84b24219..8bb2a648667 100644 --- a/addons/website/views/res_config_settings_views.xml +++ b/addons/website/views/res_config_settings_views.xml @@ -17,7 +17,7 @@ Settings on this page will apply to this website </div> <div class="mt16"> - <field name="website_id" options="{'no_open': True, 'no_create_edit': True}"/> + <field name="website_id" widget="selection" required="1"/> </div> <div> <button name="action_website_create_new" type="object" string="Create a New Website" class="btn-secondary" icon="fa-arrow-right"/> diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml index dc05cd6c766..599a383057b 100644 --- a/addons/website/views/website_templates.xml +++ b/addons/website/views/website_templates.xml @@ -1154,22 +1154,4 @@ Sitemap: <t t-esc="url_root"/>sitemap.xml </tr> </template> -<template id="default_homepage"> - <div id="wrap" class="oe_structure oe_empty"> - <div class="item image_text oe_img_bg active"> - <div class="container"> - <div class="row content"> - <div class="col-md-6 col-sm-12"> - <h2>Homepage of <t t-esc="website.name"/></h2> - <h3>Click to customize this text</h3> - <p> - <a role="button" class="btn btn-success btn-large" href="/contactus">Contact us</a> - </p> - </div> - </div> - </div> - </div> - </div> -</template> - </odoo> diff --git a/addons/website/views/website_views.xml b/addons/website/views/website_views.xml index 6d751d800a3..40e86ec0b75 100644 --- a/addons/website/views/website_views.xml +++ b/addons/website/views/website_views.xml @@ -28,23 +28,17 @@ <group> <field name="name"/> <field name="domain"/> - <field name="country_group_ids" widget="many2many_tags"/> </group> </group> </div> <div name="other"> <group name="other"> <group> - <field name="company_id" groups="base.group_multi_company"/> - <field name="language_ids" widget="many2many_tags"/> - <field name="default_lang_id" widget="selection"/> + <field name="company_id" widget="selection" groups="base.group_multi_company"/> + <field name="default_lang_id" widget="selection" groups="base.group_no_one"/> </group> </group> </div> - <div name="buttons"> - <button type="object" name="button_go_website" class="btn btn-primary" icon="fa-globe">Go to website</button> - <button name="%(website.action_website_add_features)d" type="action" class="btn btn-secondary ml-2" icon="fa-plus">Add Features</button> - </div> </form> </field> </record> diff --git a/addons/website_theme_install/models/website.py b/addons/website_theme_install/models/website.py index 6bf339362b5..c50eb87fb53 100644 --- a/addons/website_theme_install/models/website.py +++ b/addons/website_theme_install/models/website.py @@ -1,15 +1,16 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import models +from odoo import models, api class Website(models.Model): _name = "website" _inherit = _name - def button_view_theme(self): - self._force() + @api.model + def create_and_redirect_to_theme(self, vals): + self.browse(vals)._force() return { 'type': 'ir.actions.act_url', 'url': '/web#action=website_theme_install.theme_install_kanban_action', diff --git a/addons/website_theme_install/views/views.xml b/addons/website_theme_install/views/views.xml index 36de43db959..95f9990be35 100644 --- a/addons/website_theme_install/views/views.xml +++ b/addons/website_theme_install/views/views.xml @@ -116,8 +116,11 @@ action = { <field name="model">website</field> <field name="inherit_id" ref="website.view_website_form"/> <field name="arch" type="xml"> - <xpath expr="//button[@name='button_go_website']" position='after'> - <button type="object" name="button_view_theme" class="btn btn-primary ml-2" icon="fa-paint-brush">Choose a theme</button> + <xpath expr="//form" position='inside'> + <footer> + <button name="create_and_redirect_to_theme" type="object" string="Choose a theme" class="ml-2 btn btn-primary" icon="fa-paint-brush"/> + <button string="Cancel" class="btn btn-default" special="cancel"/> + </footer> </xpath> </field> </record> |
