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>