view MPIWGLink.py @ 284:1a103b073c72 default tip

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

from Products.PageTemplates.PageTemplateFile import PageTemplateFile
from OFS.SimpleItem import SimpleItem

import MPIWGHelper

class MPIWGLink(SimpleItem):
    """create a symbolic link to another page"""

    meta_type="MPIWGLink"
    
    manage_options=(
        {'label':'main config','action':'changeLinkForm'},
        )+SimpleItem.manage_options

    changeLinkForm = PageTemplateFile('zpt/link/manage_change', globals())


    def __init__(self,id,link,title='',weight=''):
        """init mpiwglink"""
        self.id=id
        self.link=link
        self.title=title
        self.weight=weight


    def getObj(self):
        """bekomme original"""
        splitted=self.link.lstrip().split("/")
        obj=self
        for x in splitted:
            if not x=="":
                obj=getattr(obj,x)
            
        return obj


    def index_html(self,**argv):
        """index"""
        try:
            return self.getObj().pt_render(extra_context={'here':self})
        except:
            self.REQUEST.RESPONSE.redirect(self.getObj().absolute_url())
                                       

    def isActiveItem(self):
        """teste ob ausgewaehlt"""
        #url1 beim link anstelle von url1, da link jeweils index_html als url hat.
        if self.absolute_url()==self.REQUEST['URL1']:
            return "aktiv"
        else:
            return ""

    def getWeight(self):
        if self.linkWeight and self.linkWeight!="":
            return self.linkWeight
        else:
            return self.getObj().weight

    def changeLink(self,link,title,weight,RESPONSE=None):
        """change links"""
        self.link=link
        self.title=title
        self.weight=weight

        if RESPONSE is not None:
            RESPONSE.redirect('manage')



def manage_addMPIWGLinkForm(self):
    """Form for adding link"""
    pt=PageTemplateFile('zpt/link/manage_add_MPIWGLink.zpt', globals()).__of__(self)
    return pt()

def manage_addMPIWGLink(self,id,link,title,weight,RESPONSE=None):
    """add link"""
    newObj=MPIWGLink(id,link,title,weight)

    self._setObject(id,newObj)
    
    if RESPONSE is not None:
        RESPONSE.redirect('manage_main')