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