Changeset 1715
- Timestamp:
- 27.10.2011 22:01:19 (7 months ago)
- Location:
- ZMS/trunk
- Files:
-
- 2 edited
-
_objattrs.py (modified) (3 diffs)
-
_zreferableitem.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ZMS/trunk/_objattrs.py
r1557 r1715 617 617 try: 618 618 old = value 619 ref_obj = self.getLinkObj(value) 620 if ref_obj is not None: 621 # Repair link. 622 value = self.getRefObjPath( ref_obj) 623 elif value.find('{$__') < 0: 624 # Broken link. 625 value = '{$__' + value[2:-1] + '__}' 619 value = self.validateLinkObj(value) 626 620 set = old != value 627 621 except: … … 986 980 #-- Url-Fields 987 981 if datatype == _globals.DT_URL and v.startswith('{$') and not v.startswith('{$__') and self.getConfProperty('ZMS.InternalLinks.autocorrection',0)==1: 988 ref_obj = self.getLinkObj(v) 989 if ref_obj is not None: 990 # Repair link. 991 v = self.getRefObjPath(ref_obj) 992 elif v.find('{$') == 0 and v.find('{$__') < 0: 993 # Broken link. 994 v = '{$__' + v[2:-1] + '__}' 982 v = self.validateLinkObj(v) 995 983 996 984 # Hook for custom formatting. … … 1178 1166 if ref_obj is not None: 1179 1167 ref_obj.registerRefObj(self,self.REQUEST) 1180 # Repair link. 1181 value = self.getRefObjPath(ref_obj) 1182 elif value.startswith('{$') and not value.startswith('{$__'): 1183 # Broken link. 1184 value = '{$__' + value[2:-1] + '__}' 1168 value = self.validateLinkObj(value) 1185 1169 1186 1170 #-- Notify metaobj_manager. -
ZMS/trunk/_zreferableitem.py
r1630 r1715 140 140 # ZReferableItem.getRefObjPath: 141 141 # ---------------------------------------------------------------------------- 142 def getRefObjPath(self, ob ):142 def getRefObjPath(self, ob, anchor=''): 143 143 ref = '' 144 144 if ob is not None: … … 160 160 s += clientId 161 161 path = s + '@' + path 162 ref = '{$' + path + '}'162 ref = '{$' + path + anchor + '}' 163 163 return ref 164 164 … … 423 423 424 424 # ---------------------------------------------------------------------------- 425 # ZReferableItem.validateLinkObj: 426 # 427 # Validates internal links. 428 # ---------------------------------------------------------------------------- 429 def validateLinkObj(self, url): 430 if url.startswith('{$') and not url.startswith('{$__'): 431 ref_obj = self.getLinkObj(url) 432 ref_anchor = '' 433 if url.find('#') > 0: 434 ref_anchor = url[url.find('#'):-1] 435 if ref_obj is not None: 436 # Repair link. 437 url = self.getRefObjPath( ref_obj, ref_anchor) 438 else: 439 # Broken link. 440 url = '{$__' + url[2:-1] + '__}' 441 return url 442 443 444 # ---------------------------------------------------------------------------- 425 445 # ZReferableItem.getLinkObj: 426 446 # … … 430 450 ob = None 431 451 if isInternalLink(url): 432 if url.find('{$__') != 0:452 if not url.startswith('{$__'): 433 453 docElmnt = None 434 454 path = url[2:-1] 455 i = path.find('#') 456 if i > 0: 457 path = path[:i] 435 458 i = path.find('@') 436 459 if i > 0: … … 467 490 REQUEST = _globals.nvl( REQUEST, self.REQUEST) 468 491 if isInternalLink(url): 492 ref_anchor = '' 493 if url.find('#') > 0: 494 ref_anchor = url[url.find('#'):-1] 469 495 ob = self.getLinkObj(url,REQUEST) 470 496 if ob is None: … … 474 500 if index_html == '': 475 501 index_html = ob.getHref2IndexHtml(REQUEST) 476 return index_html 502 return index_html + ref_anchor 477 503 elif isMailLink (url): 478 504 prefix = 'mailto:'
Note: See TracChangeset
for help on using the changeset viewer.
