Annotation of OSAS/OSA_system/OSAS_project.py, revision 1.3
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())
1.2 dwinter 18: os.chmod(self.templatePath+"/"+self.aq_parent.getId(),0755)
1.1 dwinter 19: path=self.templatePath+"/"+self.aq_parent.getId()+"/"+filename
20: fh=file(path,"w")
21:
22: fh.write(text)
23: fh.close()
24: os.chmod(path,0664)
25: return path
26:
27: def getPath(self,filename):
28: """get path"""
29: return self.templatePath+"/"+self.aq_parent.getId()+"/"+filename
30:
31: class OSAS_thumbTemplate(ZopePageTemplate):
32: """pageTemplate Objekt"""
33: meta_type="OSAS_thumbTemplate"
34:
35: _default_content_fn = os.path.join(package_home(globals()),
36: 'zpt/OSAS_thumbTemplateDefault.zpt')
37:
38: manage_options=ZopePageTemplate.manage_options+(
39: {'label':'Copy to Filesystem','action':'copyContent'},
40: )
41:
42: def getPath(self):
43: """get path"""
44: return getPath(self,'thumbtemplate.templ')
45:
46: ## def changeECHO_pageTemplateWeightForm(self):
47: ## """change"""
48: ## pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
49: ## return pt()
50:
51: ## def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):
52: ## """change"""
53: ## self.weight=weight
54: ## self.content_type=content_type
55:
56: ## if RESPONSE is not None:
57: ## RESPONSE.redirect('manage_main')
58:
59:
60: def copyContent(self):
61: """copycontent to path"""
62:
63: return "copied to:"+copyContent(self,'thumbtemplate.templ')
64:
65:
66: def manage_addOSAS_thumbTemplateForm(self):
67: """Form for adding"""
68: pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_thumbTemplate.zpt').__of__(self)
69: return pt()
70:
71:
72:
73:
74: def manage_addOSAS_thumbTemplate(self, id,title=None, text=None,
75: REQUEST=None, submit=None):
76: "Add a Page Template with optional file content."
77:
78:
79: id = str(id)
80: if REQUEST is None:
81: self._setObject(id, OSAS_thumbTemplate(id, text))
82: ob = getattr(self, id)
83:
84: if title:
85: ob.pt_setTitle(title)
86: return ob
87: else:
88: file = REQUEST.form.get('file')
89: headers = getattr(file, 'headers', None)
90: if headers is None or not file.filename:
91: zpt = OSAS_thumbTemplate(id)
92: else:
93: zpt = OSAS_thumbTemplate(id, file, headers.get('content_type'))
94:
95: self._setObject(id, zpt)
96: ob = getattr(self, id)
97:
98:
99: try:
100: u = self.DestinationURL()
101: except AttributeError:
102: u = REQUEST['URL1']
103:
104: if submit == " Add and Edit ":
105: u = "%s/%s" % (u, quote(id))
106: REQUEST.RESPONSE.redirect(u+'/manage_main')
107: return ''
108:
1.3 ! dwinter 109: class OSAS_digiLibTemplate(ZopePageTemplate):
! 110: """pageTemplate Objekt"""
! 111: meta_type="OSAS_digiLibTemplate"
! 112:
! 113: _default_content_fn = os.path.join(package_home(globals()),
! 114: 'zpt/OSAS_digiLibTemplateDefault.zpt')
! 115:
! 116: manage_options=ZopePageTemplate.manage_options+(
! 117: {'label':'Copy to Filesystem','action':'copyContent'},
! 118: )
! 119:
! 120: def getPath(self):
! 121: """get path"""
! 122: return getPath(self,'digilibtemplate.templ')
! 123:
! 124: ## def changeECHO_pageTemplateWeightForm(self):
! 125: ## """change"""
! 126: ## pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
! 127: ## return pt()
! 128:
! 129: ## def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):
! 130: ## """change"""
! 131: ## self.weight=weight
! 132: ## self.content_type=content_type
! 133:
! 134: ## if RESPONSE is not None:
! 135: ## RESPONSE.redirect('manage_main')
! 136:
! 137:
! 138: def copyContent(self):
! 139: """copycontent to path"""
! 140:
! 141: return "copied to:"+copyContent(self,'digilibtemplate.templ')
! 142:
! 143:
! 144: def manage_addOSAS_digiLibTemplateForm(self):
! 145: """Form for adding"""
! 146: pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_digiLibTemplate.zpt').__of__(self)
! 147: return pt()
! 148:
! 149:
! 150:
! 151:
! 152: def manage_addOSAS_digiLibTemplate(self, id,title=None, text=None,
! 153: REQUEST=None, submit=None):
! 154: "Add a Page Template with optional file content."
! 155:
! 156:
! 157: id = str(id)
! 158: if REQUEST is None:
! 159: self._setObject(id, OSAS_digiLibTemplate(id, text))
! 160: ob = getattr(self, id)
! 161:
! 162: if title:
! 163: ob.pt_setTitle(title)
! 164: return ob
! 165: else:
! 166: file = REQUEST.form.get('file')
! 167: headers = getattr(file, 'headers', None)
! 168: if headers is None or not file.filename:
! 169: zpt = OSAS_digiLibTemplate(id)
! 170: else:
! 171: zpt = OSAS_digiLibTemplate(id, file, headers.get('content_type'))
! 172:
! 173: self._setObject(id, zpt)
! 174: ob = getattr(self, id)
! 175:
! 176:
! 177: try:
! 178: u = self.DestinationURL()
! 179: except AttributeError:
! 180: u = REQUEST['URL1']
! 181:
! 182: if submit == " Add and Edit ":
! 183: u = "%s/%s" % (u, quote(id))
! 184: REQUEST.RESPONSE.redirect(u+'/manage_main')
! 185: return ''
! 186:
1.1 dwinter 187: class OSAS_topTemplate(ZopePageTemplate):
188: """pageTemplate Objekt"""
189: meta_type="OSAS_topTemplate"
190:
191: _default_content_fn = os.path.join(package_home(globals()),
192: 'zpt/OSAS_topTemplateDefault.zpt')
193: manage_options=ZopePageTemplate.manage_options+(
194: {'label':'Copy to Filesystem','action':'copyContent'},
195: )
196:
197: def getPath(self):
198: """get path"""
199: return getPath(self,'toptemplate.templ')
200:
201: ## def changeECHO_pageTemplateWeightForm(self):
202: ## """change"""
203: ## pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
204: ## return pt()
205:
206: ## def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):
207: ## """change"""
208: ## self.weight=weight
209: ## self.content_type=content_type
210:
211: ## if RESPONSE is not None:
212: ## RESPONSE.redirect('manage_main')
213:
214: def copyContent(self):
215: """copycontent to path"""
216: return "copied to:"+copyContent(self,'toptemplate.templ')
217:
218:
219: def manage_addOSAS_topTemplateForm(self):
220: """Form for adding"""
221: pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_topTemplate.zpt').__of__(self)
222: return pt()
223:
224:
225:
226:
227: def manage_addOSAS_topTemplate(self, id,title=None, text=None,
228: REQUEST=None, submit=None):
229: "Add a Page Template with optional file content."
230:
231:
232: id = str(id)
233: if REQUEST is None:
234: self._setObject(id, OSAS_topTemplate(id, text))
235: ob = getattr(self, id)
236:
237: if title:
238: ob.pt_setTitle(title)
239: return ob
240: else:
241: file = REQUEST.form.get('file')
242: headers = getattr(file, 'headers', None)
243: if headers is None or not file.filename:
244: zpt = OSAS_topTemplate(id)
245: else:
246: zpt = OSAS_topTemplate(id, file, headers.get('content_type'))
247:
248: self._setObject(id, zpt)
249: ob = getattr(self, id)
250:
251:
252: try:
253: u = self.DestinationURL()
254: except AttributeError:
255: u = REQUEST['URL1']
256:
257: if submit == " Add and Edit ":
258: u = "%s/%s" % (u, quote(id))
259: REQUEST.RESPONSE.redirect(u+'/manage_main')
260: return ''
261:
262:
263: class OSAS_project(Folder):
264: """Main project"""
265:
266: meta_type="OSAS_project"
267:
268: def __init__(self,id, title, startpage, xsl, templatePath):
269: """init"""
270: self.id=id
271: self.title=title
272: self.startpage=startpage
273: self.xsl=xsl
274: self.templatePath=templatePath
1.3 ! dwinter 275: self._setObject('digiLibTemplate',OSAS_digiLibTemplate(id='digiLibTemplate'))
1.1 dwinter 276: self._setObject('thumbTemplate',OSAS_thumbTemplate(id='thumbTemplate'))
277: self._setObject('topTemplate',OSAS_topTemplate(id='topTemplate'))
278:
279:
280: manage_options = Folder.manage_options+(
281: {'label':'Main Config','action':'configOSAS_projectForm'},
282: {'label':'Copy all Files','action':'copyAllFiles'},
283: )
284:
285: def copyAllFiles(self):
1.3 ! dwinter 286: """copy all"""
! 287: fis=self.ZopeFind(self)
! 288: ret=""
! 289: for fi in fis:
! 290: if hasattr(fi[1],'copyContent'):
! 291: ret=ret+fi[1].copyContent()+"</br>"
! 292: return ret
! 293:
! 294: def getField(self,name):
! 295: """get Field"""
! 296: try:
! 297: return(getattr(self,name))
! 298: except:
! 299: return ""
1.1 dwinter 300: def configOSAS_projectForm(self):
301: """config"""
302: pt=PageTemplateFile('Products/OSA_system/zpt/changeOSAS_project.zpt').__of__(self)
303: return pt()
304:
305: def configOSAS_project(self,title, startpage, xsl, templatePath,RESPONSE=None):
306: """config"""
307: self.title=title
308: self.startpage=startpage
309: self.xsl=xsl
310: self.templatePath=templatePath
1.3 ! dwinter 311:
! 312:
! 313:
1.1 dwinter 314: if RESPONSE is not None:
315: RESPONSE.redirect('manage_main')
316:
317:
318:
319:
320:
321: def manage_addOSAS_projectForm(self):
322: """interface for adding the OSAS_root"""
323: pt=PageTemplateFile('Products/OSA_system/zpt/addOSAS_project.zpt').__of__(self)
324: return pt()
325:
326: def manage_addOSAS_project(self,id,title, startpage, xsl,templatePath,RESPONSE=None):
327: """add the OSAS_root"""
328: newObj=OSAS_project(id,title, startpage, xsl,templatePath)
329: self._setObject(id,newObj)
330: if RESPONSE is not None:
331: RESPONSE.redirect('manage_main')
332:
333:
334:
335:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>