From be4b1b9b599d2dea07f68908b56a2c84ab8e5e5f Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 23 Sep 2013 13:06:18 +0200 Subject: [PATCH] [FIX] matching of site page URLs With page urls not necessarily being full xmlids, match to result of list_pages needs to take that in account to correctly infer a url is a site page's. bzr revid: xmo@openerp.com-20130923110618-ckicw4a5bpvatzie --- addons/website/controllers/main.py | 2 +- addons/website/static/src/js/website.editor.js | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index e16bb53ba37..5d3ea7ed7f1 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -64,7 +64,7 @@ class Website(openerp.addons.web.controllers.main.Home): request.cr, request.uid, newview_id, context=request.context) newview.write({ 'arch': newview.arch.replace("website.default_page", xid), - 'name': "page/%s" % xid, + 'name': "page/%s" % path, 'page': True, }) # Fuck it, we're doing it live diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js index 77e031d352e..16443ac36c4 100644 --- a/addons/website/static/src/js/website.editor.js +++ b/addons/website/static/src/js/website.editor.js @@ -604,10 +604,15 @@ if (!href) { return; } var match, $control; - if (match = /(mailto):(.+)/.exec(href)) { - $control = this.$('input.email-address').val(match[2]); - } else if(href in this.pages) { + if (match = /mailto:(.+)/.exec(href)) { + $control = this.$('input.email-address').val(match[1]); + } else if (href in this.pages) { $control = this.$('select.existing').val(href); + } else if (match = /\/page\/(.+)/.exec(href)) { + var actual_href = '/page/website.' + match[1]; + if (actual_href in this.pages) { + $control = this.$('select.existing').val(actual_href); + } } if (!$control) { $control = this.$('input.url').val(href);