--- ECHO_content/ECHO_collection.py 2012/01/16 18:57:50 1.310.2.3 +++ ECHO_content/ECHO_collection.py 2012/08/23 10:25:32 1.310.2.7 @@ -36,6 +36,8 @@ from Globals import Persistent, package_ from Acquisition import Implicit from Products.ZCatalog.CatalogPathAwareness import CatalogAware from Products.ZCTextIndex.ZCTextIndex import manage_addLexicon +import ECHO_helpers +from Acquisition import aq_parent try: from Products.MetaDataProvider.MetaDataClient import MetaDataClient except: @@ -79,7 +81,7 @@ except: pass from ECHO_movie import * -import vlp_xmlhelpers #TODO: vlp elemente aus echo herausnehmen +#import vlp_xmlhelpers #TODO: vlp elemente aus echo herausnehmen import xmlrpclib import logging @@ -693,6 +695,8 @@ class ECHO_collection(CatalogAware, Fold meta_type='ECHO_collection' default_catalog='resourceCatalog' + rootMetaTypes = ['ECHO_root', 'ECHO_main', 'ECHO_nav'] + # viewClassificationList=viewClassificationListMaster displayTypes=displayTypes @@ -705,12 +709,11 @@ class ECHO_collection(CatalogAware, Fold return crumbs[0][2].getId() p = self - sec = None # descend parents to the root (and remember the last id) - while p is not None and p.meta_type != 'ECHO_root' and p.meta_type!='ECHO_main' and p.meta_type!='ECHO_nav': + while p is not None and p.meta_type not in self.rootMetaTypes: sec = p.getId() - p = p.aq_parent + p = aq_parent(p.context) return sec @@ -724,12 +727,21 @@ class ECHO_collection(CatalogAware, Fold sec = None subsec = None # descend parents to the root (and remember the last id) - while p is not None and p.meta_type != 'ECHO_root' and p.meta_type!='ECHO_main' and p.meta_type!='ECHO_nav': + while p is not None and p.meta_type not in self.rootMetaTypes: subsec = sec sec = p.getId() - p = p.aq_parent + p = aq_parent(p.context) return subsec + + + def getCrumb(self): + """returns breadcrumb for this object""" + return ECHO_helpers.getCrumb(self) + + def getHierCrumbs(self): + """returns a list of hierarchical breadcrumbs from self to the ECHO_root""" + return ECHO_helpers.getHierCrumbs(self) def exportImportObjects_html(self,RESPONSE): @@ -1532,8 +1544,8 @@ class ECHO_collection(CatalogAware, Fold def area_img(self): """area image""" - bt = BrowserCheck(self) - if bt.isIE or bt.isN4: + bt = browserType(self) + if bt['isIE'] or bt['isN4']: return sendFile(self, 'images/red.gif', 'image/gif') else: return sendFile(self, 'images/reda.png', 'image/png') @@ -1906,9 +1918,11 @@ class ECHO_root(Folder,Persistent,Implic def getECHORoot(self): return self - - + def getBrowserType(self): + """returns browserType object""" + return browserType(self) + def mod_re_sub(self,pattern,replace,string): """re.sub aus mod re zur Verfuegung stellen""" return re.sub(pattern,replace,string) @@ -2463,12 +2477,12 @@ class ECHO_root(Folder,Persistent,Implic else: return u"" - link2html=vlp_xmlhelpers.link2html - related2html=vlp_xmlhelpers.related2html + #link2html=vlp_xmlhelpers.link2html + #related2html=vlp_xmlhelpers.related2html - xml2html=vlp_xmlhelpers.xml2html + #xml2html=vlp_xmlhelpers.xml2html - checkRef=vlp_xmlhelpers.checkRef + #checkRef=vlp_xmlhelpers.checkRef # def checkRef(self,ref): # if ref[0:3]=='lit':