diff --git a/docker/scripts/odoo_website_bootstrap.py b/docker/scripts/odoo_website_bootstrap.py index 156b4b9..8718688 100644 --- a/docker/scripts/odoo_website_bootstrap.py +++ b/docker/scripts/odoo_website_bootstrap.py @@ -4,6 +4,7 @@ import os from pathlib import Path from typing import Any +from urllib.parse import urlparse ODOO_INSTANCE_OVERRIDES_PAYLOAD_ENV_KEY = "ODOO_INSTANCE_OVERRIDES_PAYLOAD_B64" @@ -148,7 +149,7 @@ def apply_website_bootstrap(env: Any, parsed_payload: dict[str, object] | None) if canonical_url: env["ir.config_parameter"].sudo().set_param("web.base.url", canonical_url) env["ir.config_parameter"].sudo().set_param("web.base.url.freeze", "True") - website_values["domain"] = canonical_url + website_values["domain"] = urlparse(canonical_url).netloc or canonical_url default_lang = str(website_payload.get("default_lang") or "").strip() if default_lang and "default_lang_id" in website._fields: lang = env["res.lang"].sudo().search([("code", "=", default_lang)], limit=1) diff --git a/docker/scripts/run_odoo_data_workflows.py b/docker/scripts/run_odoo_data_workflows.py index f270a88..bc5709c 100644 --- a/docker/scripts/run_odoo_data_workflows.py +++ b/docker/scripts/run_odoo_data_workflows.py @@ -1509,6 +1509,7 @@ def run_bootstrap(self, *, do_sanitize: bool) -> None: def run_post_deploy_maintenance(self) -> None: _logger.info("Starting post-deploy maintenance for database '%s'", self.local.db_name) + self.install_addons(reason="post-deploy install") self.update_addons(reason="post-deploy upgrade") self.connect_to_db() self.reconcile_missing_manifest_install_queue() diff --git a/tests/test_odoo_data_workflows.py b/tests/test_odoo_data_workflows.py index 41c0fdf..ae126f0 100644 --- a/tests/test_odoo_data_workflows.py +++ b/tests/test_odoo_data_workflows.py @@ -65,6 +65,7 @@ def test_post_deploy_maintenance_runs_overrides_and_service_user_provisioning(se runner = odoo_data_workflows.OdooDataWorkflowRunner(self._local_settings(), upstream=None, env_file=None) with ( + patch.object(runner, "install_addons", side_effect=lambda **_kwargs: calls.append("install_addons")), patch.object(runner, "update_addons", side_effect=lambda **_kwargs: calls.append("update_addons")), patch.object(runner, "connect_to_db", side_effect=lambda: calls.append("connect_to_db")), patch.object( @@ -96,6 +97,7 @@ def test_post_deploy_maintenance_runs_overrides_and_service_user_provisioning(se self.assertEqual( calls, [ + "install_addons", "update_addons", "connect_to_db", "reconcile_missing_manifest_install_queue", diff --git a/tests/test_odoo_website_bootstrap.py b/tests/test_odoo_website_bootstrap.py index a2f3f6d..bfaf1be 100644 --- a/tests/test_odoo_website_bootstrap.py +++ b/tests/test_odoo_website_bootstrap.py @@ -116,6 +116,7 @@ def test_controller_homepage_route_persists_homepage_url_and_clears_stale_page_h self.assertIn({"homepage_url": "/shop", "homepage_id": False}, env.website.writes) self.assertEqual(env.config_parameter.values["web.base.url"], "https://opw-testing.example.com") + self.assertIn({"name": "OPW", "domain": "opw-testing.example.com"}, env.website.writes) if __name__ == "__main__":