Annotation of MPIWGWeb/MPIWGTemplate.py, revision 1.1.2.2

1.1.2.1   dwinter     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
1.1.2.2 ! dwinter     5: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
1.1.2.1   dwinter     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>