Annotation of MPIWGWeb/MPIWGFeature.py, revision 1.1.2.1
1.1.2.1 ! casties 1: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
! 2: from Globals import package_home
! 3: import string
! 4: import re
! 5: import os
! 6: import logging
! 7: from OFS.Folder import Folder
! 8: from AccessControl import ClassSecurityInfo
! 9: from MPIWGHelper import *
! 10:
! 11: class MPIWGFeature(Folder):
! 12: """special object for feature texts on the MPIWG website """
! 13:
! 14: meta_type="MPIWGFeature"
! 15:
! 16: manage_options=Folder.manage_options+(
! 17: {'label':'Change Weight','action':'changeWeightForm'},
! 18: {'label':'Main Config','action':'changeForm'},
! 19: )
! 20:
! 21: changeWeightForm = PageTemplateFile('zpt/MPIWGFeatureChangeWeight', globals())
! 22: changeForm = PageTemplateFile('zpt/MPIWGFeatureConfig', globals())
! 23:
! 24: def __init__(self, id, title=None, weight=0):
! 25: self.id = str(id)
! 26: self.weight = weight
! 27: if title is None:
! 28: self.title = id
! 29: else:
! 30: self.title = title
! 31:
! 32: # add language folder and sample templates
! 33: self.manage_addFolder('en')
! 34: folder = getattr(self, 'en')
! 35: introid = 'intro.pt'
! 36: folder._setObject(introid, ZopePageTemplate(introid))
! 37: intro = getattr(folder,introid)
! 38: intro.pt_edit(open(os.path.join(package_home(globals()),'zpt/MPIWGFeature_template_intro.zpt')).read(),'text/html')
! 39: mainid = 'main.pt'
! 40: folder._setObject(mainid, ZopePageTemplate(mainid))
! 41: main = getattr(folder,mainid)
! 42: main.pt_edit(open(os.path.join(package_home(globals()),'zpt/MPIWGFeature_template_main.zpt')).read(),'text/html')
! 43:
! 44:
! 45: def index_html(self):
! 46: """default index page"""
! 47: return self.getMain()
! 48:
! 49: def getFullTitle(self):
! 50: """returns the full title (from main.pt)"""
! 51: # get Language from MPIWGRoot
! 52: lang = self.getLang()
! 53: dir = getattr(self, lang, self.en)
! 54: pt = getattr(dir, 'main.pt')
! 55: t = pt.title
! 56: if not t:
! 57: t = self.title
! 58:
! 59: return t
! 60:
! 61: def getIntro(self, **args):
! 62: """returns the intro as PageTemplate"""
! 63: # get Language from MPIWGRoot
! 64: lang = self.getLang()
! 65: dir = getattr(self, lang, self.en)
! 66: pt = getattr(dir, 'intro.pt')
! 67: return pt(**args)
! 68:
! 69: def getMain(self, **args):
! 70: """returns the main part as PageTemplate"""
! 71: # get Language from MPIWGRoot
! 72: lang = self.getLang()
! 73: dir = getattr(self, lang, self.en)
! 74: pt = getattr(dir, 'main.pt')
! 75: return pt(**args)
! 76:
! 77: def getFrontpageImg(self):
! 78: """returns the image object for the frontpage"""
! 79: img = getattr(self, 'img-frontpage.jpg')
! 80: return img
! 81:
! 82: def getFrontpageImgUrl(self):
! 83: """returns the URL of the image object for the frontpage"""
! 84: img = getattr(self, 'img-frontpage.jpg')
! 85: return img.absolute_url()
! 86:
! 87: def getFrontpageThumb(self):
! 88: """returns the image object for the frontpage thumbnail"""
! 89: img = getattr(self, 'img-frontthumb.jpg')
! 90: return img
! 91:
! 92: def getFrontpageThumbUrl(self):
! 93: """returns the URL of the image object for the frontpage thumbnail"""
! 94: img = getattr(self, 'img-frontthumb.jpg')
! 95: return img.absolute_url()
! 96:
! 97: def getThumbImg(self):
! 98: """returns the image object for the sidebar thumbnail"""
! 99: img = getattr(self, 'img-thumb.jpg')
! 100: return img
! 101:
! 102: def getThumbImgUrl(self):
! 103: """returns the URL of the image object for the sidebar thumbnail"""
! 104: img = getattr(self, 'img-thumb.jpg')
! 105: return img.absolute_url()
! 106:
! 107: def changeWeight(self,weight,RESPONSE=None):
! 108: """change weight"""
! 109: self.weight=weight
! 110: if RESPONSE is not None:
! 111: RESPONSE.redirect('manage_main')
! 112:
! 113: def changeMPIWGFeature(self, title=None, weight=None, RESPONSE=None):
! 114: """change everything"""
! 115: if title is not None:
! 116: self.title = title
! 117: if weight is not None:
! 118: self.weight = weight
! 119: if RESPONSE is not None:
! 120: RESPONSE.redirect('manage_main')
! 121:
! 122: def getBreadcrumbs(self):
! 123: """return list of breadcrumbs from here to the root"""
! 124: crumbs = [(self.getFullTitle(), self.absolute_url(), self)]
! 125: parent = self.aq_parent
! 126: if hasattr(parent, 'getBreadcrumbs'):
! 127: if self.title:
! 128: return parent.getBreadcrumbs() + crumbs
! 129: else:
! 130: # if there's no title, skip this level
! 131: return parent.getBreadcrumbs()
! 132:
! 133: return crumbs
! 134:
! 135: getSection = getSection
! 136:
! 137: getSubSection = getSubSection
! 138:
! 139:
! 140: def manage_addMPIWGFeatureForm(self):
! 141: """Form for adding"""
! 142: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGFeature.zpt')).__of__(self)
! 143: return pt()
! 144:
! 145: def manage_addMPIWGFeature(self, id, title=None,weight=0,RESPONSE=None):
! 146: "Add a MPIWG Feature object"
! 147: newObj=MPIWGFeature(id,title,weight)
! 148: self.Destination()._setObject(id,newObj)
! 149: if RESPONSE is not None:
! 150: RESPONSE.redirect('manage_main')
! 151:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>