summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGoffin Simon <sig@odoo.com>2020-11-16 11:15:27 +0000
committerGoffin Simon <sig@odoo.com>2020-11-18 08:34:23 +0000
commitae6515a5fb849a4b561b87eaa5c78035771a17b8 (patch)
tree2ba6a336585b71312f74bf0b6db5d88f38ff2634
parent17bc5d31722c1a90b03ada16f8e100b8713095ca (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.pot6
-rw-r--r--addons/website/models/website.py4
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),