--- MPIWGWeb/MPIWGProjects.py 2005/10/14 17:13:37 1.47.2.33 +++ MPIWGWeb/MPIWGProjects.py 2005/10/24 23:51:29 1.47.2.40 @@ -4,6 +4,7 @@ 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: 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.PageTemplate import PageTemplate @@ -764,7 +765,7 @@ class MPIWGRoot(ZSQLExtendFolder): #FIXME: seite wird hinter apache mehrfach ausgefŸhrt RESPONSE.setHeader('Content-type', 'text/html') RESPONSE.write("\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) #fh=urllib.urlopen(url) #dom=xml.dom.minidom.parse(fh) @@ -795,7 +796,7 @@ class MPIWGRoot(ZSQLExtendFolder): 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]) 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] cw=row.xpath('./dn:current_work/dn:DATA',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'}) if cw: @@ -850,15 +851,15 @@ class MPIWGRoot(ZSQLExtendFolder): obj.updateDBEntry(DBid=id,publish_the_data=publish_the_data, date_from=date_from, - date_to=date_to) + date_to=date_to,stay_at_mpiwg=stay_at_mpiwg) - self.reindexCatalogs(RESPONSE) + #self.reindexCatalogs(RESPONSE) - self.updatePublicationDB() + #self.updatePublicationDB() RESPONSE.write("

Done

") - + return True def reindexCatalogs(self,RESPONSE=None): """reindex members and project catalog""" @@ -1014,7 +1015,7 @@ class MPIWGRoot(ZSQLExtendFolder): ret+="""
  • \n""" 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') ret+="""
    %s: """%(department,departmentName[department]) @@ -1032,6 +1033,8 @@ class MPIWGRoot(ZSQLExtendFolder): 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')) + if element[3].getContent('xdata_05') == "6": + return """

    Research Network "History of Scientific Objects": %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')) @@ -1395,6 +1398,7 @@ class MPIWGProject(CatalogAware,Folder): def copyImageToMargin(self,RESPONSE=None): + #TODO: copy more than one image """copy inline images to marginal images""" self.getContent('WEB_project_description',filter='yes') @@ -1407,8 +1411,17 @@ class MPIWGProject(CatalogAware,Folder): self.addImage(None,self.imagecap,filename=filename) #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.update_data(data) @@ -1914,6 +1927,16 @@ class MPIWGProject(CatalogAware,Folder): pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGProjectNeu.zpt')).__of__(self) 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): """preview""" @@ -1924,7 +1947,7 @@ class MPIWGProject(CatalogAware,Folder): for field in definedFields: setattr(tmpPro,field,getattr(self,field)) tmpPro.WEB_project_description=description[0:] - + tmpPro.invisible=True pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','previewFrame.zpt')).__of__(self) return pt() @@ -2032,6 +2055,7 @@ class MPIWGProject(CatalogAware,Folder): splitted=[y.rstrip().lstrip() for y in splitted] for x in splitted: + x=re.sub(r"[^A-z ]","",x) if (not x==u'') and x in wert: return 1 return 0