version 1.1, 2004/02/04 10:03:33
|
version 1.4, 2004/02/12 16:51:02
|
Line 66 class MPIWGRoot(Folder):
|
Line 66 class MPIWGRoot(Folder):
|
project=getattr(self,folderName) |
project=getattr(self,folderName) |
|
|
for line in fileupload.readlines(): |
for line in fileupload.readlines(): |
print line |
#print line |
splitted=line.split(",") |
splitted=line.split(",") |
if not (splitted[0]==""): |
if not (splitted[0]==""): |
newObj=MPIWGStaff.MPIWGStaff(splitted[0],splitted[1],splitted[2]) |
newObj=MPIWGStaff.MPIWGStaff(splitted[0],splitted[1],splitted[2]) |
Line 77 class MPIWGRoot(Folder):
|
Line 77 class MPIWGRoot(Folder):
|
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
def getAllMembers(self): |
|
"""give list of all members""" |
|
ret=[] |
|
|
|
for x in self.members.objectValues('MPIWGStaff'): |
|
#print x.title |
|
ret.append(x.title) |
|
|
|
ret.sort() |
|
return ret |
|
|
|
def getUrlFromPerson(self,list): |
|
"""get urls to person list""" |
|
ret=[] |
|
persons=list.split(";") |
|
for person in persons: |
|
|
|
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("<a href=%s >%s</a>"%(proj[0].absolute_url,person)) |
|
else: |
|
ret.append("%s"%person) |
|
return string.join(ret,";") |
|
|
|
def getProjectsOfMembers(self): |
|
"""give tuple member /projects""" |
|
ret=[] |
|
members=self.getAllMembers() |
|
for x in members: |
|
splitted=x.split(",") |
|
|
|
proj=self.ProjectCatalog({'xdata_01':string.join(splitted,' AND')}) |
|
if proj: |
|
ret.append((x,proj)) |
|
return ret |
def givePersonList(self,name): |
def givePersonList(self,name): |
"""check if person is in personfolder and return list of person objects""" |
"""check if person is in personfolder and return list of person objects""" |
|
|
|
splitted=name.split(",") |
|
if len(splitted)==1: |
|
splitted=name.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=='': |
|
proj=self.MembersCatalog({'title':search}) |
|
|
|
if proj: |
splitted=name.split(",") # version nachname, vorname... |
return [[x.lastName,x.firstName] for x in proj] |
if len(splitted)>1: |
|
lastName=splitted[0] |
|
firstName=splitted[1] |
|
else: |
else: |
splitted=name.split(" ") #version vorname irgenwas nachnamae |
return [] |
|
|
|
## splitted=name.split(",") # version nachname, vorname... |
|
## if len(splitted)>1: |
|
## lastName=splitted[0] |
|
## firstName=splitted[1] |
|
## else: |
|
## splitted=name.split(" ") #version vorname irgenwas nachnamae |
|
|
lastName=splitted[len(splitted)-1] |
## lastName=splitted[len(splitted)-1] |
firstName=string.join(splitted[0:len(splitted)-1]) |
## firstName=string.join(splitted[0:len(splitted)-1]) |
|
|
objs=[] |
## objs=[] |
|
|
print self.members |
#print self.members |
for x in self.members.__dict__: |
## for x in self.members.__dict__: |
obj=getattr(self.members,x) |
## obj=getattr(self.members,x) |
if hasattr(obj,'lastName') and hasattr(obj,'firstName'): |
## if hasattr(obj,'lastName') and hasattr(obj,'firstName'): |
|
|
if (re.match(".*"+obj.lastName+".*",lastName) or re.match(".*"+lastName+".*",obj.lastName)) and (re.match(obj.firstName+".*",firstName) or re.match(firstName+".*",obj.firstName)): |
## if (re.match(".*"+obj.lastName+".*",lastName) or re.match(".*"+lastName+".*",obj.lastName)) and (re.match(".*"+obj.firstName+".*",firstName) or re.match(".*"+firstName+".*",obj.firstName)): |
|
|
|
## objs.append((obj,lastName+", "+firstName)) |
|
|
objs.append((obj,lastName+", "+firstName)) |
|
|
|
return objs |
return objs |
|
|
|
|
def personCheck(self,names): |
def personCheck(self,names): |
"""all persons for list""" |
"""all persons for list""" |
print "names",names |
#print "names",names |
splitted=names.split(";") |
splitted=names.split(";") |
ret={} |
ret={} |
for name in splitted: |
for name in splitted: |
|
|
if not (name==""): |
if not (name==""): |
|
try: |
ret[name]=self.givePersonList(name) |
ret[name]=self.givePersonList(name) |
|
except: |
print "RET",ret |
"""NOTHIHN""" |
|
#print "RET",ret |
return ret |
return ret |
|
|
def giveCheckList(self,person,fieldname): |
def giveCheckList(self,person,fieldname): |
Line 155 class MPIWGProject(Folder):
|
Line 219 class MPIWGProject(Folder):
|
|
|
meta_type='MPIWGProject' |
meta_type='MPIWGProject' |
|
|
|
def crossLinker(self): |
|
"""experimental crosslinker""" |
|
splitted=self.WEB_project_description[0].split() |
|
new=[] |
|
for split in splitted: |
|
try: |
|
found=self.DescriptionCatalog({'fulltext':split}) |
|
|
|
if len(found)>1: |
|
|
|
new.append("<a href=%s>%s</a>"%(split,split)) |
|
else: |
|
new.append(split) |
|
except: |
|
new.append(split) |
|
return string.join(new) |
|
|
|
|
|
|
|
|
def generateTemplate(self,RESPONSE=None): |
def generateTemplate(self,RESPONSE=None): |