version 1.1.2.3, 2008/08/28 18:20:09
|
version 1.1.2.7, 2008/09/08 08:40:05
|
Line 35 def getSection(self):
|
Line 35 def getSection(self):
|
|
|
return sec |
return sec |
|
|
|
def getSubSection(self): |
|
"""returns the current subsection name""" |
|
p = self |
|
sec = None |
|
subsec = None |
|
# descend parents to the root (and remember the last id) |
|
while p is not None and p.meta_type != 'MPIWGRoot': |
|
subsec = sec |
|
sec = p.getId() |
|
p = p.aq_parent |
|
|
|
return subsec |
|
|
|
|
class MPIWGTemplate(ZopePageTemplate): |
class MPIWGTemplate(ZopePageTemplate): |
"""Create a layout Template for different purposes""" |
"""Create a layout Template for different purposes""" |
Line 75 class MPIWGTemplate(ZopePageTemplate):
|
Line 88 class MPIWGTemplate(ZopePageTemplate):
|
return "" |
return "" |
|
|
getBreadcrumbs = getBreadcrumbs |
getBreadcrumbs = getBreadcrumbs |
|
|
getSection = getSection |
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): |
def manage_addMPIWGTemplateForm(self): |
Line 176 class MPIWGFolder(Folder):
|
Line 197 class MPIWGFolder(Folder):
|
|
|
getSection = getSection |
getSection = getSection |
|
|
|
getSubSection = getSubSection |
|
|
|
|
def manage_addMPIWGFolderForm(self): |
def manage_addMPIWGFolderForm(self): |
"""Form for adding""" |
"""Form for adding""" |
Line 188 def manage_addMPIWGFolder(self, id, titl
|
Line 211 def manage_addMPIWGFolder(self, id, titl
|
self.Destination()._setObject(id,newObj) |
self.Destination()._setObject(id,newObj) |
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
|
|
|
|
class MPIWGFeature(Folder): |
|
"""special object for feature texts on the MPIWG website """ |
|
|
|
meta_type="MPIWGFeature" |
|
|
|
manage_options=Folder.manage_options+( |
|
{'label':'Change Weight','action':'changeWeightForm'}, |
|
{'label':'Main Config','action':'changeForm'}, |
|
) |
|
|
|
changeWeightForm = PageTemplateFile('zpt/MPIWGFeatureChangeWeight', globals()) |
|
changeForm = PageTemplateFile('zpt/MPIWGFeatureConfig', globals()) |
|
|
|
def __init__(self, id, title=None, weight=0): |
|
self.id = str(id) |
|
self.weight = weight |
|
if title is None: |
|
self.title = id |
|
else: |
|
self.title = title |
|
|
|
# add language folder and sample templates |
|
self.manage_addFolder('en') |
|
folder = getattr(self, 'en') |
|
introid = 'intro.pt' |
|
folder._setObject(introid, ZopePageTemplate(introid)) |
|
intro = getattr(folder,introid) |
|
intro.pt_edit(open(os.path.join(package_home(globals()),'zpt/MPIWGFeature_template_intro.zpt')).read(),'text/html') |
|
mainid = 'main.pt' |
|
folder._setObject(mainid, ZopePageTemplate(mainid)) |
|
main = getattr(folder,mainid) |
|
main.pt_edit(open(os.path.join(package_home(globals()),'zpt/MPIWGFeature_template_main.zpt')).read(),'text/html') |
|
|
|
|
|
def index_html(self): |
|
"""default index page""" |
|
return self.getMain() |
|
|
|
def getFullTitle(self): |
|
"""returns the full title (from main.pt)""" |
|
# get Language from MPIWGRoot |
|
lang = self.getLang() |
|
dir = getattr(self, lang, self.en) |
|
pt = getattr(dir, 'main.pt') |
|
t = pt.title |
|
if not t: |
|
t = self.title |
|
|
|
return t |
|
|
|
def getIntro(self, **args): |
|
"""returns the intro as PageTemplate""" |
|
# get Language from MPIWGRoot |
|
lang = self.getLang() |
|
dir = getattr(self, lang, self.en) |
|
pt = getattr(dir, 'intro.pt') |
|
return pt(**args) |
|
|
|
def getMain(self, **args): |
|
"""returns the main part as PageTemplate""" |
|
# get Language from MPIWGRoot |
|
lang = self.getLang() |
|
dir = getattr(self, lang, self.en) |
|
pt = getattr(dir, 'main.pt') |
|
return pt(**args) |
|
|
|
def getFrontpageImg(self): |
|
"""returns the image object for the frontpage""" |
|
img = getattr(self, 'img-frontpage.jpg') |
|
return img |
|
|
|
def getFrontpageImgUrl(self): |
|
"""returns the URL of the image object for the frontpage""" |
|
img = getattr(self, 'img-frontpage.jpg') |
|
return img.absolute_url() |
|
|
|
def getFrontpageThumb(self): |
|
"""returns the image object for the frontpage thumbnail""" |
|
img = getattr(self, 'img-frontthumb.jpg') |
|
return img |
|
|
|
def getFrontpageThumbUrl(self): |
|
"""returns the URL of the image object for the frontpage thumbnail""" |
|
img = getattr(self, 'img-frontthumb.jpg') |
|
return img.absolute_url() |
|
|
|
def getThumbImg(self): |
|
"""returns the image object for the sidebar thumbnail""" |
|
img = getattr(self, 'img-thumb.jpg') |
|
return img |
|
|
|
def getThumbImgUrl(self): |
|
"""returns the URL of the image object for the sidebar thumbnail""" |
|
img = getattr(self, 'img-thumb.jpg') |
|
return img.absolute_url() |
|
|
|
def changeWeight(self,weight,RESPONSE=None): |
|
"""change weight""" |
|
self.weight=weight |
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
def changeMPIWGFeature(self, title=None, weight=None, RESPONSE=None): |
|
"""change everything""" |
|
if title is not None: |
|
self.title = title |
|
if weight is not None: |
|
self.weight = weight |
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
def getBreadcrumbs(self): |
|
"""return list of breadcrumbs from here to the root""" |
|
crumbs = [(self.getFullTitle(), self.absolute_url(), self)] |
|
parent = self.aq_parent |
|
if hasattr(parent, 'getBreadcrumbs'): |
|
if self.title: |
|
return parent.getBreadcrumbs() + crumbs |
|
else: |
|
# if there's no title, skip this level |
|
return parent.getBreadcrumbs() |
|
|
|
return crumbs |
|
|
|
getSection = getSection |
|
|
|
getSubSection = getSubSection |
|
|
|
|
|
def manage_addMPIWGFeatureForm(self): |
|
"""Form for adding""" |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGFeature.zpt')).__of__(self) |
|
return pt() |
|
|
|
def manage_addMPIWGFeature(self, id, title=None,weight=0,RESPONSE=None): |
|
"Add a MPIWG Feature object" |
|
newObj=MPIWGFeature(id,title,weight) |
|
self.Destination()._setObject(id,newObj) |
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
|
|
|