From 4ddddc093334070daae8e46794ebadcd58b7d9c2 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Tue, 7 Jun 2016 20:42:41 +0200 Subject: [PATCH] link consistency: take URL from menu item if target is assigned to one --- browser/node.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/browser/node.py b/browser/node.py index 226f462..139fb60 100755 --- a/browser/node.py +++ b/browser/node.py @@ -560,12 +560,21 @@ class NodeView(BaseView): """ Return URL of given target view given as .XXX URL. """ if isinstance(target, BaseView): + miu = self.getMenuItemUrlForTarget(target.context) + if miu is not None: + return miu return self.makeTargetUrl(self.url, target.uniqueId, target.title) else: target = baseObject(target) return self.makeTargetUrl(self.url, util.getUidForObject(target), target.title) + def getMenuItemUrlForTarget(self, tobj): + for node in tobj.getClients(): + if node.getMenu() == self.menuObject: + return absoluteURL(node, self.request) + + def getActions(self, category='object', page=None, target=None): actions = [] #self.registerDojo()