view MPIWGTemplate.py @ 284:1a103b073c72 default tip

make favicon url host and schema relative.
author casties
date Thu, 25 Jun 2015 17:44:57 +0200
parents 1f0db83b61c5
children
line wrap: on
line source

from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
from Globals import package_home
import os
import logging
import MPIWGHelper

# dummy definitions for backwards compatibility
import MPIWGFeature

class MPIWGFeature(MPIWGFeature.MPIWGFeature):
    """deprecated! use class in MPIWGFeature.py"""

import MPIWGFolder

class MPIWGFolder(MPIWGFolder.MPIWGFolder):
    """deprecated! use class in MPIWGFolder.py"""



class MPIWGTemplate(ZopePageTemplate):
    """Create a layout Template for different purposes"""

    meta_type="MPIWGTemplate"

    manage_options=ZopePageTemplate.manage_options+(
        {'label':'Change Weight','action':'changeWeightForm'},
        )

    changeWeightForm = PageTemplateFile('zpt/template/manage_change_weight', globals())


    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/template/default_template_%s.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 = MPIWGHelper.getBreadcrumbs
    getSection = MPIWGHelper.getSection
    getSubSection = MPIWGHelper.getSubSection
    
                             
def manage_addMPIWGTemplateForm(self):
    """Form for adding"""
    pt=PageTemplateFile('zpt/template/manage_add_MPIWGTemplate', globals()).__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 isinstance(MPIWGType, str):
        MPIWGTypes=[MPIWGType]
    else:
        MPIWGTypes=MPIWGType
        
    for singleType in MPIWGTypes:

        if REQUEST is None:
            self._setObject(id, MPIWGTemplate(id, text=text, MPIWGType=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 ''