1: from Products.PageTemplates.PageTemplate import PageTemplate
2: from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
3: from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder
4: from Products.ZCatalog.CatalogPathAwareness import CatalogAware
5: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
6: from OFS.Image import Image
7: from Globals import package_home
8: import urllib
9: import MPIWGStaff
10: import string
11: import re
12: import os
13: from types import *
14: import logging
15: import xmlhelper # Methoden zur Verwaltung der projekt xml
16: from OFS.SimpleItem import SimpleItem
17: from OFS.Folder import Folder
18: from Products.ZSQLMethods.SQL import SQLConnectionIDs
19: from AccessControl import ClassSecurityInfo
20: from bibliography import *
21: import time
22: import xml.dom.minidom
23: import sys
24: from Ft.Xml.XPath import Evaluate
25: from Ft.Xml.XPath.Context import Context
26: from Ft.Xml.Domlette import NonvalidatingReader,PrettyPrint, Print
27: from Ft.Xml import EMPTY_NAMESPACE
28: import copy
29: import updatePersonalWWW
30: import MPIWGStaff
31: from MPIWGHelper import *
32:
33: class MPIWGTemplate(ZopePageTemplate):
34: """Create a layout Template for different purposes"""
35:
36: meta_type="MPIWGTemplate"
37:
38: manage_options=ZopePageTemplate.manage_options+(
39: {'label':'Change Weight','action':'changeWeightForm'},
40: )
41:
42: def changeWeightForm(self):
43: """change weight form"""
44: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGTemplateChangeWeight.zpt')).__of__(self)
45: return pt()
46:
47: def changeWeight(self,weight,RESPONSE=None):
48: """change weight"""
49: self.weight=weight
50: if RESPONSE is not None:
51: RESPONSE.redirect('manage')
52:
53:
54: def __init__(self, id, text=None, content_type=None,MPIWGType=None):
55: self.id = str(id)
56:
57:
58:
59: self.ZBindings_edit(self._default_bindings)
60: if text is None:
61: self._default_content_fn = os.path.join(package_home(globals()),
62: 'zpt/MPIWG_%s_template_standard.zpt'%MPIWGType)
63: text = open(self._default_content_fn).read()
64: self.pt_edit(text, content_type)
65:
66:
67: """change form"""
68:
69: def isActiveItem(self):
70: """teste ob ausgewaehlt"""
71: if self.absolute_url()==self.REQUEST['URL']:
72: return "aktiv"
73: else:
74: return ""
75:
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: from urllib import quote
82:
83:
84: def manage_addMPIWGTemplate(self, MPIWGType,id, text="",title=None,weight=0,REQUEST=None):
85: "Add a Page Template with optional file content."
86: if type(MPIWGType)==StringType:
87: MPIWGTypes=[MPIWGType]
88: else:
89: MPIWGTypes=MPIWGType
90:
91: for singleType in MPIWGTypes:
92:
93:
94: if REQUEST is None:
95: self._setObject(id, MPIWGTemplate(id, text,EchoType=singleType))
96: ob = getattr(self, id)
97:
98: if title:
99: ob.pt_setTitle(title)
100: return ob
101: else:
102: file = REQUEST.form.get('file')
103: headers = getattr(file, 'headers', None)
104: if headers is None or not file.filename:
105: zpt = MPIWGTemplate(id,MPIWGType=singleType)
106: else:
107: zpt = MPIWGTemplate(id, file, headers.get('content_type'))
108:
109: self._setObject(id, zpt)
110: ob = getattr(self, id)
111: if title:
112: ob.pt_setTitle(title)
113:
114: try:
115: u = self.DestinationURL()
116: except AttributeError:
117: u = REQUEST['URL1']
118:
119: ob = getattr(self, id)
120: ob.weight=weight
121:
122: REQUEST.RESPONSE.redirect(u+'/manage_main')
123: return ''
124:
125:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>