version 1.47.2.106, 2008/09/12 12:28:48
|
version 1.47.2.108, 2008/10/23 10:02:09
|
Line 20 from OFS.SimpleItem import SimpleItem
|
Line 20 from OFS.SimpleItem import SimpleItem
|
from OFS.Folder import Folder |
from OFS.Folder import Folder |
from OFS.Image import Image |
from OFS.Image import Image |
from AccessControl import ClassSecurityInfo |
from AccessControl import ClassSecurityInfo |
|
from AccessControl import getSecurityManager |
from bibliography import * |
from bibliography import * |
import time |
import time |
from OFS.Cache import Cacheable |
from OFS.Cache import Cacheable |
Line 380 class MPIWGProject(CatalogAware,Folder,C
|
Line 381 class MPIWGProject(CatalogAware,Folder,C
|
|
|
def hasChildren(self,date=None,onlyActive=1,onlyArchived=1): |
def hasChildren(self,date=None,onlyActive=1,onlyArchived=1): |
"""check if project has children""" |
"""check if project has children""" |
|
|
ct=self.getContexts(childs=self.getContent('xdata_05'), |
ct=self.getContexts(childs=self.getContent('xdata_05'), |
depth=1,date=date,onlyActive=onlyActive) |
depth=1,date=date,onlyActive=onlyActive) |
|
|
Line 618 class MPIWGProject(CatalogAware,Folder,C
|
Line 620 class MPIWGProject(CatalogAware,Folder,C
|
def getCompletedAt(self): |
def getCompletedAt(self): |
"""gibt das transformierte Datum zurueck, an dem das Projekt beendet wurde.""" |
"""gibt das transformierte Datum zurueck, an dem das Projekt beendet wurde.""" |
date=getattr(self,'completedAt','') |
date=getattr(self,'completedAt','') |
|
|
if date: |
if date: |
return self.reTransformDate(date); |
return self.reTransformDate(date); |
else: |
else: |
|
return "" |
# test ob parent abgeschlossen ist |
# test ob parent abgeschlossen ist |
try: #TODO: ersetzte try except durch vernuenftige abfrage |
try: #TODO: ersetzte try except durch vernuenftige abfrage |
ct=self.getContexts(parents=self.getContent('xdata_05'),depth=1) |
ct=self.getContexts(parents=self.getContent('xdata_05'),depth=1) |
if (len(ct)>0): #is there are parent |
if (len(ct)>0): #is there are parent |
|
|
return ct[0][0].getCompletedAt() |
return ct[0][0].getCompletedAt() |
return ''; |
return ''; |
except: |
except: |
Line 753 class MPIWGProject(CatalogAware,Folder,C
|
Line 756 class MPIWGProject(CatalogAware,Folder,C
|
|
|
def index_html(self,request=True,context=None): |
def index_html(self,request=True,context=None): |
"""show homepage""" |
"""show homepage""" |
|
|
|
bound_names={} |
|
|
|
if not context: |
|
context=self |
|
if request: |
|
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'])+"?date="+self.REQUEST['date']) |
|
else: |
|
self.REQUEST.SESSION['MPI_redirected']=None |
|
|
|
#ext=self.ZopeFind(self.aq_parent,obj_ids=["project_main"]) |
|
|
|
|
|
request2=getattr(self,'REQUEST',None) |
|
|
|
if request2 is not None: |
|
response = request2.response |
|
if not response.headers.has_key('content-type'): |
|
response.setHeader('content-type', 'text/html') |
|
|
|
security = getSecurityManager() |
|
bound_names['user'] = security.getUser() |
|
|
|
|
|
# Retrieve the value from the cache. |
|
keyset = None |
|
if self.ZCacheable_isCachingEnabled(): |
|
|
|
# Prepare a cache key. |
|
keyset = {'here': self, 'params':request2['QUERY_STRING']} |
|
|
|
result = self.ZCacheable_get(keywords=keyset) |
|
|
|
if result is not None: |
|
# Got a cached value. |
|
return result |
|
|
|
pt = getTemplate(self, "project_main") |
|
# Execute the template in a new security context. |
|
security.addContext(self) |
|
|
|
try: |
|
result = pt.pt_render(extra_context=bound_names) |
|
if keyset is not None: |
|
# Store the result in the cache. |
|
self.ZCacheable_set(result, keywords=keyset) |
|
|
|
return result |
|
finally: |
|
security.removeContext(self) |
|
|
|
|
|
|
|
def index_html_old(self,request=True,context=None): |
|
"""show homepage""" |
if not context: |
if not context: |
context=self |
context=self |
if request: |
if request: |
Line 914 class MPIWGProject(CatalogAware,Folder,C
|
Line 974 class MPIWGProject(CatalogAware,Folder,C
|
return self.preview(newcontent) |
return self.preview(newcontent) |
|
|
self.copyObjectToArchive() |
self.copyObjectToArchive() |
|
self.ZCacheable_invalidate() |
self.WEB_project_description=newcontent[0:] |
self.WEB_project_description=newcontent[0:] |
|
|
self.REQUEST.RESPONSE.redirect("./index.html") |
self.REQUEST.RESPONSE.redirect("./index.html") |
Line 966 class MPIWGProject(CatalogAware,Folder,C
|
Line 1027 class MPIWGProject(CatalogAware,Folder,C
|
baseUrl = "/en/research/projects/" |
baseUrl = "/en/research/projects/" |
|
|
# add in the internal project hierarchy |
# add in the internal project hierarchy |
|
|
ct=self.getContexts(parents=self.getContent('xdata_05')) |
ct=self.getContexts(parents=self.getContent('xdata_05')) |
# start with grandparents |
# start with grandparents |
ct.reverse() |
ct.reverse() |
Line 980 class MPIWGProject(CatalogAware,Folder,C
|
Line 1042 class MPIWGProject(CatalogAware,Folder,C
|
|
|
def getRootProject(self): |
def getRootProject(self): |
"""returns the root (=top level) project of the current project""" |
"""returns the root (=top level) project of the current project""" |
|
|
ct=self.getContexts(parents=self.getContent('xdata_05')) |
ct=self.getContexts(parents=self.getContent('xdata_05')) |
if len(ct) > 0: |
if len(ct) > 0: |
return ct[-1][0] |
return ct[-1][0] |
Line 1146 class MPIWGProject(CatalogAware,Folder,C
|
Line 1209 class MPIWGProject(CatalogAware,Folder,C
|
"""edit the project and archive the old version""" |
"""edit the project and archive the old version""" |
|
|
self.copyObjectToArchive() # archive the object |
self.copyObjectToArchive() # archive the object |
|
self.ZCacheable_invalidate() |
|
|
for x in definedFields: |
for x in definedFields: |
if self.REQUEST.has_key(x): |
if self.REQUEST.has_key(x): |