File:  [Repository] / MPIWGWeb / Attic / MPIWGTemplate.py
Revision 1.1.2.2: download - view: text, annotated - select for diffs - revision graph
Wed Aug 20 12:59:09 2008 UTC (15 years, 10 months ago) by dwinter
Branches: r2
minor: Fixes Bug 16

    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>