--- MPIWGWeb/MPIWGProjects.py 2004/07/08 07:04:31 1.12 +++ MPIWGWeb/MPIWGProjects.py 2004/07/29 08:18:10 1.16 @@ -100,8 +100,17 @@ class MPIWGRoot(ZSQLExtendFolder): """sort names""" def sortLastName(x_c,y_c): - x=urllib.unquote(x_c) - y=urllib.unquote(y_c) + try: + x=urllib.unquote(x_c).encode('utf-8','ignore') + except: + x=urllib.unquote(x_c) + + try: + y=urllib.unquote(y_c).encode('utf-8','ignore') + except: + x=urllib.unquote(y_c) + + try: last_x=x.split()[len(x.split())-1] @@ -198,6 +207,16 @@ class MPIWGRoot(ZSQLExtendFolder): RESPONSE.redirect("showHistoricalPersons") + def getPersonDict(self,name): + """name von dict""" + + try: + return self.personDict[name][0].encode('utf-8') + except: + return self.personDict[name][0] + return self.personDict[name][0].decode('latin-1').encode('utf-8') + + def showHistoricalPersons(self): """show persons""" pt=PageTemplateFile('Products/MPIWGWeb/zpt/showHistoricalPersons').__of__(self) @@ -263,7 +282,7 @@ class MPIWGRoot(ZSQLExtendFolder): if re.match(searchStr,project[1]): if depth: - print "ho" + if int(depth)>=len(project[1].split("."))-len(childs.split(".")): ret.append(project) @@ -393,12 +412,25 @@ class MPIWGRoot(ZSQLExtendFolder): splittedId=idNr.split(".") depth=len(splittedId) nr=idNr - title=project[0].WEB_title + #title=project[0].WEB_title + title=[project[0].getContent('WEB_title')] + #print title returnList.append((depth,nr,title,project[0])) return returnList + def formatElementForOverview(self,element): + """format the element for output in overview""" + if element[0]==1: #department + return "

Department %s: %s

"%(element[3].getContent('xdata_05'),element[3].getContent('WEB_title')) + + elif element[0]==2: #mainprojects + return "

%s

"%(element[3].getContent('WEB_title')) + + elif element[0]==3: + return "
%s"%(element[3].getContent('WEB_title')) + def changePosition(self,treeId,select,RESPONSE=None): """Change Postion Entry""" numbers=[] @@ -457,6 +489,35 @@ class MPIWGRoot(ZSQLExtendFolder): + def getRelativeUrlFromPerson(self,list): + """get urls to person list""" + ret=[] + persons=list.split(";") + for person in persons: + + if len(person)>1: #nicht nur Trennzeichen + splitted=person.split(",") + if len(splitted)==1: + splitted=person.split(" ") + splittedNew=[re.sub(r'\s(.*)','$1',split) for split in splitted] + if splittedNew[0]=='': + del splittedNew[0] + search=string.join(splittedNew,' AND ') + + if not search=='': + + try: + proj=self.MembersCatalog({'title':search}) + except: + proj=None + + if proj: + #ret.append("%s"%(proj[0].absolute_url,person.encode('utf-8'))) + ret.append("%s"%('members/'+proj[0].id,person)) + else: + #ret.append("%s"%person.encode('utf-8')) + ret.append("%s"%person) + return string.join(ret,";") def getUrlFromPerson(self,list): @@ -717,7 +778,7 @@ class MPIWGProject(Folder): try: text =x.encode('utf-8') except: - text="ERROR" + text=x.decode('latin-1').encode('utf-8') #delete separator (;) if is there is one try: @@ -725,8 +786,11 @@ class MPIWGProject(Folder): text=text[0:len(text)-1].encode('utf-8') except: """nothing""" - - return text + + if (type(text)==StringType) or (type(text)==UnicodeType): + return text + else: + return text[0] def show_html(self):