Annotation of OSAS/OSA_system/OSAS_project.py, revision 1.4
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.4 ! dwinter 109: class OSAS_thumbRuler(ZopePageTemplate):
! 110: """pageTemplate Objekt"""
! 111: meta_type="OSAS_thumbRuler"
! 112:
! 113: _default_content_fn = os.path.join(package_home(globals()),
! 114: 'zpt/OSAS_thumbRulerDefault.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,'thumbtemplate.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,'thumbruler.templ')
! 142:
! 143: def manage_addOSAS_thumbRulerForm(self):
! 144: """Form for adding"""
! 145: pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_thumbRuler.zpt').__of__(self)
! 146: return pt()
! 147:
! 148:
! 149:
! 150:
! 151: def manage_addOSAS_thumbRuler(self, id,title=None, text=None,
! 152: REQUEST=None, submit=None):
! 153: "Add a Page Template with optional file content."
! 154:
! 155:
! 156: id = str(id)
! 157: if REQUEST is None:
! 158: self._setObject(id, OSAS_thumbRuler(id, text))
! 159: ob = getattr(self, id)
! 160:
! 161: if title:
! 162: ob.pt_setTitle(title)
! 163: return ob
! 164: else:
! 165: file = REQUEST.form.get('file')
! 166: headers = getattr(file, 'headers', None)
! 167: if headers is None or not file.filename:
! 168: zpt = OSAS_thumbRuler(id)
! 169: else:
! 170: zpt = OSAS_thumbRuler(id, file, headers.get('content_type'))
! 171:
! 172: self._setObject(id, zpt)
! 173: ob = getattr(self, id)
! 174:
! 175:
! 176: try:
! 177: u = self.DestinationURL()
! 178: except AttributeError:
! 179: u = REQUEST['URL1']
! 180:
! 181: if submit == " Add and Edit ":
! 182: u = "%s/%s" % (u, quote(id))
! 183: REQUEST.RESPONSE.redirect(u+'/manage_main')
! 184: return ''
! 185:
1.3 dwinter 186: class OSAS_digiLibTemplate(ZopePageTemplate):
187: """pageTemplate Objekt"""
188: meta_type="OSAS_digiLibTemplate"
189:
190: _default_content_fn = os.path.join(package_home(globals()),
191: 'zpt/OSAS_digiLibTemplateDefault.zpt')
192:
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,'digilibtemplate.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:
215: def copyContent(self):
216: """copycontent to path"""
217:
218: return "copied to:"+copyContent(self,'digilibtemplate.templ')
219:
220:
221: def manage_addOSAS_digiLibTemplateForm(self):
222: """Form for adding"""
223: pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_digiLibTemplate.zpt').__of__(self)
224: return pt()
225:
226:
227:
228:
229: def manage_addOSAS_digiLibTemplate(self, id,title=None, text=None,
230: REQUEST=None, submit=None):
231: "Add a Page Template with optional file content."
232:
233:
234: id = str(id)
235: if REQUEST is None:
236: self._setObject(id, OSAS_digiLibTemplate(id, text))
237: ob = getattr(self, id)
238:
239: if title:
240: ob.pt_setTitle(title)
241: return ob
242: else:
243: file = REQUEST.form.get('file')
244: headers = getattr(file, 'headers', None)
245: if headers is None or not file.filename:
246: zpt = OSAS_digiLibTemplate(id)
247: else:
248: zpt = OSAS_digiLibTemplate(id, file, headers.get('content_type'))
249:
250: self._setObject(id, zpt)
251: ob = getattr(self, id)
252:
253:
254: try:
255: u = self.DestinationURL()
256: except AttributeError:
257: u = REQUEST['URL1']
258:
259: if submit == " Add and Edit ":
260: u = "%s/%s" % (u, quote(id))
261: REQUEST.RESPONSE.redirect(u+'/manage_main')
262: return ''
263:
1.1 dwinter 264: class OSAS_topTemplate(ZopePageTemplate):
265: """pageTemplate Objekt"""
266: meta_type="OSAS_topTemplate"
267:
268: _default_content_fn = os.path.join(package_home(globals()),
269: 'zpt/OSAS_topTemplateDefault.zpt')
270: manage_options=ZopePageTemplate.manage_options+(
271: {'label':'Copy to Filesystem','action':'copyContent'},
272: )
273:
274: def getPath(self):
275: """get path"""
276: return getPath(self,'toptemplate.templ')
277:
278: ## def changeECHO_pageTemplateWeightForm(self):
279: ## """change"""
280: ## pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
281: ## return pt()
282:
283: ## def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):
284: ## """change"""
285: ## self.weight=weight
286: ## self.content_type=content_type
287:
288: ## if RESPONSE is not None:
289: ## RESPONSE.redirect('manage_main')
290:
291: def copyContent(self):
292: """copycontent to path"""
293: return "copied to:"+copyContent(self,'toptemplate.templ')
294:
295:
296: def manage_addOSAS_topTemplateForm(self):
297: """Form for adding"""
298: pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_topTemplate.zpt').__of__(self)
299: return pt()
300:
301:
302:
303:
304: def manage_addOSAS_topTemplate(self, id,title=None, text=None,
305: REQUEST=None, submit=None):
306: "Add a Page Template with optional file content."
307:
308:
309: id = str(id)
310: if REQUEST is None:
311: self._setObject(id, OSAS_topTemplate(id, text))
312: ob = getattr(self, id)
313:
314: if title:
315: ob.pt_setTitle(title)
316: return ob
317: else:
318: file = REQUEST.form.get('file')
319: headers = getattr(file, 'headers', None)
320: if headers is None or not file.filename:
321: zpt = OSAS_topTemplate(id)
322: else:
323: zpt = OSAS_topTemplate(id, file, headers.get('content_type'))
324:
325: self._setObject(id, zpt)
326: ob = getattr(self, id)
327:
328:
329: try:
330: u = self.DestinationURL()
331: except AttributeError:
332: u = REQUEST['URL1']
333:
334: if submit == " Add and Edit ":
335: u = "%s/%s" % (u, quote(id))
336: REQUEST.RESPONSE.redirect(u+'/manage_main')
337: return ''
338:
339:
340: class OSAS_project(Folder):
341: """Main project"""
342:
343: meta_type="OSAS_project"
344:
345: def __init__(self,id, title, startpage, xsl, templatePath):
346: """init"""
347: self.id=id
348: self.title=title
349: self.startpage=startpage
350: self.xsl=xsl
351: self.templatePath=templatePath
1.3 dwinter 352: self._setObject('digiLibTemplate',OSAS_digiLibTemplate(id='digiLibTemplate'))
1.1 dwinter 353: self._setObject('thumbTemplate',OSAS_thumbTemplate(id='thumbTemplate'))
354: self._setObject('topTemplate',OSAS_topTemplate(id='topTemplate'))
1.4 ! dwinter 355: self._setObject('thumbruler',OSAS_rulerTemplate(id='topTemplate'))
1.1 dwinter 356:
357:
358: manage_options = Folder.manage_options+(
359: {'label':'Main Config','action':'configOSAS_projectForm'},
360: {'label':'Copy all Files','action':'copyAllFiles'},
361: )
362:
363: def copyAllFiles(self):
1.3 dwinter 364: """copy all"""
365: fis=self.ZopeFind(self)
366: ret=""
367: for fi in fis:
368: if hasattr(fi[1],'copyContent'):
369: ret=ret+fi[1].copyContent()+"</br>"
370: return ret
371:
372: def getField(self,name):
373: """get Field"""
374: try:
375: return(getattr(self,name))
376: except:
377: return ""
1.1 dwinter 378: def configOSAS_projectForm(self):
379: """config"""
380: pt=PageTemplateFile('Products/OSA_system/zpt/changeOSAS_project.zpt').__of__(self)
381: return pt()
382:
383: def configOSAS_project(self,title, startpage, xsl, templatePath,RESPONSE=None):
384: """config"""
385: self.title=title
386: self.startpage=startpage
387: self.xsl=xsl
388: self.templatePath=templatePath
1.3 dwinter 389:
390:
391:
1.1 dwinter 392: if RESPONSE is not None:
393: RESPONSE.redirect('manage_main')
394:
395:
396:
397:
398:
399: def manage_addOSAS_projectForm(self):
400: """interface for adding the OSAS_root"""
401: pt=PageTemplateFile('Products/OSA_system/zpt/addOSAS_project.zpt').__of__(self)
402: return pt()
403:
404: def manage_addOSAS_project(self,id,title, startpage, xsl,templatePath,RESPONSE=None):
405: """add the OSAS_root"""
406: newObj=OSAS_project(id,title, startpage, xsl,templatePath)
407: self._setObject(id,newObj)
408: if RESPONSE is not None:
409: RESPONSE.redirect('manage_main')
410:
411:
412:
413:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>