version 1.1, 2008/06/24 11:16:26
|
version 1.1.2.9, 2009/04/17 08:55:32
|
Line 0
|
Line 1
|
|
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate |
|
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
|
from Globals import package_home |
|
import string |
|
import re |
|
import os |
|
import logging |
|
from OFS.Folder import Folder |
|
from AccessControl import ClassSecurityInfo |
|
from MPIWGHelper import * |
|
|
|
# dummy definitions for backwards compatibility |
|
import MPIWGFeature |
|
|
|
class MPIWGFeature(MPIWGFeature.MPIWGFeature): |
|
"""deprecated! use class in MPIWGFeature.py""" |
|
|
|
import MPIWGFolder |
|
|
|
class MPIWGFolder(MPIWGFolder.MPIWGFolder): |
|
"""deprecated! use class in MPIWGFolder.py""" |
|
|
|
|
|
|
|
class MPIWGTemplate(ZopePageTemplate): |
|
"""Create a layout Template for different purposes""" |
|
|
|
meta_type="MPIWGTemplate" |
|
|
|
manage_options=ZopePageTemplate.manage_options+( |
|
{'label':'Change Weight','action':'changeWeightForm'}, |
|
) |
|
|
|
def changeWeightForm(self): |
|
"""change weight form""" |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGTemplateChangeWeight.zpt')).__of__(self) |
|
return pt() |
|
|
|
def changeWeight(self,weight,RESPONSE=None): |
|
"""change weight""" |
|
self.weight=weight |
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage') |
|
|
|
|
|
def __init__(self, id, text=None, content_type="text/html",MPIWGType=None): |
|
self.id = str(id) |
|
self.ZBindings_edit(self._default_bindings) |
|
if text is None: |
|
self._default_content_fn = os.path.join(package_home(globals()), |
|
'zpt/MPIWG_%s_template_standard.zpt'%MPIWGType) |
|
text = open(self._default_content_fn).read() |
|
self.pt_edit(text, content_type) |
|
|
|
|
|
def isActiveItem(self): |
|
"""teste ob ausgewaehlt""" |
|
if self.absolute_url()==self.REQUEST['URL']: |
|
return "aktiv" |
|
else: |
|
return "" |
|
|
|
getBreadcrumbs = getBreadcrumbs |
|
getSection = getSection |
|
getSubSection = getSubSection |
|
|
|
def harvest_page(self): |
|
"""harvest main""" |
|
try: |
|
return self.pt_render() |
|
except: |
|
logging.error("cannot harvest: %s"%self.absolute_url()) |
|
|
|
|
|
|
|
def manage_addMPIWGTemplateForm(self): |
|
"""Form for adding""" |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGTemplate.zpt')).__of__(self) |
|
return pt() |
|
|
|
|
|
|
|
def manage_addMPIWGTemplate(self, MPIWGType,id, text="",title=None,weight=0,REQUEST=None): |
|
"Add a Page Template with optional file content." |
|
if type(MPIWGType)==StringType: |
|
MPIWGTypes=[MPIWGType] |
|
else: |
|
MPIWGTypes=MPIWGType |
|
|
|
for singleType in MPIWGTypes: |
|
|
|
|
|
if REQUEST is None: |
|
self._setObject(id, MPIWGTemplate(id, text,EchoType=singleType)) |
|
ob = getattr(self, id) |
|
|
|
if title: |
|
ob.pt_setTitle(title) |
|
return ob |
|
else: |
|
file = REQUEST.form.get('file') |
|
headers = getattr(file, 'headers', None) |
|
if headers is None or not file.filename: |
|
zpt = MPIWGTemplate(id,MPIWGType=singleType) |
|
else: |
|
zpt = MPIWGTemplate(id, file, headers.get('content_type')) |
|
|
|
self._setObject(id, zpt) |
|
ob = getattr(self, id) |
|
if title: |
|
ob.pt_setTitle(title) |
|
|
|
try: |
|
u = self.DestinationURL() |
|
except AttributeError: |
|
u = REQUEST['URL1'] |
|
|
|
ob = getattr(self, id) |
|
ob.weight=weight |
|
|
|
REQUEST.RESPONSE.redirect(u+'/manage_main') |
|
return '' |
|
|
|
|