diff options
| author | Goffin Simon <sig@odoo.com> | 2020-11-16 11:15:27 +0000 |
|---|---|---|
| committer | Goffin Simon <sig@odoo.com> | 2020-11-18 08:34:23 +0000 |
| commit | ae6515a5fb849a4b561b87eaa5c78035771a17b8 (patch) | |
| tree | 2ba6a336585b71312f74bf0b6db5d88f38ff2634 | |
| parent | 17bc5d31722c1a90b03ada16f8e100b8713095ca (diff) | |
[FIX] website: Delete the current website
Steps to reproduce the bug:
- Delete the current website
- Go to homepage
Bug:
An error 500 was displayrd
opw:2381929
closes odoo/odoo#61849
X-original-commit: 0e7faad49ed78f5def56d9af90c383cbbfa42e9f
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
| -rw-r--r-- | addons/website/i18n/website.pot | 6 | ||||
| -rw-r--r-- | addons/website/models/website.py | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/addons/website/i18n/website.pot b/addons/website/i18n/website.pot index 1627ec64650..322cdc82ca9 100644 --- a/addons/website/i18n/website.pot +++ b/addons/website/i18n/website.pot @@ -8679,6 +8679,12 @@ msgid "valuation, rank" msgstr "" #. module: website +#: code:addons/website/models/website.py:162 +#, python-format +msgid "You must keep at least one website." +msgstr "" + +#. module: website #: model:ir.model.fields,field_description:website.field_res_config_settings__website_id msgid "website" msgstr "" diff --git a/addons/website/models/website.py b/addons/website/models/website.py index 864aeb19571..44e782e9ac5 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -16,6 +16,7 @@ from odoo import api, fields, models, tools from odoo.addons.http_routing.models.ir_http import slugify, _guess_mimetype, url_for from odoo.addons.website.models.ir_http import sitemap_qs2dom from odoo.addons.portal.controllers.portal import pager +from odoo.exceptions import UserError from odoo.http import request from odoo.modules.module import get_resource_path from odoo.osv.expression import FALSE_DOMAIN @@ -221,6 +222,9 @@ class Website(models.Model): vals['favicon'] = tools.image_process(vals['favicon'], size=(256, 256), crop='center', output_format='ICO') def unlink(self): + website = self.search([('id', 'not in', self.ids)], limit=1) + if not website: + raise UserError(_('You must keep at least one website.')) # Do not delete invoices, delete what's strictly necessary attachments_to_unlink = self.env['ir.attachment'].search([ ('website_id', 'in', self.ids), |
