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 OFS.Image import Image
6: from Globals import package_home
7: import urllib
8: import MPIWGStaff
9: import string
10: import re
11: import os
12: from types import *
13: import logging
14: import xmlhelper # Methoden zur Verwaltung der projekt xml
15: from OFS.SimpleItem import SimpleItem
16: from OFS.Folder import Folder
17: from Products.ZSQLMethods.SQL import SQLConnectionIDs
18: from AccessControl import ClassSecurityInfo
19: from bibliography import *
20: import time
21: import xml.dom.minidom
22: import sys
23: from Ft.Xml.XPath import Evaluate
24: from Ft.Xml.XPath.Context import Context
25: from Ft.Xml.Domlette import NonvalidatingReader,PrettyPrint, Print
26: from Ft.Xml import EMPTY_NAMESPACE
27: import copy
28: import updatePersonalWWW
29: import MPIWGStaff
30: from MPIWGHelper import *
31:
32: class MPIWGTemplate(ZopePageTemplate):
33: """Create a layout Template for different purposes"""
34:
35: meta_type="MPIWGTemplate"
36:
37: manage_options=ZopePageTemplate.manage_options+(
38: {'label':'Change Weight','action':'changeWeightForm'},
39: )
40:
41: def changeWeightForm(self):
42: """change weight form"""
43: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGTemplateChangeWeight.zpt')).__of__(self)
44: return pt()
45:
46: def changeWeight(self,weight,RESPONSE=None):
47: """change weight"""
48: self.weight=weight
49: if RESPONSE is not None:
50: RESPONSE.redirect('manage')
51:
52:
53: def __init__(self, id, text=None, content_type=None,MPIWGType=None):
54: self.id = str(id)
55:
56:
57:
58: self.ZBindings_edit(self._default_bindings)
59: if text is None:
60: self._default_content_fn = os.path.join(package_home(globals()),
61: 'zpt/MPIWG_%s_template_standard.zpt'%MPIWGType)
62: text = open(self._default_content_fn).read()
63: self.pt_edit(text, content_type)
64:
65:
66: """change form"""
67:
68: def isActiveItem(self):
69: """teste ob ausgewaehlt"""
70: if self.absolute_url()==self.REQUEST['URL']:
71: return "aktiv"
72: else:
73: return ""
74:
75: def manage_addMPIWGTemplateForm(self):
76: """Form for adding"""
77: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGTemplate.zpt')).__of__(self)
78: return pt()
79:
80: from urllib import quote
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:
124:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>