--- MPIWGWeb/MPIWGProjects.py 2004/07/29 12:10:10 1.17
+++ MPIWGWeb/MPIWGProjects.py 2004/09/03 08:04:21 1.26
@@ -29,7 +29,11 @@ def sortF(x,y):
try:
return cmp(x[1],y[1])
except:
- return 0
+ try:
+ return cmp(str(x[1]),str(y[1]))
+ except:
+ print "error",x[1],y[1]
+ return 0
def sortI(x,y):
xsplit=x[1].split(".")
@@ -80,20 +84,22 @@ class MPIWGRoot(ZSQLExtendFolder):
"""format"""
return formatBibliography(here,found)
- def getValue(self,field):
+ def getValue(self,fieldStr):
"""Inhalt des Feldes"""
-
- if type(field)==StringType:
- try:
- if field[len(field)-1]==";":
- field=field[0:len(text)-1]
- except:
- """nothing"""
-
- return field.encode('utf-8')
+ if type(fieldStr)==StringType:
+ field=fieldStr
else:
- return field[0].encode('utf-8')
+ field=fieldStr[0]
+ try:
+ if field[len(field)-1]==";":
+ field=field[0:len(field)-1]
+ except:
+
+ """nothing"""
+ field=re.sub(r';([^\s])','; \g<1>',field)
+ return field.encode('utf-8')
+
def sortedNames(self,list):
@@ -356,14 +362,14 @@ class MPIWGRoot(ZSQLExtendFolder):
splitted=line.split(",")
- print splitted
+ # print splitted
if not (splitted[0]==""):
newObj=MPIWGStaff.MPIWGStaff(splitted[0],splitted[1],splitted[2])
try:
project._setObject(splitted[0],newObj)
- print "done:",splitted[0]
+ #print "done:",splitted[0]
except:
print "not done:",splitted[0]
@@ -381,7 +387,7 @@ class MPIWGRoot(ZSQLExtendFolder):
for x in self.ZopeFind(self.members,obj_metatypes=['MPIWGStaff']):
ret.append(x[1].title.decode('utf-8'))
- #ret.sort()
+ ret.sort()
#print ret
return ret
@@ -422,13 +428,19 @@ class MPIWGRoot(ZSQLExtendFolder):
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'))
+ #print element[3].getContent('xdata_05')
+ if element[3].getContent('xdata_05') == "4":
+ return """"""%(element[3].absolute_url()+"/index_html",element[3].getContent('WEB_title'))
+ if element[3].getContent('xdata_05') == "5":
+ return """"""%(element[3].absolute_url()+"/index_html",element[3].getContent('WEB_title'))
+
+ return """"""%(element[3].absolute_url()+"/index_html",element[3].getContent('xdata_05'),element[3].getContent('WEB_title'))
elif element[0]==2: #mainprojects
- return "%s
"%(element[3].getContent('WEB_title'))
+ return """
"""%(element[3].absolute_url()+"/index_html",element[3].getContent('WEB_title'))
elif element[0]==3:
- return "
%s"%(element[2])
+ return """
%s
"""%(element[3].absolute_url()+"/index_html",element[3].getContent('WEB_title'))
def changePosition(self,treeId,select,RESPONSE=None):
"""Change Postion Entry"""
@@ -512,7 +524,7 @@ class MPIWGRoot(ZSQLExtendFolder):
if proj:
#ret.append("%s"%(proj[0].absolute_url,person.encode('utf-8')))
- ret.append("%s"%('members/'+proj[0].id,person))
+ ret.append("%s"%('members/'+proj[0].id+'/index_html',person))
else:
#ret.append("%s"%person.encode('utf-8'))
ret.append("%s"%person)
@@ -528,7 +540,7 @@ class MPIWGRoot(ZSQLExtendFolder):
if len(person)>1: #nicht nur Trennzeichen
splitted=person.split(",")
if len(splitted)==1:
- splitted=person.split(" ")
+ splitted=person.lstrip().rstrip().split(" ")
splittedNew=[re.sub(r'\s(.*)','$1',split) for split in splitted]
if splittedNew[0]=='':
del splittedNew[0]
@@ -543,7 +555,7 @@ class MPIWGRoot(ZSQLExtendFolder):
if proj:
#ret.append("%s"%(proj[0].absolute_url,person.encode('utf-8')))
- ret.append("%s"%(proj[0].absolute_url,person))
+ ret.append("%s"%(proj[0].absolute_url+"/index_html",person))
else:
#ret.append("%s"%person.encode('utf-8'))
ret.append("%s"%person)
@@ -556,17 +568,17 @@ class MPIWGRoot(ZSQLExtendFolder):
#return str(members)
for x in members:
ret+=self.getProjectsOfMember(name=x)
-
+
return ret
def getProjectsOfMember(self,name=None,email=None):
"""get project of a member"""
def sortP(x,y):
"""sort by sorting number"""
-
- return cmp(x.xdata_05,y.xdata_05)
+ #print x.xdata_05,y.xdata_05
+ return cmp(x.WEB_title,y.WEB_title)
-
+
ret=[]
splitNeu=[]
if email:
@@ -582,16 +594,24 @@ class MPIWGRoot(ZSQLExtendFolder):
proj=self.ProjectCatalog({'xdata_01':search})
if proj:
proj2=[x for x in proj]
- proj2.sort(sortP)
- ret.append((y,proj2))
-
+ # proj2.sort(sortP)
+ # ret.append((y,proj2))
+ else:
+ proj2=[]
+
proj=self.ProjectCatalog({'xdata_08':search})
if proj:
- proj2=[x for x in proj]
- proj2.sort(sortP)
+ names=[x.WEB_title for x in proj]
+ for x in proj:
+ if not x.WEB_title in names:
+ proj2.append(x)
+
+
+ proj2.sort(sortP)
+
+ if len(proj2)>0:
ret.append((y,proj2))
-
return ret
def givePersonList(self,name):
@@ -599,8 +619,9 @@ class MPIWGRoot(ZSQLExtendFolder):
splitted=name.split(",")
if len(splitted)==1:
- splitted=name.split(" ")
- splittedNew=[re.sub(r'\s(.*)','$1',split) for split in splitted]
+ splitted=name.lstrip().rstrip().split(" ")
+ splittedNew=[split.lstrip() for split in splitted]
+
if splittedNew[0]=='':
del splittedNew[0]
search=string.join(splittedNew,' AND ')
@@ -781,17 +802,20 @@ class MPIWGProject(Folder):
text=x.decode('latin-1').encode('utf-8')
#delete separator (;) if is there is one
+ ## try:
+## print text, text[len(text)-1]
+## except:
+## print "error:",text
try:
if text[len(text)-1]==";":
- text=text[0:len(text)-1].encode('utf-8')
+ text=text[0:len(text)-1]
+
+
except:
"""nothing"""
- if (type(text)==StringType) or (type(text)==UnicodeType):
- return text
- else:
- return text[0]
-
+ text2=re.sub(r';([^\s])','; \g<1>',text)
+ return text2
def show_html(self):
"""simple index"""
@@ -806,7 +830,7 @@ class MPIWGProject(Folder):
def editMPIWGProject(self,RESPONSE=None):
"""edit the project"""
-
+
#return self.REQUEST
for x in definedFields:
if self.REQUEST.has_key(x):
@@ -904,15 +928,15 @@ def manage_addMPIWGProjectForm(self):
def manage_addMPIWGProject(self,id,RESPONSE=None):
"""method to add a project"""
#print argv
- if self.REQUEST.has_key('fileupload'):
- fileupload=self.REQUEST['fileupload']
- if fileupload:
- file_name=fileupload.filename
- filedata=fileupload.read()
-
- argv=xmlhelper.proj2hash(filedata)
-
- #print argv
+ fileupload=self.REQUEST.get('fileupload',None)
+ if fileupload:
+ print fileupload
+ file_name=fileupload.filename
+ filedata=fileupload.read()
+
+ argv=xmlhelper.proj2hash(filedata)
+
+ #print argv
newObj=MPIWGProject(id,argv)
else:
newObj=MPIWGProject(id)