--- MPIWGWeb/MPIWGProjects.py 2005/06/20 17:11:46 1.47.2.14 +++ MPIWGWeb/MPIWGProjects.py 2005/06/22 08:58:36 1.47.2.16 @@ -66,6 +66,13 @@ class MPIWGLink(SimpleItem): meta_type="MPIWGLink" + def isActiveItem(self): + """teste ob ausgewaehlt""" + if self.absolute_url()==self.REQUEST['URL']: + return "aktiv" + else: + return "" + def __init__(self,id,link,title='',weight=''): """init mpiwglink""" self.id=id @@ -83,10 +90,11 @@ class MPIWGLink(SimpleItem): ## return eval("self"+objpath) - splitted=self.link.split("/") + splitted=self.link.lstrip().split("/") obj=self for x in splitted: - obj=getattr(obj,x) + if not x=="": + obj=getattr(obj,x) return obj @@ -172,7 +180,7 @@ class MPIWGTemplate(ZopePageTemplate): """change form""" - def isActive(self): + def isActiveItem(self): """teste ob ausgewaehlt""" if self.absolute_url()==self.REQUEST['URL']: return "aktiv" @@ -271,15 +279,26 @@ class MPIWGRoot(ZSQLExtendFolder): else: return False - def subNav(self,id): + def subNav(self,obj): + """return subnav elemente""" def sortWeight(x,y): x1=int(getattr(x[1],'weight','0')) y1=int(getattr(y[1],'weight','0')) return cmp(x1,y1) - if hasattr(self,id): - subs=self.ZopeFind(getattr(self,id),obj_metatypes=['MPIWGTemplate']) + #if obj.meta_type in ['MPIWGTemplate','MPIWGLink']: + # id=obj.aq_parent.getId() + #else: + + #id=obj.getId() + while not self.ZopeFind(self,obj_ids=[obj.getId()]): + obj=obj.aq_parent + + if hasattr(self,obj.getId()): + + subs=self.ZopeFind(getattr(self,obj.getId()),obj_metatypes=['MPIWGTemplate','MPIWGLink']) subret=[] + for x in subs: if not(x[1].title==""): subret.append(x) @@ -287,6 +306,7 @@ class MPIWGRoot(ZSQLExtendFolder): return subret else: return None + def isActive(self,name): """teste ob subnavigation aktiv""" for part in self.REQUEST['URL'].split("/"): @@ -940,7 +960,7 @@ class MPIWGRoot(ZSQLExtendFolder): ret=[] splitNeu=[] if email: - print "IIII:",self.getId() + members=self.ZopeFind(self.members,obj_metatypes=['MPIWGStaff'],obj_ids=[email],search_sub=1) name = members[0][1].title.decode('utf-8')