version 1.47.2.120, 2010/09/14 07:02:59
|
version 1.47.2.131, 2013/05/16 12:40:52
|
Line 43 import MPIWGRoot
|
Line 43 import MPIWGRoot
|
import MPIWGLink |
import MPIWGLink |
import MPIWGTemplate |
import MPIWGTemplate |
|
|
|
import transaction |
|
|
# die folgenden Klassen sind jetzt in einzelne Files ausgelagert aus Kompatibilitaetsgruenden, 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. |
|
|
Line 73 class MPIWGProject_publication(Folder):
|
Line 75 class MPIWGProject_publication(Folder):
|
logging.debug(email.Utils.formatdate()+' GMT') |
logging.debug(email.Utils.formatdate()+' GMT') |
RESPONSE.redirect(url+addStr%timeStamp) |
RESPONSE.redirect(url+addStr%timeStamp) |
|
|
def hasLinkToBookPage(self): |
def hasLinkToBookPage(self,mode="not_cached"): |
"""teste ob eingebener link zu einer MPIWG Book page geht""" |
"""teste ob eingebener link zu einer MPIWG Book page geht""" |
|
|
|
|
|
logging.debug("MPIWGProject_publication - begin hasLinkToBookPage") |
if (getattr(self,'link','')==''): |
if (getattr(self,'link','')==''): |
return False #es gibt keinen link |
return False #es gibt keinen link |
|
|
|
logging.debug("MPIWGProject_publication - begin hasLinkToBookPage:"+self.link) |
server = xmlrpclib.ServerProxy(self.link) |
server = xmlrpclib.ServerProxy(self.link) |
|
|
|
if(mode=="cached"): |
|
if (hasattr(self,"_v_hasLinkToBookPage")): |
|
logging.debug("haslink cached") |
|
return self._v_hasLinkToBookPage |
|
|
try: |
try: |
server.getImageUrls() |
server.getImageUrls() |
|
logging.debug("MPIWGProject_publication - end TRUE") |
|
self._v_hasLinkToBookPage=True |
return True |
return True |
except: |
except: |
|
logging.debug("MPIWGProject_publication - end FALSE ") |
|
self._v_hasLinkToBookPage=True |
return False |
return False |
|
|
|
|
def getImageUrls(self): |
|
|
def getImageUrls(self,mode="not_cached"): |
"""get the image urls""" |
"""get the image urls""" |
|
|
if (getattr(self,'link','')==''): |
if (getattr(self,'link','')==''): |
return False #es gibt keinen link |
return [] #es gibt keinen link |
|
|
server = xmlrpclib.ServerProxy(self.link) |
server = xmlrpclib.ServerProxy(self.link) |
|
|
|
|
|
if(mode=="cached"): |
|
if (hasattr(self,"_v_imageUrls")): |
|
logging.debug("getImageURL cached") |
|
return self._v_imageUrls |
|
|
try: |
try: |
urls = server.getImageUrls() |
urls = server.getImageUrls() |
ret=[] |
ret=[] |
Line 104 class MPIWGProject_publication(Folder):
|
Line 125 class MPIWGProject_publication(Folder):
|
ret.append(url) |
ret.append(url) |
|
|
except: |
except: |
|
self._v_imageUrls=[] |
return [] |
return [] |
|
self._v_imageUrls=ret[0:] |
return ret |
return ret |
|
|
def editPublication(self,text=None,image1=None,image2=None,description=None,link=None,RESPONSE=None): |
def editPublication(self,text=None,image1=None,image2=None,description=None,link=None,RESPONSE=None): |
Line 237 class MPIWGProject(CatalogAware,Folder,C
|
Line 259 class MPIWGProject(CatalogAware,Folder,C
|
security=ClassSecurityInfo() |
security=ClassSecurityInfo() |
meta_type='MPIWGProject' |
meta_type='MPIWGProject' |
default_catalog='ProjectCatalog' |
default_catalog='ProjectCatalog' |
|
|
def redirect(self,RESPONSE,url): |
def redirect(self,RESPONSE,url): |
"""mache ein redirect mit einem angehaengten time stamp um ein reload zu erzwingen""" |
"""mache ein redirect mit einem angehaengten time stamp um ein reload zu erzwingen""" |
|
|
Line 260 class MPIWGProject(CatalogAware,Folder,C
|
Line 283 class MPIWGProject(CatalogAware,Folder,C
|
def sort(x,y): |
def sort(x,y): |
return cmp(getattr(x[1],'place',0),getattr(y[1],'place',0)) |
return cmp(getattr(x[1],'place',0),getattr(y[1],'place',0)) |
|
|
|
logging.debug("MPIWGProjects begin: sorted by place: "+ metatype) |
founds=self.ZopeFind(self,obj_metatypes=[metatype]); |
founds=self.ZopeFind(self,obj_metatypes=[metatype]); |
|
|
founds.sort(sort) |
founds.sort(sort) |
|
logging.debug("MPIWGProjects end: sorted by place: "+ metatype) |
return founds |
return founds |
|
|
|
|
Line 519 class MPIWGProject(CatalogAware,Folder,C
|
Line 543 class MPIWGProject(CatalogAware,Folder,C
|
|
|
def addPublication(self,text,RESPONSE=None): |
def addPublication(self,text,RESPONSE=None): |
"""add an MPIWG_Publication""" |
"""add an MPIWG_Publication""" |
|
number=self.getLastPublicationNumber()+1 |
name="publication_"+str(self.getLastPublicationNumber()+1) |
name="publication_"+str(number) |
|
while hasattr(self,name): |
|
number+=1 |
|
name="publication_"+str(number) |
|
|
newPublication=MPIWGProject_publication(name) |
newPublication=MPIWGProject_publication(name) |
|
|
Line 543 class MPIWGProject(CatalogAware,Folder,C
|
Line 570 class MPIWGProject(CatalogAware,Folder,C
|
def addRelatedProject(self,link,RESPONSE=None): |
def addRelatedProject(self,link,RESPONSE=None): |
"""add an MPIWG_Publication""" |
"""add an MPIWG_Publication""" |
|
|
name="RelatedProject"+str(self.getLastRelatedProjectNumber()+1) |
|
|
|
|
number=self.getLastPublicationNumber()+1 |
|
name="RelatedProject"+str(number) |
|
while hasattr(self,name): |
|
number+=1 |
|
name="RelatedProject_"+str(number) |
|
|
# hole die id des projektes |
# hole die id des projektes |
splitted=link.split("/") |
splitted=link.split("/") |
Line 750 class MPIWGProject(CatalogAware,Folder,C
|
Line 783 class MPIWGProject(CatalogAware,Folder,C
|
else: |
else: |
return 1 |
return 1 |
|
|
|
def isActualForIndex(self): #isActual kann nicht indiziert werden, da intern fom ZCAtalog verwendete Funktion |
|
"""gibt 1 zurueck wenn aktuell, 0 sonst""" |
|
actualTime=time.localtime() |
|
|
|
|
|
#print getattr(self,'archiveTime',actualTime) |
|
if getattr(self,'archiveTime',actualTime)< actualTime: |
|
return 0 |
|
else: |
|
return 1 |
|
|
def copyObjectToArchive(self): |
def copyObjectToArchive(self): |
"""kopiere aktuelles objekt ins archiv""" |
"""kopiere aktuelles objekt ins archiv""" |
logging.info("copytoarchive 1") |
logging.info("copytoarchive 1") |
Line 1022 class MPIWGProject(CatalogAware,Folder,C
|
Line 1066 class MPIWGProject(CatalogAware,Folder,C
|
return pt() |
return pt() |
|
|
|
|
def harvest_page(self,context=None): |
def harvest_page(self,context=None,mode="normal"): |
"""seite fuer harvesting fuer die Projektsuche""" |
"""seite fuer harvesting fuer die Projektsuche""" |
|
|
if not context: |
if not context: |
context=self |
context=self |
|
|
if self.isActiveProject() and self.isActual(): |
if self.isActiveProject() and self.isActual(): |
|
templates = self.en.getHarvestCache() |
|
|
ext=getattr(self,"harvest_main",None) |
ext=getattr(self,"harvest_main",None) |
if ext: |
if ext: |
return getattr(self,ext.getId())() |
rendered = getattr(self,ext.getId())() |
|
templates[self.absolute_url()]=rendered |
|
transaction.commit() |
|
return rendered |
|
|
|
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','harvest_main')).__of__(context) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','harvest_main')).__of__(context) |
|
|
|
rendered = pt() |
|
templates[self.absolute_url()]=rendered |
|
transaction.commit() |
|
return rendered |
|
|
|
|
return pt() |
|
|
|
def index_html(self,request=True,context=None): |
def index_html(self,request=True,context=None): |
"""show homepage""" |
"""show homepage""" |
Line 1266 class MPIWGProject(CatalogAware,Folder,C
|
Line 1321 class MPIWGProject(CatalogAware,Folder,C
|
|
|
return True |
return True |
|
|
security.declareProtected('View management screens','edit') |
security.declareProtected('View management screens','editOldVersion') |
def edit(self,western=None): |
def editOldVersion(self,western=None): |
"""Edit pages""" |
"""Edit pages""" |
if western: |
if western: |
self.REQUEST.RESPONSE.setCookie("MP_debug_code","western",path="/") |
self.REQUEST.RESPONSE.setCookie("MP_debug_code","western",path="/") |
Line 1540 class MPIWGProject(CatalogAware,Folder,C
|
Line 1595 class MPIWGProject(CatalogAware,Folder,C
|
tmpList.append((unicodify(names[nr]),unicodify(keys.get(nr,"")))) |
tmpList.append((unicodify(names[nr]),unicodify(keys.get(nr,"")))) |
|
|
self.responsibleScientistsList=tmpList |
self.responsibleScientistsList=tmpList |
|
|
|
self.reindex_object() |
if fromEdit and (RESPONSE is not None): |
if fromEdit and (RESPONSE is not None): |
#RESPONSE.redirect('./editMPIWGBasisEditor') |
#RESPONSE.redirect('./editMPIWGBasisEditor') |
return self.editMPIWGBasisEditor(identifiedNames=self.identifyNames(self.decode(self.REQUEST.get('xdata_01','')))) |
return self.editMPIWGBasisEditor(identifiedNames=self.identifyNames(self.decode(self.REQUEST.get('xdata_01','')))) |
Line 1658 class MPIWGProject(CatalogAware,Folder,C
|
Line 1715 class MPIWGProject(CatalogAware,Folder,C
|
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
def tagTheProject(self,RESPONSE=None): |
|
"""TAG""" |
|
id=self.getId(); |
|
tmpl =getattr(self.thesaurus,"main.html") |
|
if RESPONSE: |
|
RESPONSE.redirect("./thesaurus/main.html?project="+id) |
|
return |
|
|
def manage_addMPIWGProjectForm(self): |
def manage_addMPIWGProjectForm(self): |
"""form for adding the project""" |
"""form for adding the project""" |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addMPIWGProjectForm.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addMPIWGProjectForm.zpt')).__of__(self) |