version 1.47.2.33, 2005/10/14 17:13:37
|
version 1.47.2.45, 2005/12/22 21:10:14
|
Line 4 for organizing and maintaining the diffe
|
Line 4 for organizing and maintaining the diffe
|
""" |
""" |
#TODO: mechanismus fur links to personen ueberarbeiten, da jetzt alle e_mails als members auftauchen unabhaengig vom status publish_the_data |
#TODO: mechanismus fur links to personen ueberarbeiten, da jetzt alle e_mails als members auftauchen unabhaengig vom status publish_the_data |
#TODO: was passiert wenn aenderungen von jochen im filemaker nicht mit den aenderungen im sql uebereinstimmen |
#TODO: was passiert wenn aenderungen von jochen im filemaker nicht mit den aenderungen im sql uebereinstimmen |
|
#TODO: in einzelnen projecte steht als pfad auf die bilder noch wwwneu statt www |
|
|
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplate import PageTemplate |
from Products.PageTemplates.PageTemplate import PageTemplate |
Line 761 class MPIWGRoot(ZSQLExtendFolder):
|
Line 762 class MPIWGRoot(ZSQLExtendFolder):
|
|
|
def updateHomepages(self,RESPONSE=None): |
def updateHomepages(self,RESPONSE=None): |
""" update""" |
""" update""" |
#FIXME: seite wird hinter apache mehrfach ausgefŸhrt |
|
RESPONSE.setHeader('Content-type', 'text/html') |
RESPONSE.setHeader('Content-type', 'text/html') |
RESPONSE.write("<html><body>\n") |
RESPONSE.write("<html><body>\n") |
url="http://itgroup.mpiwg-berlin.mpg.de:8050/FMPro?-db=personal-www&-format=-dso_xml&-lay=sql_export&-max=10000&-findall" |
url="http://itgroup.mpiwg-berlin.mpg.de:8050/FMPro?-db=personal-www&-format=-dso_xml&-lay=sql_export&-max=20000&-findall" |
dom = NonvalidatingReader.parseUri(url) |
dom = NonvalidatingReader.parseUri(url) |
#fh=urllib.urlopen(url) |
#fh=urllib.urlopen(url) |
#dom=xml.dom.minidom.parse(fh) |
#dom=xml.dom.minidom.parse(fh) |
Line 786 class MPIWGRoot(ZSQLExtendFolder):
|
Line 787 class MPIWGRoot(ZSQLExtendFolder):
|
name=getTextFromNode(row.xpath('./dn:Name',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
name=getTextFromNode(row.xpath('./dn:Name',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
vorname=getTextFromNode(row.xpath('./dn:Vorname',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
vorname=getTextFromNode(row.xpath('./dn:Vorname',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
title=getTextFromNode(row.xpath('./dn:Title',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
title=getTextFromNode(row.xpath('./dn:Title',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
|
position=getTextFromNode(row.xpath('./dn:Position',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail=getTextFromNode(row.xpath('./dn:e_mail',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail=getTextFromNode(row.xpath('./dn:e_mail',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail_p=getTextFromNode(row.xpath('./dn:e_mail_p',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail_p=getTextFromNode(row.xpath('./dn:e_mail_p',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
date_from=getTextFromNode(row.xpath('./dn:Date_from',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
date_from=getTextFromNode(row.xpath('./dn:Date_from',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
Line 795 class MPIWGRoot(ZSQLExtendFolder):
|
Line 797 class MPIWGRoot(ZSQLExtendFolder):
|
funded_by=getTextFromNode(row.xpath('./dn:funded_by',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
funded_by=getTextFromNode(row.xpath('./dn:funded_by',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail2=getTextFromNode(row.xpath('./dn:e_mail2',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail2=getTextFromNode(row.xpath('./dn:e_mail2',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
publish_the_data=getTextFromNode(row.xpath('./dn:publish_the_data',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
publish_the_data=getTextFromNode(row.xpath('./dn:publish_the_data',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
|
stay_at_mpiwg=getTextFromNode(row.xpath('./dn:stay_at_mpiwg',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
#cwNode=row.xpath('./dn:current_work.current',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0] |
#cwNode=row.xpath('./dn:current_work.current',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0] |
cw=row.xpath('./dn:current_work/dn:DATA',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'}) |
cw=row.xpath('./dn:current_work/dn:DATA',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'}) |
if cw: |
if cw: |
Line 821 class MPIWGRoot(ZSQLExtendFolder):
|
Line 823 class MPIWGRoot(ZSQLExtendFolder):
|
RESPONSE.write("<p>new:%s</p>\n"%username.encode('utf-8')) |
RESPONSE.write("<p>new:%s</p>\n"%username.encode('utf-8')) |
obj=getattr(memberFolder,username) |
obj=getattr(memberFolder,username) |
ret=obj.createNewDBEntry(publish_the_data,id,name, |
ret=obj.createNewDBEntry(publish_the_data,id,name, |
vorname,username,title,e_mail, |
vorname,username,title,position,e_mail, |
e_mail_p,date_from,date_to, |
e_mail_p,date_from,date_to, |
abteilung,heimat_inst,funded_by, |
abteilung,heimat_inst,funded_by, |
e_mail2,txt,txt_p) |
e_mail2,txt,txt_p) |
Line 848 class MPIWGRoot(ZSQLExtendFolder):
|
Line 850 class MPIWGRoot(ZSQLExtendFolder):
|
|
|
obj=getattr(memberFolder,username) |
obj=getattr(memberFolder,username) |
|
|
obj.updateDBEntry(DBid=id,publish_the_data=publish_the_data, |
done= obj.updateDBEntry(DBid=id,publish_the_data=publish_the_data, |
date_from=date_from, |
date_from=date_from, |
date_to=date_to) |
date_to=date_to,stay_at_mpiwg=stay_at_mpiwg,position=position) |
|
if not done and (publish_the_data=='yes'): |
|
|
|
ret=obj.createNewDBEntry(publish_the_data,id,name, |
|
vorname,username,title,position,e_mail, |
|
e_mail_p,date_from,date_to, |
|
abteilung,heimat_inst,funded_by, |
|
e_mail2,txt,txt_p) |
|
if not ret[0]: |
|
|
self.reindexCatalogs(RESPONSE) |
RESPONSE.write("<p>Error: %s</p>\n"%repr(ret[1])) |
|
else: |
|
RESPONSE.write("<p>New: %s</p>\n"%repr(ret[1])) |
|
|
self.updatePublicationDB() |
#TODO: reindexCatlogs and updatePublications wieder einbaue |
|
#self.reindexCatalogs(RESPONSE) |
|
|
RESPONSE.write("<h2>Done</h2></body></html>") |
#self.updatePublicationDB() |
|
|
|
self.ZSQLResetConnection() |
|
RESPONSE.write("<h2>Done</h2></body></html>") |
|
|
|
return True |
|
|
def reindexCatalogs(self,RESPONSE=None): |
def reindexCatalogs(self,RESPONSE=None): |
"""reindex members and project catalog""" |
"""reindex members and project catalog""" |
Line 1014 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1030 class MPIWGRoot(ZSQLExtendFolder):
|
ret+="""<li>\n""" |
ret+="""<li>\n""" |
|
|
if actualDepth==1: |
if actualDepth==1: |
departmentName={'1':'Department I','2':'Department II','3':'Department III', '4':'Ind. Research Group','5':'Ind. Research Group'} |
departmentName={'1':'Department I','2':'Department II','3':'Department III', '4':'Ind. Research Group','5':'Ind. Research Group','6':'Research Network'} |
department=element[3].getContent('xdata_05') |
department=element[3].getContent('xdata_05') |
ret+="""<a href="#top"><img src="../grafik/totop.gif" vspace="10" border="0"></a><br><a name="dept%s"></a>%s: """%(department,departmentName[department]) |
ret+="""<a href="#top"><img src="../grafik/totop.gif" vspace="10" border="0"></a><br><a name="dept%s"></a>%s: """%(department,departmentName[department]) |
|
|
Line 1032 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1048 class MPIWGRoot(ZSQLExtendFolder):
|
return """<h2 class="hier"><a href="%s">Ind. Research Group I: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
return """<h2 class="hier"><a href="%s">Ind. Research Group I: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
if element[3].getContent('xdata_05') == "5": |
if element[3].getContent('xdata_05') == "5": |
return """<h2 class="hier"><a href="%s">Ind. Research Group II: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
return """<h2 class="hier"><a href="%s">Ind. Research Group II: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
|
if element[3].getContent('xdata_05') == "6": |
|
return """<h2 class="hier"><a href="%s">Research Network "History of Scientific Objects": %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
|
|
return """<h2 class="hier"><a href="%s">Department %s: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('xdata_05'),element[3].getContent('WEB_title')) |
return """<h2 class="hier"><a href="%s">Department %s: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('xdata_05'),element[3].getContent('WEB_title')) |
|
|
Line 1395 class MPIWGProject(CatalogAware,Folder):
|
Line 1413 class MPIWGProject(CatalogAware,Folder):
|
|
|
|
|
def copyImageToMargin(self,RESPONSE=None): |
def copyImageToMargin(self,RESPONSE=None): |
|
#TODO: copy more than one image |
"""copy inline images to marginal images""" |
"""copy inline images to marginal images""" |
self.getContent('WEB_project_description',filter='yes') |
self.getContent('WEB_project_description',filter='yes') |
|
|
Line 1407 class MPIWGProject(CatalogAware,Folder):
|
Line 1426 class MPIWGProject(CatalogAware,Folder):
|
|
|
self.addImage(None,self.imagecap,filename=filename) |
self.addImage(None,self.imagecap,filename=filename) |
#hole die bilddaten aus der url |
#hole die bilddaten aus der url |
data=urllib.urlopen(self.absolute_url()+"/"+self.imageURL).read() |
url=self.absolute_url()+"/"+self.imageURL |
|
#url=self.absolute_url()+"/"+filename |
|
|
|
try:#relative url |
|
data=urllib.urlopen(url).read() |
|
except: |
|
try:#absolute |
|
data=urllib.urlopen(self.imageURL).read() |
|
except: |
|
zLOG.LOG("MPIWG Project",zLOG.ERROR,"can't open: %s"%url) |
|
|
obj=getattr(self,filename) |
obj=getattr(self,filename) |
obj.update_data(data) |
obj.update_data(data) |
Line 1915 class MPIWGProject(CatalogAware,Folder):
|
Line 1943 class MPIWGProject(CatalogAware,Folder):
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGProjectNeu.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGProjectNeu.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
|
edit_MPIWGProject_main = PageTemplateFile('zpt/edit_MPIWGProject_main', globals()) |
|
|
|
def getPathStyle(self, path, selected, style=""): |
|
"""returns a string with the given style + 'sel' if path == selected.""" |
|
|
|
if path == selected: |
|
return style + 'sel' |
|
else: |
|
return style |
|
|
def preview(self,description): |
def preview(self,description): |
"""preview""" |
"""preview""" |
tmpPro=getattr(self,"previewTemplate",None) |
tmpPro=getattr(self,"previewTemplate",None) |
Line 1924 class MPIWGProject(CatalogAware,Folder):
|
Line 1962 class MPIWGProject(CatalogAware,Folder):
|
for field in definedFields: |
for field in definedFields: |
setattr(tmpPro,field,getattr(self,field)) |
setattr(tmpPro,field,getattr(self,field)) |
tmpPro.WEB_project_description=description[0:] |
tmpPro.WEB_project_description=description[0:] |
|
tmpPro.invisible=True |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','previewFrame.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','previewFrame.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
Line 2032 class MPIWGProject(CatalogAware,Folder):
|
Line 2070 class MPIWGProject(CatalogAware,Folder):
|
splitted=[y.rstrip().lstrip() for y in splitted] |
splitted=[y.rstrip().lstrip() for y in splitted] |
|
|
for x in splitted: |
for x in splitted: |
|
x=re.sub(r"[^A-z ]","",x) |
if (not x==u'') and x in wert: |
if (not x==u'') and x in wert: |
return 1 |
return 1 |
return 0 |
return 0 |