--- MPIWGWeb/MPIWGProjects.py 2004/09/30 20:00:40 1.31 +++ MPIWGWeb/MPIWGProjects.py 2004/10/11 14:49:46 1.35 @@ -6,11 +6,12 @@ from Products.PageTemplates.PageTemplate from Products.PageTemplates.PageTemplate import PageTemplate from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder - +from Globals import package_home import urllib import MPIWGStaff import string import re +import os from types import * import xmlhelper # Methoden zur Verwaltung der projekt xmls @@ -72,12 +73,21 @@ class MPIWGRoot(ZSQLExtendFolder): folders=['MPIWGProject','Folder'] meta_type='MPIWGRoot' + def upDateSQL(self,fileName): + """updates SQL databases using fm.jar""" + fmJarPath=os.path.join(package_home(globals()), 'updateSQL/fm.jar') + xmlPath=os.path.join(package_home(globals()), "updateSQL/%s"%fileName) + + os.popen("java -classpath %s -Djava.awt.headless=true Convert %s"%(fmJarPath,xmlPath),"r").read() + return 1 + def patchProjects(self,RESPONSE): """patch""" projects=self.ZopeFind(self.projects,obj_metatypes=['MPIWGProject']) for project in projects: - project[1].WEB_project_description[0]=project[1].WEB_project_description[0].replace("/CD/projects/einstein/","") - RESPONSE.write("

%s

\n"%project[0]) + tmp=project[1].WEB_project_description[0].replace("/CD/projects/","")[0:] + setattr(project[1],'WEB_project_description',[tmp[0:]]) + RESPONSE.write("

%s

\n"%project[0]) def replaceNotEmpty(self,format,field): """replace not empty""" @@ -438,22 +448,24 @@ class MPIWGRoot(ZSQLExtendFolder): return returnList + def formatElementForOverview(self,element): """format the element for output in overview""" if element[0]==1: #department #print element[3].getContent('xdata_05') if element[3].getContent('xdata_05') == "4": - return """

Ind. Research Group I: %s

"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) + return """

Ind. Research Group I: %s

"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) if element[3].getContent('xdata_05') == "5": - return """

Ind. Research Group II: %s

"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) + return """

Ind. Research Group II: %s

"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) - return """

Department %s: %s

"""%(element[3].absolute_url()+"/index.html",element[3].getContent('xdata_05'),element[3].getContent('WEB_title')) + return """

Department %s: %s

"""%(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].absolute_url()+"/index.html",element[3].getContent('WEB_title')) + return """

%s

"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) elif element[0]==3: - return """

%s

"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) + return """

%s

"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) + def changePosition(self,treeId,select,RESPONSE=None): """Change Postion Entry""" @@ -567,6 +579,8 @@ class MPIWGRoot(ZSQLExtendFolder): proj=None if proj: + if person =="Otto Sibum" : person="H. Otto Sibum" + if person =="Norton Wise" : person="M. Norton Wise" #ret.append("%s"%(proj[0].absolute_url,person.encode('utf-8'))) ret.append("%s"%(proj[0].absolute_url+"/index.html",person)) else: @@ -791,6 +805,17 @@ class MPIWGProject(Folder): {'label':'Edit Themes & Disciplines','action':'editMPIWGDisciplinesThemesForm'}, ) + + def index_html(self): + """show homepage""" + ext=self.ZopeFind(self.aq_parent,obj_ids=["project_main"]) + + if ext: + return getattr(self,ext[0][1].getId())() + + pt=PageTemplateFile('Products/MPIWGWeb/zpt/project_main').__of__(self) + return pt() + def getDataFields(self): """giveListofDatafields""" ret=[] @@ -846,7 +871,8 @@ class MPIWGProject(Folder): #teste ob WEB_project_description und keine führenden p tags if (len(text2)>4) and (not text2[0:3]=='

') and (field=='WEB_project_description'): return "

"+text2+"

" - + #if text2=="Otto Sibum": + #text2="H. Otto Sibum" return text2 def show_html(self):