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
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
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