Mercurial > hg > MPIWGWeb
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) |