[FIX] website: ignore leading slashes when creating a page

When the name given when creating a new page starts with a slash, the
werkzeug route `/website/add/<path:path>` cannot be matched. This leads
to wrong navigation situations.

This commit removes any leading slash from the entered page name.

Steps to reproduce:
- Create a page.
- Enter "/abc" as name.

=> A 404 error page was reached.

task-3328827

X-original-commit: 7ff29b680d8552f0b4a440b3209a6a37357af21e
Part-of: odoo/odoo#123693
This commit is contained in:
Benoit Socias
2023-06-05 17:51:23 +02:00
parent 1f0ba75519
commit fc7fa1683c
@@ -108,7 +108,9 @@ export class AddPageDialog extends Component {
async addPage() {
const params = {'add_menu': this.state.addMenu || '', csrf_token};
const url = `/website/add/${encodeURIComponent(this.state.name)}`;
// Remove any leading slash.
const pageName = this.state.name.replace(/^\/*/, "");
const url = `/website/add/${encodeURIComponent(pageName)}`;
const websiteId = parseInt(this.state.websiteId);
if (this.props.selectWebsite) {
params['website_id'] = websiteId;