Annotation of OSAS/OSA_system/OSAS_project.py, revision 1.1

1.1     ! dwinter     1: """ Begin March,17 2004, Class OSAS_project contains all layout information for the viewenvironment"""
        !             2: 
        !             3: from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
        !             4: from Acquisition import Implicit
        !             5: from OFS.Folder import Folder
        !             6: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
        !             7: from urllib import quote
        !             8: from Products.PageTemplates.PageTemplate import PageTemplate
        !             9: import os
        !            10: from Globals import package_home
        !            11: 
        !            12: 
        !            13: def copyContent(self,filename):
        !            14:         """copycontent to path"""
        !            15:         text= self.document_src()
        !            16:         if not os.path.exists(self.templatePath+"/"+self.aq_parent.getId()):
        !            17:             os.mkdir(self.templatePath+"/"+self.aq_parent.getId())
        !            18:         path=self.templatePath+"/"+self.aq_parent.getId()+"/"+filename
        !            19:         fh=file(path,"w")
        !            20:         
        !            21:         fh.write(text)
        !            22:         fh.close()
        !            23:         os.chmod(path,0664)
        !            24:         return path
        !            25: 
        !            26: def getPath(self,filename):
        !            27:     """get path"""
        !            28:     return self.templatePath+"/"+self.aq_parent.getId()+"/"+filename
        !            29: 
        !            30: class OSAS_thumbTemplate(ZopePageTemplate):
        !            31:     """pageTemplate Objekt"""
        !            32:     meta_type="OSAS_thumbTemplate"
        !            33: 
        !            34:     _default_content_fn = os.path.join(package_home(globals()),
        !            35:                                        'zpt/OSAS_thumbTemplateDefault.zpt')
        !            36: 
        !            37:     manage_options=ZopePageTemplate.manage_options+(
        !            38:         {'label':'Copy to Filesystem','action':'copyContent'},
        !            39:        )
        !            40: 
        !            41:     def getPath(self):
        !            42:         """get path"""
        !            43:         return getPath(self,'thumbtemplate.templ')
        !            44:     
        !            45:     ## def changeECHO_pageTemplateWeightForm(self):
        !            46: ##         """change"""
        !            47: ##         pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
        !            48: ##         return pt()
        !            49: 
        !            50: ##     def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):
        !            51: ##         """change"""
        !            52: ##         self.weight=weight
        !            53: ##         self.content_type=content_type
        !            54: 
        !            55: ##         if RESPONSE is not None:
        !            56: ##             RESPONSE.redirect('manage_main')
        !            57:         
        !            58: 
        !            59:     def copyContent(self):
        !            60:         """copycontent to path"""
        !            61: 
        !            62:         return "copied to:"+copyContent(self,'thumbtemplate.templ')
        !            63:         
        !            64:     
        !            65: def manage_addOSAS_thumbTemplateForm(self):
        !            66:     """Form for adding"""
        !            67:     pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_thumbTemplate.zpt').__of__(self)
        !            68:     return pt()
        !            69: 
        !            70: 
        !            71: 
        !            72: 
        !            73: def manage_addOSAS_thumbTemplate(self, id,title=None, text=None,
        !            74:                            REQUEST=None, submit=None):
        !            75:     "Add a Page Template with optional file content."
        !            76: 
        !            77:     
        !            78:     id = str(id)
        !            79:     if REQUEST is None:
        !            80:         self._setObject(id, OSAS_thumbTemplate(id, text))
        !            81:         ob = getattr(self, id)
        !            82:        
        !            83:         if title:
        !            84:             ob.pt_setTitle(title)
        !            85:         return ob
        !            86:     else:
        !            87:         file = REQUEST.form.get('file')
        !            88:         headers = getattr(file, 'headers', None)
        !            89:         if headers is None or not file.filename:
        !            90:             zpt = OSAS_thumbTemplate(id)
        !            91:         else:
        !            92:             zpt = OSAS_thumbTemplate(id, file, headers.get('content_type'))
        !            93: 
        !            94:         self._setObject(id, zpt)
        !            95:         ob = getattr(self, id)
        !            96: 
        !            97: 
        !            98:         try:
        !            99:             u = self.DestinationURL()
        !           100:         except AttributeError:
        !           101:             u = REQUEST['URL1']
        !           102: 
        !           103:         if submit == " Add and Edit ":
        !           104:             u = "%s/%s" % (u, quote(id))
        !           105:         REQUEST.RESPONSE.redirect(u+'/manage_main')
        !           106:     return ''
        !           107: 
        !           108: class OSAS_topTemplate(ZopePageTemplate):
        !           109:     """pageTemplate Objekt"""
        !           110:     meta_type="OSAS_topTemplate"
        !           111: 
        !           112:     _default_content_fn = os.path.join(package_home(globals()),
        !           113:                                        'zpt/OSAS_topTemplateDefault.zpt')
        !           114:     manage_options=ZopePageTemplate.manage_options+(
        !           115:         {'label':'Copy to Filesystem','action':'copyContent'},
        !           116:        )
        !           117: 
        !           118:     def getPath(self):
        !           119:         """get path"""
        !           120:         return getPath(self,'toptemplate.templ')
        !           121: 
        !           122:     ## def changeECHO_pageTemplateWeightForm(self):
        !           123: ##         """change"""
        !           124: ##         pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
        !           125: ##         return pt()
        !           126: 
        !           127: ##     def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):
        !           128: ##         """change"""
        !           129: ##         self.weight=weight
        !           130: ##         self.content_type=content_type
        !           131: 
        !           132: ##         if RESPONSE is not None:
        !           133: ##             RESPONSE.redirect('manage_main')
        !           134: 
        !           135:     def copyContent(self):
        !           136:         """copycontent to path"""
        !           137:         return "copied to:"+copyContent(self,'toptemplate.templ')
        !           138:         
        !           139: 
        !           140: def manage_addOSAS_topTemplateForm(self):
        !           141:     """Form for adding"""
        !           142:     pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_topTemplate.zpt').__of__(self)
        !           143:     return pt()
        !           144: 
        !           145: 
        !           146: 
        !           147: 
        !           148: def manage_addOSAS_topTemplate(self, id,title=None, text=None,
        !           149:                            REQUEST=None, submit=None):
        !           150:     "Add a Page Template with optional file content."
        !           151: 
        !           152:     
        !           153:     id = str(id)
        !           154:     if REQUEST is None:
        !           155:         self._setObject(id, OSAS_topTemplate(id, text))
        !           156:         ob = getattr(self, id)
        !           157:        
        !           158:         if title:
        !           159:             ob.pt_setTitle(title)
        !           160:         return ob
        !           161:     else:
        !           162:         file = REQUEST.form.get('file')
        !           163:         headers = getattr(file, 'headers', None)
        !           164:         if headers is None or not file.filename:
        !           165:             zpt = OSAS_topTemplate(id)
        !           166:         else:
        !           167:             zpt = OSAS_topTemplate(id, file, headers.get('content_type'))
        !           168: 
        !           169:         self._setObject(id, zpt)
        !           170:         ob = getattr(self, id)
        !           171: 
        !           172: 
        !           173:         try:
        !           174:             u = self.DestinationURL()
        !           175:         except AttributeError:
        !           176:             u = REQUEST['URL1']
        !           177: 
        !           178:         if submit == " Add and Edit ":
        !           179:             u = "%s/%s" % (u, quote(id))
        !           180:         REQUEST.RESPONSE.redirect(u+'/manage_main')
        !           181:     return ''
        !           182: 
        !           183: 
        !           184: class OSAS_project(Folder):
        !           185:     """Main project"""
        !           186: 
        !           187:     meta_type="OSAS_project"
        !           188:     
        !           189:     def __init__(self,id, title, startpage, xsl, templatePath):
        !           190:         """init"""
        !           191:         self.id=id
        !           192:         self.title=title
        !           193:         self.startpage=startpage
        !           194:         self.xsl=xsl
        !           195:         self.templatePath=templatePath
        !           196:         self._setObject('thumbTemplate',OSAS_thumbTemplate(id='thumbTemplate'))
        !           197:         self._setObject('topTemplate',OSAS_topTemplate(id='topTemplate'))
        !           198: 
        !           199: 
        !           200:     manage_options = Folder.manage_options+(
        !           201:         {'label':'Main Config','action':'configOSAS_projectForm'},
        !           202:         {'label':'Copy all Files','action':'copyAllFiles'},
        !           203:         )
        !           204: 
        !           205:     def copyAllFiles(self):
        !           206:         """copy all"""
        !           207:         fis=self.ZopeFind(self)
        !           208:         ret=""
        !           209:         for fi in fis:
        !           210:             if hasattr(fi[1],'copyContent'):
        !           211:                 ret=ret+fi[1].copyContent()+"</br>"
        !           212:         return ret
        !           213:         
        !           214:     def configOSAS_projectForm(self):
        !           215:         """config"""
        !           216:         pt=PageTemplateFile('Products/OSA_system/zpt/changeOSAS_project.zpt').__of__(self)
        !           217:         return pt()
        !           218: 
        !           219:     def configOSAS_project(self,title, startpage, xsl, templatePath,RESPONSE=None):
        !           220:         """config"""
        !           221:         self.title=title
        !           222:         self.startpage=startpage
        !           223:         self.xsl=xsl
        !           224:         self.templatePath=templatePath
        !           225:         if RESPONSE is not None:
        !           226:             RESPONSE.redirect('manage_main')
        !           227:         
        !           228:     
        !           229: 
        !           230: 
        !           231:     
        !           232: def manage_addOSAS_projectForm(self):
        !           233:     """interface for adding the OSAS_root"""
        !           234:     pt=PageTemplateFile('Products/OSA_system/zpt/addOSAS_project.zpt').__of__(self)
        !           235:     return pt()
        !           236: 
        !           237: def manage_addOSAS_project(self,id,title, startpage, xsl,templatePath,RESPONSE=None):
        !           238:     """add the OSAS_root"""
        !           239:     newObj=OSAS_project(id,title, startpage, xsl,templatePath)
        !           240:     self._setObject(id,newObj)
        !           241:     if RESPONSE is not None:
        !           242:         RESPONSE.redirect('manage_main')
        !           243: 
        !           244: 
        !           245:     
        !           246: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>