--- MPIWGWeb/MPIWGProjects.py 2004/07/29 12:10:10 1.17 +++ MPIWGWeb/MPIWGProjects.py 2004/08/10 13:27:25 1.20 @@ -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(".") @@ -381,7 +385,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 +426,13 @@ 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')) + return """

Department %s: %s

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

%s

"%(element[3].getContent('WEB_title')) + return """

%s

"""%(element[3].absolute_url(),element[3].getContent('WEB_title')) elif element[0]==3: - return "
%s"%(element[2]) + return """
%s"""%(element[3].absolute_url(),element[3].getContent('WEB_title')) def changePosition(self,treeId,select,RESPONSE=None): """Change Postion Entry""" @@ -556,17 +560,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 +586,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): @@ -904,15 +916,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)