version 1.41, 2004/11/03 17:33:31
|
version 1.43, 2004/11/23 16:22:18
|
Line 1
|
Line 1
|
"""This contains the class MPIWG Projects |
"""This contains the class MPIWG Projects |
for organizing and maintaining the different projectspages |
for organizing and maintaining the different project pages |
|
|
""" |
""" |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
Line 19 from OFS.SimpleItem import SimpleItem
|
Line 19 from OFS.SimpleItem import SimpleItem
|
from OFS.Folder import Folder |
from OFS.Folder import Folder |
|
|
from bibliography import * |
from bibliography import * |
|
import time |
|
|
definedFields=['WEB_title','xdata_01','xdata_02','xdata_03','xdata_04','xdata_05','xdata_06','xdata_07','xdata_08','xdata_09','xdata_10','xdata_11','xdata_12','xdata_13','WEB_project_header','WEB_project_description','WEB_related_pub'] |
definedFields=['WEB_title','xdata_01','xdata_02','xdata_03','xdata_04','xdata_05','xdata_06','xdata_07','xdata_08','xdata_09','xdata_10','xdata_11','xdata_12','xdata_13','WEB_project_header','WEB_project_description','WEB_related_pub'] |
|
|
Line 848 class MPIWGProject(Folder):
|
Line 849 class MPIWGProject(Folder):
|
|
|
meta_type='MPIWGProject' |
meta_type='MPIWGProject' |
|
|
|
|
|
def versionHeader(self): |
|
"""version Header, gibt header text entsprechend der aktuellen version aus""" |
|
|
|
actualTime=time.localtime() |
|
retTXT="""<h2>This is an outdated version, for the actual version please refer to <a href="%s">%s</a></h2>""" |
|
s=self.aq_parent.absolute_url() |
|
#print getattr(self,'archiveTime',actualTime) |
|
if getattr(self,'archiveTime',actualTime)< actualTime: |
|
return retTXT%(s,s) |
|
else: |
|
return "" |
|
def isActual(self): |
|
"""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): |
|
"""kopiere aktuelles objekt ins archiv""" |
|
cb=self.aq_parent.manage_copyObjects(self.getId()) |
|
self.manage_pasteObjects(cb) |
|
actualTime=time.localtime() |
|
|
|
self.manage_renameObject(self.getId(),self.getId()+"_"+time.strftime("%Y%m%d%H%M%S",actualTime)) |
|
obj=getattr(self,self.getId()+"_"+time.strftime("%Y%m%d%H%M%S",actualTime)) |
|
obj.setArchiveTime(time.strftime("%Y%m%d%H%M%S",actualTime)) |
|
ids=[x[0] for x in self.ZopeFind(obj,obj_metatypes=['MPIWGProject'])] |
|
obj.manage_delObjects(ids) |
|
|
|
def setArchiveTime(self,time): |
|
"""set Archive Time""" |
|
self.archiveTime=time[0:] |
|
|
def versionManageForm(self): |
def versionManageForm(self): |
"""version Manage form:currently only set to invisible""" |
"""version Manage form:currently only set to invisible""" |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGProject_versionManageForm.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGProject_versionManageForm.zpt')).__of__(self) |
Line 921 class MPIWGProject(Folder):
|
Line 961 class MPIWGProject(Folder):
|
) |
) |
|
|
|
|
|
def checkDate(self,date): |
|
"""teste ob zum Zeitpunkt date eine andere version existierte""" |
|
|
|
|
|
def sortProjectsByTime(x,y): |
|
return cmp(x[1].archiveTime,y[1].archiveTime) |
|
|
|
finds=self.ZopeFind(self,obj_metatypes=['MPIWGProject']) |
|
if not finds: |
|
return self.absolute_url() |
|
else: |
|
finds.sort(sortProjectsByTime) |
|
|
|
for find in finds: |
|
if int(find[1].archiveTime) > int(date): |
|
return find[1].absolute_url() |
|
|
|
return self.absolute_url() |
|
|
|
|
|
|
def index_html(self): |
def index_html(self): |
"""show homepage""" |
"""show homepage""" |
|
|
|
if self.REQUEST.has_key('date') and self.REQUEST.SESSION.get('MPI_redirected',None)==None: |
|
self.REQUEST.SESSION['MPI_redirected']=1 |
|
self.REQUEST.RESPONSE.redirect(self.checkDate(self.REQUEST['date'])) |
|
else: |
|
self.REQUEST.SESSION['MPI_redirected']=None |
|
|
ext=self.ZopeFind(self.aq_parent,obj_ids=["project_main"]) |
ext=self.ZopeFind(self.aq_parent,obj_ids=["project_main"]) |
|
|
if ext: |
if ext: |
Line 1003 class MPIWGProject(Folder):
|
Line 1071 class MPIWGProject(Folder):
|
return pt() |
return pt() |
|
|
def editMPIWGProject(self,RESPONSE=None): |
def editMPIWGProject(self,RESPONSE=None): |
"""edit the project""" |
"""edit the project and archive the old version""" |
|
|
|
self.copyObjectToArchive() # archive the object |
|
|
|
|
#return self.REQUEST |
|
for x in definedFields: |
for x in definedFields: |
if self.REQUEST.has_key(x): |
if self.REQUEST.has_key(x): |
|
|
setattr(self,x,[self.REQUEST[x].decode('utf-8')]) |
setattr(self,x,[self.REQUEST[x].decode('utf-8')]) |
|
|
|
|
|
|
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|