Diff for /MPIWGWeb/Attic/MPIWGTemplate.py between versions 1.1 and 1.1.2.3

version 1.1, 2008/06/24 11:16:26 version 1.1.2.3, 2008/08/28 18:20:09
Line 0 Line 1
   from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
   from Products.PageTemplates.PageTemplateFile import PageTemplateFile
   from Globals import package_home
   import string
   import re
   import os
   import logging
   from OFS.Folder import Folder
   from AccessControl import ClassSecurityInfo
   from MPIWGHelper import *
   
   
   def getBreadcrumbs(self):
       """return list of breadcrumbs from here to the root"""
       crumbs = [(self.title, self.absolute_url(), self)]
       parent = self.aq_parent
       if hasattr(parent, 'getBreadcrumbs'):
           if self.title:
               return parent.getBreadcrumbs() + crumbs
           else:
               # if there's no title, skip this level
               return parent.getBreadcrumbs()
           
       return crumbs
   
   
   def getSection(self):
       """returns the current section name"""
       p = self
       sec = None
       # descend parents to the root (and remember the last id)
       while p is not None and p.meta_type != 'MPIWGRoot':
           sec = p.getId()
           p = p.aq_parent
       
       return sec
   
   
   class MPIWGTemplate(ZopePageTemplate):
       """Create a layout Template for different purposes"""
   
       meta_type="MPIWGTemplate"
   
       manage_options=ZopePageTemplate.manage_options+(
           {'label':'Change Weight','action':'changeWeightForm'},
           )
   
       def changeWeightForm(self):
           """change weight form"""
           pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGTemplateChangeWeight.zpt')).__of__(self)
           return pt()
   
       def changeWeight(self,weight,RESPONSE=None):
           """change weight"""
           self.weight=weight
           if RESPONSE is not None:
               RESPONSE.redirect('manage')
   
           
       def __init__(self, id, text=None, content_type="text/html",MPIWGType=None):
           self.id = str(id)
           self.ZBindings_edit(self._default_bindings)
           if text is None:
               self._default_content_fn = os.path.join(package_home(globals()),
                                                  'zpt/MPIWG_%s_template_standard.zpt'%MPIWGType)
               text = open(self._default_content_fn).read()
           self.pt_edit(text, content_type)
   
       
       def isActiveItem(self):
           """teste ob ausgewaehlt"""
           if self.absolute_url()==self.REQUEST['URL']:
               return "aktiv"
           else:
               return ""
       
       getBreadcrumbs = getBreadcrumbs
       
       getSection = getSection
   
           
   def manage_addMPIWGTemplateForm(self):
       """Form for adding"""
       pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGTemplate.zpt')).__of__(self)
       return pt()
   
   
   
   def manage_addMPIWGTemplate(self, MPIWGType,id, text="",title=None,weight=0,REQUEST=None):
       "Add a Page Template with optional file content."
       if type(MPIWGType)==StringType:
           MPIWGTypes=[MPIWGType]
       else:
           MPIWGTypes=MPIWGType
           
       for singleType in MPIWGTypes:
   
   
           if REQUEST is None:
               self._setObject(id, MPIWGTemplate(id, text,EchoType=singleType))
               ob = getattr(self, id)
               
               if title:
                   ob.pt_setTitle(title)
               return ob
           else:
               file = REQUEST.form.get('file')
               headers = getattr(file, 'headers', None)
               if headers is None or not file.filename:
                   zpt = MPIWGTemplate(id,MPIWGType=singleType)
               else:
                   zpt = MPIWGTemplate(id, file, headers.get('content_type'))
   
               self._setObject(id, zpt)
               ob = getattr(self, id)
               if title:
                   ob.pt_setTitle(title)
   
               try:
                   u = self.DestinationURL()
               except AttributeError:
                   u = REQUEST['URL1']
   
       ob = getattr(self, id)
       ob.weight=weight
       
       REQUEST.RESPONSE.redirect(u+'/manage_main')
       return ''
   
   
   
   class MPIWGFolder(Folder):
       """special Folder object for MPIWG website """
   
       meta_type="MPIWGFolder"
   
       manage_options=Folder.manage_options+(
           {'label':'Change Weight','action':'changeWeightForm'},
           {'label':'Main Config','action':'changeForm'},
           )
   
       changeWeightForm = PageTemplateFile('zpt/MPIWGFolderChangeWeight', globals())
       changeForm = PageTemplateFile('zpt/MPIWGFolderConfig', globals())
   
       def __init__(self, id, title=None, weight=0, canonicalName=None):
           self.id = str(id)
           self.weight = weight
           if title is None:
               self.title = id
           else:
               self.title = title
               
           if canonicalName is None:
               self.canonicalName = self.id
           else:
               self.canonicalName = canonicalName
   
       def changeWeight(self,weight,RESPONSE=None):
           """change weight"""
           self.weight=weight
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
   
       def changeMPIWGFolder(self, title=None, weight=None, canonicalName=None, RESPONSE=None):
           """change everything"""
           if title is not None:
               self.title = title
           if weight is not None:
               self.weight = weight
           if canonicalName is not None:
               self.canonicalName = canonicalName
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
          
       getBreadcrumbs = getBreadcrumbs
       
       getSection = getSection
       
   
   def manage_addMPIWGFolderForm(self):
       """Form for adding"""
       pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGFolder.zpt')).__of__(self)
       return pt()
   
   def manage_addMPIWGFolder(self, id, title=None,weight=0,RESPONSE=None):
       "Add a MPIWG Folder."
       newObj=MPIWGFolder(id,title,weight)
       self.Destination()._setObject(id,newObj)
       if RESPONSE is not None:
           RESPONSE.redirect('manage_main')
   
       
   

Removed from v.1.1  
changed lines
  Added in v.1.1.2.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>