File:  [Repository] / MPIWGWeb / Attic / MPIWGLink.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.PageTemplateFile import PageTemplateFile
    2: from Products.PageTemplates.PageTemplate import PageTemplate
    3: from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
    4: from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder
    5: from Products.ZCatalog.CatalogPathAwareness import CatalogAware
    6: from OFS.Image import Image
    7: from Globals import package_home
    8: import urllib
    9: import MPIWGStaff
   10: import string
   11: import re
   12: import os
   13: from types import *
   14: import logging
   15: import xmlhelper # Methoden zur Verwaltung der projekt xml
   16: from OFS.SimpleItem import SimpleItem
   17: from OFS.Folder import Folder
   18: from Products.ZSQLMethods.SQL import SQLConnectionIDs
   19: from AccessControl import ClassSecurityInfo
   20: from bibliography import *
   21: import time
   22: import xml.dom.minidom
   23: import sys
   24: from Ft.Xml.XPath import Evaluate
   25: from Ft.Xml.XPath.Context import Context
   26: from Ft.Xml.Domlette import NonvalidatingReader,PrettyPrint, Print
   27: from Ft.Xml import EMPTY_NAMESPACE
   28: import copy
   29: import updatePersonalWWW
   30: import MPIWGStaff
   31: 
   32: from MPIWGHelper import *
   33: class MPIWGLink(SimpleItem):
   34:     """create a symbolic link to another page"""
   35: 
   36:     meta_type="MPIWGLink"
   37:     
   38:     def isActiveItem(self):
   39:         """teste ob ausgewaehlt"""
   40:         #url1 beim link anstelle von url1, da link jeweils index_html als url hat.
   41:         if self.absolute_url()==self.REQUEST['URL1']:
   42:             return "aktiv"
   43:         else:
   44:             return ""
   45: 
   46:     def __init__(self,id,link,title='',weight=''):
   47:         """init mpiwglink"""
   48:         self.id=id
   49:         self.link=link
   50:         self.title=title
   51:         self.weight=weight
   52: 
   53:     def getObj(self):
   54:         """bekomme original"""
   55:        ##  objpath=self.link.replace("/",".")
   56: ##         if objpath[0]!=".":
   57: ##             objpath="."+objpath
   58: 
   59: ##         print objpath
   60: ##         return eval("self"+objpath)
   61: 
   62: 
   63:         splitted=self.link.lstrip().split("/")
   64:         obj=self
   65:         for x in splitted:
   66:             if not x=="":
   67:               obj=getattr(obj,x)
   68:             
   69:         return obj
   70: 
   71:     def getWeight(self):
   72:         if self.linkWeight and self.linkWeight!="":
   73:             return self.linkWeight
   74:         else:
   75:             return self.getObj().weight
   76: 
   77:     manage_options=(
   78:         {'label':'main config','action':'changeLinkForm'},
   79:         )+SimpleItem.manage_options
   80: 
   81: 
   82:     def changeLinkForm(self):
   83:         """change MPIWG link"""
   84:         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGLinkChange.zpt')).__of__(self)
   85:         return pt()
   86: 
   87:     def changeLink(self,link,title,weight,RESPONSE=None):
   88:         """change links"""
   89:         self.link=link
   90:         self.title=title
   91:         self.weight=weight
   92: 
   93:         if RESPONSE is not None:
   94:             RESPONSE.redirect('manage')
   95: 
   96:     def index_html(self,**argv):
   97:         """index"""
   98: 
   99: 
  100: 
  101:         try:
  102:             return self.getObj().pt_render(extra_context={'here':self})
  103:         except:
  104:             self.REQUEST.RESPONSE.redirect(self.getObj().absolute_url())
  105:                                        
  106: 
  107: 
  108: def manage_addMPIWGLinkForm(self):
  109:     """Form for adding link"""
  110:     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGLink.zpt')).__of__(self)
  111:     return pt()
  112: 
  113: def manage_addMPIWGLink(self,id,link,title,weight,RESPONSE=None):
  114:     """add link"""
  115:     newObj=MPIWGLink(id,link,title,weight)
  116: 
  117:     self._setObject(id,newObj)
  118:     
  119:     if RESPONSE is not None:
  120:         RESPONSE.redirect('manage_main')
  121: 

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