[FIX] website: Select some text > Click on the link button > Select Page textfield and start typing (e.g. comm) > There is a lot of noise here; Dsiplaying create page for existing page
bzr revid: odo@openerp.com-20140219105502-jg8f2i1gpz5vdarf
This commit is contained in:
parent
78c0fcd060
commit
a09b0db51d
|
@ -175,10 +175,8 @@ class website(osv.osv):
|
|||
return '%s.%s' % (module, slugify(name, max_length=50))
|
||||
|
||||
def page_exists(self, cr, uid, ids, name, module='website', context=None):
|
||||
page = self.page_for_name(cr, uid, ids, name, module=module, context=context)
|
||||
|
||||
try:
|
||||
self.pool["ir.model.data"].get_object_reference(cr, uid, module, name)
|
||||
return self.pool["ir.model.data"].get_object_reference(cr, uid, module, name)
|
||||
except:
|
||||
return False
|
||||
|
||||
|
@ -348,6 +346,7 @@ class website(osv.osv):
|
|||
router = request.httprequest.app.get_db_router(request.db)
|
||||
# Force enumeration to be performed as public user
|
||||
uid = self.get_public_user(cr, uid, context=context)
|
||||
url_list = []
|
||||
for rule in router.iter_rules():
|
||||
if not self.rule_is_enumerable(rule):
|
||||
continue
|
||||
|
@ -369,7 +368,9 @@ class website(osv.osv):
|
|||
for values in generated:
|
||||
domain_part, url = rule.build(values, append_unknown=False)
|
||||
page = {'name': url, 'url': url}
|
||||
|
||||
if url in url_list:
|
||||
continue
|
||||
url_list.append(url)
|
||||
if not filtered and query_string and not self.page_matches(cr, uid, page, query_string, context=context):
|
||||
continue
|
||||
yield page
|
||||
|
|
|
@ -1034,10 +1034,13 @@
|
|||
},
|
||||
start: function () {
|
||||
var self = this;
|
||||
var last;
|
||||
this.$('#link-page').select2({
|
||||
minimumInputLength: 1,
|
||||
placeholder: _t("New or existing page"),
|
||||
query: function (q) {
|
||||
if (q.term == last) return;
|
||||
last = q.term;
|
||||
$.when(
|
||||
self.page_exists(q.term),
|
||||
self.fetch_pages(q.term)
|
||||
|
|
Loading…
Reference in New Issue