version 1.1.2.5, 2008/08/28 15:18:49
|
version 1.1.2.10, 2008/09/02 12:00:06
|
Line 30 import updatePersonalWWW
|
Line 30 import updatePersonalWWW
|
import MPIWGStaff |
import MPIWGStaff |
from MPIWGHelper import * |
from MPIWGHelper import * |
|
|
|
|
|
def sortWeight(x,y): |
|
x1=int(getattr(x[1],'weight','0')) |
|
y1=int(getattr(y[1],'weight','0')) |
|
return cmp(x1,y1) |
|
|
|
|
class MPIWGRoot(ZSQLExtendFolder): |
class MPIWGRoot(ZSQLExtendFolder): |
"""Stammordner fuer den Web-Server""" |
"""Stammordner fuer den Web-Server""" |
|
|
fieldLabels={'WEB_title':'WEB_Title','xdata_01':'Responsible Scientists','xdata_02':'Department', |
fieldLabels={'WEB_title':'WEB_Title', |
'xdata_03':'Historical Persons','xdata_04':'Time period', |
'xdata_01':'Responsible Scientists', |
'xdata_05':'Sorting number','xdata_06':'Keywords','xdata_07':'Short title', |
'xdata_02':'Department', |
'xdata_08':'Other involved scholars' ,'xdata_09':'Disciplines','xdata_10':'Themes', |
'xdata_03':'Historical Persons', |
'xdata_11':'Object Digitallibrary','xdata_12':'Cooperation partners', |
'xdata_04':'Time period', |
'xdata_13':'Funding institutions','WEB_project_header':'WEB_project_header', |
'xdata_05':'Sorting number', |
'WEB_project_description':'WEB_project_description','WEB_related_pub':'WEB_related_pub'} |
'xdata_06':'Keywords', |
|
'xdata_07':'Short title', |
|
'xdata_08':'Other involved scholars' , |
|
'xdata_09':'Disciplines', |
|
'xdata_10':'Themes', |
|
'xdata_11':'Object Digitallibrary', |
|
'xdata_12':'Cooperation partners', |
|
'xdata_13':'Funding institutions', |
|
'WEB_project_header':'WEB_project_header', |
|
'WEB_project_description':'WEB_project_description', |
|
'WEB_related_pub':'WEB_related_pub'} |
|
|
folders=['MPIWGProject','Folder','ECHO_Navigation'] |
folders=['MPIWGProject','Folder','ECHO_Navigation'] |
meta_type='MPIWGRoot' |
meta_type='MPIWGRoot' |
|
|
|
def copyAllImagesToMargin(self): |
|
"""tranformiere alle Bilder in die Margins""" |
|
projects=self.getTree() |
|
ret="" |
|
for project in projects: |
|
proj=project[3] |
|
try: |
|
persons=proj.copyImageToMargin(); |
|
except: |
|
logging.error("Cannnot do: %s"%repr(project)) |
|
|
def transformProjectsToId(self): |
def transformProjectsToId(self): |
"""trnasformiere zu ID, Hilfsfunktion die die alten Templates analysiert und mit der neuen Liste |
"""trnasformiere zu ID, Hilfsfunktion die die alten Templates analysiert und mit der neuen Liste |
verantwortlicher Personen versieht""" |
verantwortlicher Personen versieht""" |
Line 265 class MPIWGRoot(ZSQLExtendFolder):
|
Line 293 class MPIWGRoot(ZSQLExtendFolder):
|
return True |
return True |
return False |
return False |
|
|
def getSection(self): |
|
"""returns the current section name""" |
def getSections(self): |
root = self.absolute_url() |
"""returns a list of all sections i.e. top-level MPIWGFolders""" |
url = self.REQUEST['URL'] |
secs = self.objectItems(['MPIWGFolder']) |
if not url: |
secs.sort(sortWeight) |
return None |
#logging.debug("root: %s secs: %s"%(repr(self.absolute_url()), repr(secs))) |
path = string.replace(url, root, '') |
return secs |
paths = path.split('/') |
|
if len(paths) > 0: |
|
sec = paths[1] |
|
if sec.find('.') < 0: |
|
return sec |
|
else: |
|
return None |
|
return None |
|
|
|
def getSectionStyle(self, name, style=""): |
def getSectionStyle(self, name, style=""): |
"""returns a string with the given style + '-sel' if the current section == name""" |
"""returns a string with the given style + '-sel' if the current section == name""" |
Line 319 class MPIWGRoot(ZSQLExtendFolder):
|
Line 339 class MPIWGRoot(ZSQLExtendFolder):
|
|
|
def isActiveMember(self,key): |
def isActiveMember(self,key): |
"""tested ob Mitarbeiter key ist aktiv""" |
"""tested ob Mitarbeiter key ist aktiv""" |
|
key=utf8ify(key) |
ret=self.getat(self.ZSQLInlineSearch(_table='personal_www', |
ret=self.getat(self.ZSQLInlineSearch(_table='personal_www', |
_op_key='eq',key=key, |
_op_key='eq',key=key, |
_op_publish_the_data='eq', |
_op_publish_the_data='eq', |
Line 485 class MPIWGRoot(ZSQLExtendFolder):
|
Line 506 class MPIWGRoot(ZSQLExtendFolder):
|
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
|
|
|
def getContexts(self,childs=None,parents=None,depth=None,date=None,onlyActive=True): |
def getContexts(self,childs=None,parents=None,depth=None,date=None,onlyActive=True): |
"""childs alle childs, alle parents""" |
"""childs alle childs, alle parents""" |
ret=[] |
ret=[] |
|
|
if parents: |
if parents: |
splitted=parents.split(".") |
pnums=parents.split(".") |
parentId=string.join(splitted[0:len(splitted)-1],".") |
while len(pnums) > 1: |
|
pnums.pop() |
|
parentId=string.join(pnums,".") |
|
|
for project in self.getProjectFields('xdata_05',sort='int',date=date): |
for project in self.getProjectFields('xdata_05',sort='int',date=date): |
if project[1]==parentId: |
if project[1]==parentId: |
ret.append(project) |
ret.append(project) |
|
|
|
if (depth is not None) and (len(ret) >= depth): |
|
break |
|
|
if childs: |
if childs: |
for project in self.getProjectFields('xdata_05',sort='int',date=date): |
for project in self.getProjectFields('xdata_05',sort='int',date=date): |
searchStr=childs+"(\..*)" |
searchStr=childs+"(\..*)" |
Line 512 class MPIWGRoot(ZSQLExtendFolder):
|
Line 537 class MPIWGRoot(ZSQLExtendFolder):
|
ret.append(project) |
ret.append(project) |
else: |
else: |
ret.append(project) |
ret.append(project) |
|
|
|
#logging.debug("getContexts: childs=%s parents=%s depth=%s => %s"%(childs,parents,depth,repr(ret))) |
return ret |
return ret |
|
|
|
|
def getProjectFields(self,fieldName,date=None,folder=None,sort=None): |
def getProjectFields(self,fieldName,date=None,folder=None,sort=None): |
"""getListofFieldNames""" |
"""getListofFieldNames""" |
ret=[] |
ret=[] |
Line 846 class MPIWGRoot(ZSQLExtendFolder):
|
Line 874 class MPIWGRoot(ZSQLExtendFolder):
|
else: |
else: |
return entry |
return entry |
|
|
def getTreeRSS(self,dep=None,date=None,onlyActive=0,onlyArchived=0): |
def getTreeRSS(self,dep=None,date=None,onlyActive=1,onlyArchived=0): |
"""generateTree""" |
"""generateTree""" |
rss="""<?xml version="1.0" encoding="utf-8"?> |
rss="""<?xml version="1.0" encoding="utf-8"?> |
<rss version="2.0"> |
<rss version="2.0"> |
<channel>""" |
<channel>""" |
|
|
for obj in self.getTree(dep, date, onlyActive, onlyArchived): |
for obj in self.getTree(dep, date, onlyActive, onlyArchived): |
|
linkStr="""<link>http://wwwneu.mpiwg-berlin.mpg.de/en/research/projects/%s</link>""" |
rss+="""<item>""" |
rss+="""<item>""" |
rss+="""<link>http://wwwneu.mpiwg-berlin.mpg.de/en/research/projects/%s</link>"""%obj[3].getId() |
rss+=linkStr%obj[3].getId() |
|
rss+="""</item>""" |
|
if hasattr(obj[3],'publicationList'): |
|
rss+="""<item>""" |
|
rss+=linkStr%(obj[3].getId()+"/publicationList"); |
rss+="""</item>""" |
rss+="""</item>""" |
|
|
rss+="""</channel> |
rss+="""</channel> |
</rss>""" |
</rss>""" |
|
|
Line 1050 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1082 class MPIWGRoot(ZSQLExtendFolder):
|
|
|
if key=="": |
if key=="": |
return "" |
return "" |
|
key=utf8ify(key) |
catalogged=self.MembersCatalog({'getKey':key}) |
catalogged=self.MembersCatalog({'getKey':key}) |
if len(catalogged)==0: |
if len(catalogged)==0: |
return "" |
return "" |
Line 1097 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1130 class MPIWGRoot(ZSQLExtendFolder):
|
if proj: |
if proj: |
proj2=[] |
proj2=[] |
for x in proj: |
for x in proj: |
|
#logging.error("proj:%s"%repr(x.getPath())) |
if (not getattr(x.getObject(),'invisible',None)) and (getattr(x.getObject(),'archiveTime','')==''): |
if (not getattr(x.getObject(),'invisible',None)) and (getattr(x.getObject(),'archiveTime','')==''): |
proj2.append(x) |
proj2.append(x) |
|
|
Line 1108 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1142 class MPIWGRoot(ZSQLExtendFolder):
|
proj2.sort(sortP) |
proj2.sort(sortP) |
|
|
projectListe=[] |
projectListe=[] |
|
#logging.error("getprojectsofmember proj2: %s"%repr(proj2)) |
for proj in proj2: |
for proj in proj2: |
obj=proj.getObject() |
obj=proj.getObject() |
add=False |
add=False |
Line 1136 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1170 class MPIWGRoot(ZSQLExtendFolder):
|
if add: |
if add: |
projectListe.append(obj) |
projectListe.append(obj) |
|
|
|
#logging.error("getprojectsofmember projectliste: %s"%repr(projectListe)) |
return projectListe |
return projectListe |
|
|
def givePersonList(self,name): |
def givePersonList(self,name): |