version 1.47.2.89, 2008/08/25 07:55:02
|
version 1.47.2.96, 2008/09/01 15:42:58
|
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 600 class MPIWGProject(CatalogAware,Folder):
|
Line 616 class MPIWGProject(CatalogAware,Folder):
|
if date: |
if date: |
return self.reTransformDate(date); |
return self.reTransformDate(date); |
else: |
else: |
|
# test ob parent abgeschlossen ist |
|
|
|
ct=self.getContexts(parents=self.getContent('xdata_05'),depth=1) |
|
if (len(ct)>0): #is there are parent |
|
|
|
return ct[0][0].getCompletedAt() |
return ''; |
return ''; |
|
|
def getStartedAt(self): |
def getStartedAt(self): |
Line 923 class MPIWGProject(CatalogAware,Folder):
|
Line 945 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 987 class MPIWGProject(CatalogAware,Folder):
|
Line 1009 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 |
|
if hasattr(parent, 'getBreadcrumbs'): |
|
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 getRootProject(self): |
|
"""returns the current root (=top level) project""" |
|
ct=self.getContexts(parents=self.getContent('xdata_05')) |
|
if len(ct) > 0: |
|
return ct[-1][0] |
|
else: |
|
return self |
|
|
|
|
def preview(self,description): |
def preview(self,description): |
"""preview""" |
"""preview""" |
tmpPro=getattr(self,"previewTemplate",None) |
tmpPro=getattr(self,"previewTemplate",None) |
Line 1078 class MPIWGProject(CatalogAware,Folder):
|
Line 1147 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={} |