summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Kersten <jke@odoo.com>2018-08-29 12:48:51 +0200
committerJeremy Kersten <jke@odoo.com>2018-08-29 15:18:19 +0200
commit2a9a514551ca951db656e139cb4d177657eb95e7 (patch)
treee9463529e7f9a1dac4c51c5c3246fdf6db1a28fd
parente24fedb757dd1e49b27b4a8d5ab084debcf53d85 (diff)
[FIX] website, website_theme_install: improve flow for new website creation
-rw-r--r--addons/website/models/res_config_settings.py2
-rw-r--r--addons/website/models/website.py14
-rw-r--r--addons/website/views/res_config_settings_views.xml2
-rw-r--r--addons/website/views/website_templates.xml18
-rw-r--r--addons/website/views/website_views.xml10
-rw-r--r--addons/website_theme_install/models/website.py7
-rw-r--r--addons/website_theme_install/views/views.xml7
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>