from Products.PageTemplates.PageTemplateFile import PageTemplateFile
from Products.PageTemplates.PageTemplate import PageTemplate
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder
from Products.ZCatalog.CatalogPathAwareness import CatalogAware
from OFS.Image import Image
from Globals import package_home
import urllib
import MPIWGStaff
import string
import re
import os
from types import *
import logging
import xmlhelper # Methoden zur Verwaltung der projekt xml
from OFS.SimpleItem import SimpleItem
from OFS.Folder import Folder
from Products.ZSQLMethods.SQL import SQLConnectionIDs
from AccessControl import ClassSecurityInfo
from bibliography import *
import time
import xml.dom.minidom
import sys
from Ft.Xml.XPath import Evaluate
from Ft.Xml.XPath.Context import Context
from Ft.Xml.Domlette import NonvalidatingReader,PrettyPrint, Print
from Ft.Xml import EMPTY_NAMESPACE
import copy
import updatePersonalWWW
import MPIWGStaff
from MPIWGHelper import *
class MPIWGLink(SimpleItem):
"""create a symbolic link to another page"""
meta_type="MPIWGLink"
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 __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"""
## objpath=self.link.replace("/",".")
## if objpath[0]!=".":
## objpath="."+objpath
## print objpath
## return eval("self"+objpath)
splitted=self.link.lstrip().split("/")
obj=self
for x in splitted:
if not x=="":
obj=getattr(obj,x)
return obj
def getWeight(self):
if self.linkWeight and self.linkWeight!="":
return self.linkWeight
else:
return self.getObj().weight
manage_options=(
{'label':'main config','action':'changeLinkForm'},
)+SimpleItem.manage_options
def changeLinkForm(self):
"""change MPIWG link"""
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGLinkChange.zpt')).__of__(self)
return pt()
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 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 manage_addMPIWGLinkForm(self):
"""Form for adding link"""
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGLink.zpt')).__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')
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>