version 1.47.2.88, 2008/08/22 15:16:09
|
version 1.47.2.92, 2008/08/28 18:20:09
|
Line 18 import logging
|
Line 18 import logging
|
import xmlhelper # Methoden zur Verwaltung der projekt xml |
import xmlhelper # Methoden zur Verwaltung der projekt xml |
from OFS.SimpleItem import SimpleItem |
from OFS.SimpleItem import SimpleItem |
from OFS.Folder import Folder |
from OFS.Folder import Folder |
|
from OFS.Image import Image |
from AccessControl import ClassSecurityInfo |
from AccessControl import ClassSecurityInfo |
from bibliography import * |
from bibliography import * |
import time |
import time |
Line 39 import MPIWGRoot
|
Line 39 import MPIWGRoot
|
import MPIWGLink |
import MPIWGLink |
import MPIWGTemplate |
import MPIWGTemplate |
|
|
# die folgenden Klassen sind jetzt in einzelne Files ausgelagert aus KompatibilitŠtsgrŸnden, bleiben die Klassen hier noch drin. |
# die folgenden Klassen sind jetzt in einzelne Files ausgelagert aus Kompatibilitaetsgruenden, bleiben die Klassen hier noch drin. |
# Sonst funktionieren die alten Webseiten nicht mehr. |
# Sonst funktionieren die alten Webseiten nicht mehr. |
|
|
class MPIWGRoot(MPIWGRoot.MPIWGRoot): |
class MPIWGRoot(MPIWGRoot.MPIWGRoot): |
Line 51 class MPIWGLink(MPIWGLink.MPIWGLink):
|
Line 51 class MPIWGLink(MPIWGLink.MPIWGLink):
|
class MPIWGTemplate(MPIWGTemplate.MPIWGTemplate): |
class MPIWGTemplate(MPIWGTemplate.MPIWGTemplate): |
"""depricated""" |
"""depricated""" |
|
|
class MPIWGProject_publication(SimpleItem): |
class MPIWGProject_publication(Folder): |
"""publications object fuer project""" |
"""publications object fuer project""" |
|
|
meta_type="MPIWGProject_publication" |
meta_type="MPIWGProject_publication" |
|
|
def editPublication(self,text=None,RESPONSE=None): |
def editPublication(self,text=None,image1=None,image2=None,description=None,RESPONSE=None): |
"""edit a publication""" |
"""edit a publication""" |
|
|
if (not text): |
if (not text) and (not description): |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_publicationForm.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_publicationForm.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
|
|
self.text=text[0:] |
self.text=text[0:] |
|
self.description=description |
|
|
|
if image1: |
|
if hasattr(self,'publicationImage1'): |
|
self.publicationImage1.manage_upload(image1) |
|
else: |
|
nO = Image('publicationImage1','',image1) |
|
self._setObject('publicationImage1',nO) |
|
|
|
if image2: |
|
if hasattr(self,'publicationImage2'): |
|
self.publicationImage2.manage_upload(image2) |
|
else: |
|
nO = Image('publicationImage2','',image2) |
|
self._setObject('publicationImage2',nO) |
|
|
|
|
if RESPONSE: |
if RESPONSE: |
RESPONSE.redirect("../managePublications") |
RESPONSE.redirect("../managePublications") |
Line 267 class MPIWGProject(CatalogAware,Folder):
|
Line 283 class MPIWGProject(CatalogAware,Folder):
|
def createExtendedPublicationList(self,RESPONSE=None): |
def createExtendedPublicationList(self,RESPONSE=None): |
"""erzeuge erweiterte publications liste""" |
"""erzeuge erweiterte publications liste""" |
pl = BibliographyManager("publicationList","","institutsbiblio",self.connection_id) |
pl = BibliographyManager("publicationList","","institutsbiblio",self.connection_id) |
self._setOb("publicationList", pl) |
self._setObject("publicationList", pl) |
|
|
|
|
|
zt=ZopePageTemplate('index.html') |
|
pl._setObject('index.html',zt) |
|
default_content_fn = os.path.join(package_home(globals()), |
|
'zpt/showExtendedProjectBibliography.zpt') |
|
text = open(default_content_fn).read() |
|
zt.pt_edit(text, 'text/html') |
|
|
|
|
if RESPONSE: |
if RESPONSE: |
RESPONSE.redirect("managePublications") |
RESPONSE.redirect("managePublications") |
Line 914 class MPIWGProject(CatalogAware,Folder):
|
Line 939 class MPIWGProject(CatalogAware,Folder):
|
if (text5=="<br>") or (text5=="<br/>"): |
if (text5=="<br>") or (text5=="<br/>"): |
text5="" |
text5="" |
|
|
logging.debug("getcontent: field=%s filter=%s -> %s"%(field,filter,repr(text5))) |
#logging.debug("getcontent: field=%s filter=%s -> %s"%(field,filter,repr(text5))) |
#return unicodify(text5) |
return unicodify(text5) |
return utf8ify(text5) # return as utf-8 byte string |
#return utf8ify(text5) # return as utf-8 byte string |
|
|
|
|
def showImagesOfPage(self,imageUrl=None): |
def showImagesOfPage(self,imageUrl=None): |
Line 978 class MPIWGProject(CatalogAware,Folder):
|
Line 1003 class MPIWGProject(CatalogAware,Folder):
|
else: |
else: |
return style |
return style |
|
|
|
def getLabel(self): |
|
"""returns label (or title) of this project""" |
|
l = self.getContent('xdata_07') |
|
if l: |
|
return l |
|
l = self.getContent('WEB_title') |
|
if l: |
|
return l |
|
return self.title |
|
|
|
def getBreadcrumbs(self): |
|
"""return list of breadcrumbs from here to the root""" |
|
crumbs = [] |
|
# skip direct parent Folder /projects/ |
|
parent = self.aq_parent.aq_parent |
|
# get parents breadcrumbs |
|
logging.debug("getbreadcrumbs,: title=%s self=%s parent=%s"%(self.title, repr(self), repr(parent))) |
|
if hasattr(parent, 'getBreadcrumbs'): |
|
logging.debug("getbreadcrumbs: recurse to %s"%parent) |
|
crumbs = parent.getBreadcrumbs() |
|
|
|
# try to get acquisition URL from parent |
|
if hasattr(parent, 'absolute_url'): |
|
baseUrl = "%s/%s/"%(parent.absolute_url(), 'projects') |
|
else: |
|
baseUrl = "/en/research/projects/" |
|
|
|
# add in the internal project hierarchy |
|
ct=self.getContexts(parents=self.getContent('xdata_05')) |
|
# start with grandparents |
|
ct.reverse() |
|
for c in ct: |
|
label = shortenString(c[0].getLabel(), 13) |
|
crumbs.append((label, baseUrl+c[0].getId(), c[0])) |
|
|
|
# add this project |
|
crumbs.append((self.getLabel(), baseUrl+self.getId(), self)) |
|
|
|
return crumbs |
|
|
def preview(self,description): |
def preview(self,description): |
"""preview""" |
"""preview""" |
tmpPro=getattr(self,"previewTemplate",None) |
tmpPro=getattr(self,"previewTemplate",None) |
Line 1069 class MPIWGProject(CatalogAware,Folder):
|
Line 1134 class MPIWGProject(CatalogAware,Folder):
|
logging.info("Search: %s %s %s"%(name,firstname,lastname)) |
logging.info("Search: %s %s %s"%(name,firstname,lastname)) |
firstname=firstname.capitalize() |
firstname=firstname.capitalize() |
lastname=lastname.capitalize() |
lastname=lastname.capitalize() |
|
try: |
cataloggedNames=self.MembersCatalog(firstName=firstname,lastName=lastname) |
cataloggedNames=self.MembersCatalog(firstName=firstname,lastName=lastname) |
|
except: |
|
cataloggedNames=[] |
#Teste ob die ensprechenden Namen schon der Liste zu geordnet sind |
#Teste ob die ensprechenden Namen schon der Liste zu geordnet sind |
#if not hasattr(self,'responsibleScientistsList'): |
#if not hasattr(self,'responsibleScientistsList'): |
# self.responsibleScientistsList={} |
# self.responsibleScientistsList={} |