comparison MPIWGLink.py @ 159:ee79f6ba8d01

clean up staff editing and some zpt forms.
author casties
date Thu, 06 Jun 2013 15:34:20 +0200
parents bca61e893fcc
children
comparison
equal deleted inserted replaced
158:86a5b3c4af4b 159:ee79f6ba8d01
1 from Products.PageTemplates.PageTemplateFile import PageTemplateFile 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 2 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 3
32 from MPIWGHelper import * 4 import MPIWGHelper
5
33 class MPIWGLink(SimpleItem): 6 class MPIWGLink(SimpleItem):
34 """create a symbolic link to another page""" 7 """create a symbolic link to another page"""
35 8
36 meta_type="MPIWGLink" 9 meta_type="MPIWGLink"
37 10
11 manage_options=(
12 {'label':'main config','action':'changeLinkForm'},
13 )+SimpleItem.manage_options
14
15 changeLinkForm = PageTemplateFile('zpt/link/manage_change', globals())
16
17
18 def __init__(self,id,link,title='',weight=''):
19 """init mpiwglink"""
20 self.id=id
21 self.link=link
22 self.title=title
23 self.weight=weight
24
25
26 def getObj(self):
27 """bekomme original"""
28 splitted=self.link.lstrip().split("/")
29 obj=self
30 for x in splitted:
31 if not x=="":
32 obj=getattr(obj,x)
33
34 return obj
35
36
37 def index_html(self,**argv):
38 """index"""
39 try:
40 return self.getObj().pt_render(extra_context={'here':self})
41 except:
42 self.REQUEST.RESPONSE.redirect(self.getObj().absolute_url())
43
44
38 def isActiveItem(self): 45 def isActiveItem(self):
39 """teste ob ausgewaehlt""" 46 """teste ob ausgewaehlt"""
40 #url1 beim link anstelle von url1, da link jeweils index_html als url hat. 47 #url1 beim link anstelle von url1, da link jeweils index_html als url hat.
41 if self.absolute_url()==self.REQUEST['URL1']: 48 if self.absolute_url()==self.REQUEST['URL1']:
42 return "aktiv" 49 return "aktiv"
43 else: 50 else:
44 return "" 51 return ""
45 52
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): 53 def getWeight(self):
72 if self.linkWeight and self.linkWeight!="": 54 if self.linkWeight and self.linkWeight!="":
73 return self.linkWeight 55 return self.linkWeight
74 else: 56 else:
75 return self.getObj().weight 57 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 58
87 def changeLink(self,link,title,weight,RESPONSE=None): 59 def changeLink(self,link,title,weight,RESPONSE=None):
88 """change links""" 60 """change links"""
89 self.link=link 61 self.link=link
90 self.title=title 62 self.title=title
91 self.weight=weight 63 self.weight=weight
92 64
93 if RESPONSE is not None: 65 if RESPONSE is not None:
94 RESPONSE.redirect('manage') 66 RESPONSE.redirect('manage')
95 67
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 68
107 69
108 def manage_addMPIWGLinkForm(self): 70 def manage_addMPIWGLinkForm(self):
109 """Form for adding link""" 71 """Form for adding link"""
110 pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGLink.zpt')).__of__(self) 72 pt=PageTemplateFile('zpt/link/manage_add_MPIWGLink.zpt', globals()).__of__(self)
111 return pt() 73 return pt()
112 74
113 def manage_addMPIWGLink(self,id,link,title,weight,RESPONSE=None): 75 def manage_addMPIWGLink(self,id,link,title,weight,RESPONSE=None):
114 """add link""" 76 """add link"""
115 newObj=MPIWGLink(id,link,title,weight) 77 newObj=MPIWGLink(id,link,title,weight)