--- ECHO_content/ECHO_Nav.py 2006/01/16 17:33:00 1.71 +++ ECHO_content/ECHO_Nav.py 2006/05/15 16:04:52 1.75 @@ -96,7 +96,14 @@ class ECHO_ZCatalogElement(SimpleItem): if RESPONSE is not None: RESPONSE.redirect('manage_main') def getKeywordList(self): - return getattr(self,self.catalogId).uniqueValuesFor(self.field) + try: + return getattr(self,self.catalogId).uniqueValuesFor(self.field) + except: + #return getattr(self,self.catalogId).query(self.field) + + list= [x for x in getattr(getattr(self,self.catalogId),self.field).words()] + list.sort() + return list def getNavList(self): """ausgabe der treffer list fuer navigation""" @@ -430,6 +437,15 @@ class ECHO_navigation(Folder): """Navigations Element""" meta_type="ECHO_Navigation" management_page_charset="utf-8" + + def getUsername(self): + """get name of user""" + username=str(self.REQUEST['AUTHENTICATED_USER']) + if username=='Anonymous User': + return None + else: + return username + def searchExternalCollection(self,url,simpleSearch): """search external collection via xmlrpc""" server=xmlrpclib.Server(url) @@ -482,8 +498,10 @@ class ECHO_navigation(Folder): if not str: return "" if type(str) is StringType: - - return str.decode('utf-8') + try: + return str.decode('utf-8') + except: + return str.decode('latin-1') else: return str @@ -961,7 +979,7 @@ def createPath(self,url1,url2): if self.REQUEST.has_key('VirtualRootPhysicalPath'): vp="/".join(self.REQUEST['VirtualRootPhysicalPath']) - if vp[0]=="/": + if (len(vp)>0) and vp[0]=="/": vp=vp[1:] url2=url2.replace(vp+"/",'')