Annotation of MPIWGWeb/MPIWGTemplate.py, revision 1.1.2.9
1.1.2.1 dwinter 1: from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
1.1.2.2 dwinter 2: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
1.1.2.1 dwinter 3: from Globals import package_home
4: import string
5: import re
6: import os
7: import logging
8: from OFS.Folder import Folder
9: from AccessControl import ClassSecurityInfo
10: from MPIWGHelper import *
11:
1.1.2.9 ! casties 12: # dummy definitions for backwards compatibility
! 13: import MPIWGFeature
! 14:
! 15: class MPIWGFeature(MPIWGFeature.MPIWGFeature):
! 16: """deprecated! use class in MPIWGFeature.py"""
! 17:
! 18: import MPIWGFolder
! 19:
! 20: class MPIWGFolder(MPIWGFolder.MPIWGFolder):
! 21: """deprecated! use class in MPIWGFolder.py"""
! 22:
1.1.2.3 casties 23:
24:
1.1.2.1 dwinter 25: class MPIWGTemplate(ZopePageTemplate):
26: """Create a layout Template for different purposes"""
27:
28: meta_type="MPIWGTemplate"
29:
30: manage_options=ZopePageTemplate.manage_options+(
31: {'label':'Change Weight','action':'changeWeightForm'},
32: )
33:
34: def changeWeightForm(self):
35: """change weight form"""
36: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGTemplateChangeWeight.zpt')).__of__(self)
37: return pt()
38:
39: def changeWeight(self,weight,RESPONSE=None):
40: """change weight"""
41: self.weight=weight
42: if RESPONSE is not None:
43: RESPONSE.redirect('manage')
44:
45:
1.1.2.3 casties 46: def __init__(self, id, text=None, content_type="text/html",MPIWGType=None):
1.1.2.1 dwinter 47: self.id = str(id)
48: self.ZBindings_edit(self._default_bindings)
49: if text is None:
50: self._default_content_fn = os.path.join(package_home(globals()),
51: 'zpt/MPIWG_%s_template_standard.zpt'%MPIWGType)
52: text = open(self._default_content_fn).read()
53: self.pt_edit(text, content_type)
54:
55:
56: def isActiveItem(self):
57: """teste ob ausgewaehlt"""
58: if self.absolute_url()==self.REQUEST['URL']:
59: return "aktiv"
60: else:
61: return ""
1.1.2.3 casties 62:
63: getBreadcrumbs = getBreadcrumbs
64: getSection = getSection
1.1.2.7 casties 65: getSubSection = getSubSection
66:
1.1.2.4 dwinter 67: def harvest_page(self):
68: """harvest main"""
69: try:
70: return self.pt_render()
71: except:
72: logging.error("cannot harvest: %s"%self.absolute_url())
1.1.2.1 dwinter 73:
1.1.2.4 dwinter 74:
75:
1.1.2.1 dwinter 76: def manage_addMPIWGTemplateForm(self):
77: """Form for adding"""
78: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGTemplate.zpt')).__of__(self)
79: return pt()
80:
81:
82:
83: def manage_addMPIWGTemplate(self, MPIWGType,id, text="",title=None,weight=0,REQUEST=None):
84: "Add a Page Template with optional file content."
85: if type(MPIWGType)==StringType:
86: MPIWGTypes=[MPIWGType]
87: else:
88: MPIWGTypes=MPIWGType
89:
90: for singleType in MPIWGTypes:
91:
92:
93: if REQUEST is None:
94: self._setObject(id, MPIWGTemplate(id, text,EchoType=singleType))
95: ob = getattr(self, id)
96:
97: if title:
98: ob.pt_setTitle(title)
99: return ob
100: else:
101: file = REQUEST.form.get('file')
102: headers = getattr(file, 'headers', None)
103: if headers is None or not file.filename:
104: zpt = MPIWGTemplate(id,MPIWGType=singleType)
105: else:
106: zpt = MPIWGTemplate(id, file, headers.get('content_type'))
107:
108: self._setObject(id, zpt)
109: ob = getattr(self, id)
110: if title:
111: ob.pt_setTitle(title)
112:
113: try:
114: u = self.DestinationURL()
115: except AttributeError:
116: u = REQUEST['URL1']
117:
118: ob = getattr(self, id)
119: ob.weight=weight
120:
121: REQUEST.RESPONSE.redirect(u+'/manage_main')
122: return ''
123:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>