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>