--- ECHO_content/ECHO_Nav.py 2006/01/16 16:25:18 1.70 +++ ECHO_content/ECHO_Nav.py 2006/03/02 19:59:03 1.74 @@ -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 @@ -682,13 +700,14 @@ class ECHO_navigation(Folder): # add label falls existiert und nicht leer if hasattr(temp[x][1],'label'): - if not temp[x][1].label=='': + if not temp[x][1].getLabel()=='': label=temp[x][1].getLabel() else: - try: - label=temp[x][1].getTitle() - except: - return "ERROR" + try: + label=temp[x][1].getTitle() + except: + zLOG.LOG("ECHO_Nav",zLOG.ERROR,"%s has neither getLabel nor getTile implemented"%temp[x][1].getId()) + label="" else: label=temp[x][1].getTitle() @@ -841,7 +860,7 @@ class ECHO_navigation(Folder): #except: # keys="" - + return keys def numberOfMainNavElements(self):