--- MPIWGWeb/MPIWGProjects.py 2006/09/13 08:17:33 1.47.2.59
+++ MPIWGWeb/MPIWGProjects.py 2006/10/27 18:37:20 1.47.2.62
@@ -33,7 +33,6 @@ from Ft.Xml.XPath import Evaluate
from Ft.Xml.XPath.Context import Context
from Ft.Xml.Domlette import NonvalidatingReader,PrettyPrint, Print
from Ft.Xml import EMPTY_NAMESPACE
-import psycopg
definedFields=['WEB_title','xdata_01','xdata_02','xdata_03','xdata_04','xdata_05','xdata_06','xdata_07','xdata_08','xdata_09','xdata_10','xdata_11','xdata_12','xdata_13','WEB_project_header','WEB_project_description','WEB_related_pub']
@@ -454,6 +453,26 @@ class MPIWGRoot(ZSQLExtendFolder):
return True
return False
+ def getSection(self):
+ """returns the current section name"""
+ root = self.absolute_url()
+ url = self.REQUEST['URL']
+ path = string.replace(url, root, '')
+ paths = path.split('/')
+ if len(paths) > 0:
+ return paths[1]
+ return None
+
+ def getSectionStyle(self, name, style=""):
+ """returns a string with the given style + '-sel' if the current section == name"""
+ if self.getSection() == name:
+ return style + '-sel'
+ else:
+ return style
+
+ def MPIWGrootURL(self):
+ """returns the URL to the root"""
+ return self.absolute_url()
def upDateSQL(self,fileName):
"""updates SQL databases using fm.jar"""
@@ -1077,7 +1096,7 @@ class MPIWGRoot(ZSQLExtendFolder):
return entry
- def getTree(self,date=None,onlyActive=None):
+ def getTree(self,dep=None,date=None,onlyActive=None):
"""generate Tree from project list"""
returnList=[]
@@ -1095,13 +1114,14 @@ class MPIWGRoot(ZSQLExtendFolder):
if idNr[0]=="x": # kompatibilitt mit alter Konvention, x vor der Nummer macht project inactive
project[0].setActiveFlag(False)
- if onlyActive and project[0].isActiveProject(): #nur active projekte
- returnList.append((depth,nr,title,project[0]))
- elif not onlyActive:
- returnList.append((depth,nr,title,project[0]))
+ if (not dep) or (idNr[0]==dep): #falls dep gesetzt ist nur dieses hinzufgen.
+ if onlyActive and project[0].isActiveProject(): #nur active projekte
+ returnList.append((depth,nr,title,project[0]))
+ elif not onlyActive:
+ returnList.append((depth,nr,title,project[0]))
return returnList
- def formatElementsAsList(self,elements):
+ def formatElementsAsList(self,elements,onlyOneDept=False):
"""formatiere tree als liste"""
actualDepth=0
@@ -1147,7 +1167,8 @@ class MPIWGRoot(ZSQLExtendFolder):
if actualDepth==1:
departmentName={'1':'Department I','2':'Department II','3':'Department III', '4':'Ind. Research Group','5':'Ind. Research Group','6':'Ind. Research Group','7':'Research Network'}
department=element[3].getContent('xdata_05')
- ret+="""
%s: """%(department,departmentName[department])
+ if not onlyOneDept:
+ ret+="""
%s: """%(department,departmentName[department])
if self.REQUEST.has_key('date'):
ret+="""%s"""%(self.generateUrlProject(element[3].absolute_url())+"/index.html",self.REQUEST['date'],element[3].getContent('WEB_title'))
@@ -1448,6 +1469,7 @@ class MPIWGRoot(ZSQLExtendFolder):
def generateNameIndex(self):
"""erzeuge einen index verwendeter personen"""
+ import psycopg
o = psycopg.connect('dbname=authorities user=dwinter password=3333',serialize=0)
results={}
print self.fulltext.historicalNames.items()