--- MPIWGWeb/MPIWGProjects.py 2004/07/08 07:04:31 1.12 +++ MPIWGWeb/MPIWGProjects.py 2004/07/29 12:10:10 1.17 @@ -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,24 @@ 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 "
"%(element[3].getContent('WEB_title'))
+
+ elif element[0]==3:
+ return "
%s"%(element[2])
+
def changePosition(self,treeId,select,RESPONSE=None):
"""Change Postion Entry"""
numbers=[]
@@ -457,6 +488,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):
@@ -691,7 +751,8 @@ class MPIWGProject(Folder):
"""giveListofDatafields"""
ret=[]
for x in range(1,14):
- ret.append('xdata_%02i'%x)
+ if not x in [6,10,9]: # not used fields
+ ret.append('xdata_%02i'%x)
return ret
def getDefinedFields(self):
@@ -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):