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: os.chmod(self.templatePath+"/"+self.aq_parent.getId(),0755)
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:
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:
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:
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
352: self._setObject('digiLibTemplate',OSAS_digiLibTemplate(id='digiLibTemplate'))
353: self._setObject('thumbTemplate',OSAS_thumbTemplate(id='thumbTemplate'))
354: self._setObject('topTemplate',OSAS_topTemplate(id='topTemplate'))
355: self._setObject('thumbruler',OSAS_rulerTemplate(id='topTemplate'))
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):
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 ""
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
389:
390:
391:
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>