Annotation of MPIWGWeb/MPIWGTemplate.py, revision 1.1.2.1

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
        !             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>