File:  [Repository] / MPIWGWeb / Attic / MPIWGTemplate.py
Revision 1.1.2.1: download - view: text, annotated - select for diffs - revision graph
Tue Jun 24 11:16:26 2008 UTC (16 years ago) by dwinter
Branches: r2
MPIWGProducts in einzelne Teile zerlegt, so dass alle Hauptklassen nun in einzelnen Files sind.

    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>