version 1.74, 2006/03/02 19:59:03
|
version 1.84.2.3, 2012/08/29 07:53:31
|
Line 1
|
Line 1
|
# Objekte zur Erzeugung von Navigationselement |
# Objekte zur Erzeugung von Navigationselement |
|
# 29-8-2012 Referenzen zum Storagemanager entfernt |
|
|
from AccessControl import ClassSecurityInfo |
from AccessControl import ClassSecurityInfo |
from Globals import DTMLFile |
from Globals import DTMLFile |
from OFS.Image import Image,cookId |
from OFS.Image import Image,cookId |
Line 29 from Products.PageTemplates.ZopePageTemp
|
Line 31 from Products.PageTemplates.ZopePageTemp
|
import os.path |
import os.path |
|
|
import urllib |
import urllib |
from ECHO_helpers import displayTypes,checkOnlyOneInGroup |
import ECHO_helpers |
|
from ECHO_helpers import displayTypes,checkOnlyOneInGroup,unicodify |
from ECHO_collection import content_html |
from ECHO_collection import content_html |
import zLOG |
import logging |
|
|
|
#def ersetzt logging |
|
def logger(txt,method,txt2): |
|
"""logging""" |
|
logging.info(txt+ txt2) |
|
|
|
|
try: |
try: |
from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder |
from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder |
except: |
except: |
zLOG.LOG('ECHO_Nav',zLOG.INFO,'ZSQLSimpleSearch not supported') |
logger('ECHO_Nav',logging.INFO,'ZSQLSimpleSearch not supported') |
|
|
|
|
|
|
Line 273 class ECHO_sqlElement(SimpleItem):
|
Line 282 class ECHO_sqlElement(SimpleItem):
|
try: |
try: |
searchQuery=ZSQLExtendFolder.ZSQLSimpleSearch |
searchQuery=ZSQLExtendFolder.ZSQLSimpleSearch |
except: |
except: |
zLOG.LOG('ECHO_Nav',zLOG.INFO,'ZSQLSimpleSearch not supported') |
logger('ECHO_Nav',logging.INFO,'ZSQLSimpleSearch not supported') |
|
|
def getNavList(self): |
def getNavList(self): |
"""ausgabe der treffer list fuer navigation""" |
"""ausgabe der treffer list fuer navigation""" |
Line 286 class ECHO_sqlElement(SimpleItem):
|
Line 295 class ECHO_sqlElement(SimpleItem):
|
except: |
except: |
records=self.searchQuery(self.aq_parent,query=self.query) #python 2.4 version (??) |
records=self.searchQuery(self.aq_parent,query=self.query) #python 2.4 version (??) |
except: |
except: |
records=self.searchQuery()#python 2.3 version(??) |
records=self.searchQuery(query=self.query)#python 2.3 version(??) |
|
|
|
|
if not records: |
if not records: |
Line 297 class ECHO_sqlElement(SimpleItem):
|
Line 306 class ECHO_sqlElement(SimpleItem):
|
try: |
try: |
ret.append((getattr(record,self.field),self.baseUrl+urllib.quote(str(getattr(record,self.getSearchField()))))) |
ret.append((getattr(record,self.field),self.baseUrl+urllib.quote(str(getattr(record,self.getSearchField()))))) |
except: |
except: |
|
logger('ECHO_Nav',logging.INFO,"error, search") |
"""notrhing""" |
"""notrhing""" |
|
|
return ret |
return ret |
Line 374 class ECHO_pageTemplate(ZopePageTemplate
|
Line 384 class ECHO_pageTemplate(ZopePageTemplate
|
else: |
else: |
return 0 |
return 0 |
|
|
|
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); |
|
|
|
|
|
|
Line 495 class ECHO_navigation(Folder):
|
Line 512 class ECHO_navigation(Folder):
|
|
|
def decode(self,str): |
def decode(self,str): |
"""decoder""" |
"""decoder""" |
if not str: |
return unicodify(str) |
return "" |
|
if type(str) is StringType: |
|
try: |
|
return str.decode('utf-8') |
|
except: |
|
return str.decode('latin-1') |
|
else: |
|
|
|
return str |
|
|
|
def ECHOFormatListStr(self,list,search="\n",replace="<br>"): |
def ECHOFormatListStr(self,list,search="\n",replace="<br>"): |
"""formatiert liste im str""" |
"""formatiert liste im str""" |
Line 558 class ECHO_navigation(Folder):
|
Line 566 class ECHO_navigation(Folder):
|
|
|
displayableMetaTypes=displayTypes |
displayableMetaTypes=displayTypes |
|
|
def getImageViewers(self): |
|
"""images""" |
|
viewers=self.ZopeFind(self.standardImageViewer,obj_metatypes=['OSAS_ViewerObject']) |
|
return viewers |
|
|
|
def getR(self): |
def getR(self): |
"""re""" |
"""re""" |
Line 581 class ECHO_navigation(Folder):
|
Line 585 class ECHO_navigation(Folder):
|
) |
) |
displayedMetaTypes=displayTypes |
displayedMetaTypes=displayTypes |
|
|
|
|
|
|
def ECHO_navigationConfigForm(self): |
def ECHO_navigationConfigForm(self): |
"""configForm""" |
"""configForm""" |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeECHO_navigation.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeECHO_navigation.zpt')).__of__(self) |
Line 629 class ECHO_navigation(Folder):
|
Line 635 class ECHO_navigation(Folder):
|
obj=objtemp |
obj=objtemp |
|
|
for keys in obj.ZopeFind(obj,obj_metatypes=self.displayedMetaTypes): |
for keys in obj.ZopeFind(obj,obj_metatypes=self.displayedMetaTypes): |
|
|
x=keys[1] |
x=keys[1] |
if depth>1: |
if depth>1: |
nav[x.getId()]=(self.getColls(x,int(depth)-1,checkOnly),x) |
nav[x.getId()]=(self.getColls(x,int(depth)-1,checkOnly),x) |
Line 706 class ECHO_navigation(Folder):
|
Line 713 class ECHO_navigation(Folder):
|
try: |
try: |
label=temp[x][1].getTitle() |
label=temp[x][1].getTitle() |
except: |
except: |
zLOG.LOG("ECHO_Nav",zLOG.ERROR,"%s has neither getLabel nor getTile implemented"%temp[x][1].getId()) |
logger("ECHO_Nav",logging.ERROR,"%s has neither getLabel nor getTile implemented"%temp[x][1].getId()) |
label="" |
label="" |
else: |
else: |
label=temp[x][1].getTitle() |
label=temp[x][1].getTitle() |
Line 755 class ECHO_navigation(Folder):
|
Line 762 class ECHO_navigation(Folder):
|
|
|
if len(item)<2: |
if len(item)<2: |
return 0 |
return 0 |
#falls exakte Übereinstimmung dann immer 1 |
#falls exakte Uebereinstimmung dann immer 1 |
if (testStr==item[1]) and (self.REQUEST.get('QUERY_STRING','')==''): |
if (testStr==item[1]) and (self.REQUEST.get('QUERY_STRING','')==''): |
|
|
return 1 |
return 1 |
Line 799 class ECHO_navigation(Folder):
|
Line 806 class ECHO_navigation(Folder):
|
return style |
return style |
|
|
|
|
|
def getCrumb(self): |
|
"""returns breadcrumb for this object""" |
|
# ignore this object if title is empty |
|
if not self.title: |
|
return None |
|
|
|
# we use title for the label TODO: add label to ECHO_root |
|
crumb = {'obj': self, |
|
'url': self.absolute_url(), |
|
'label': self.title} |
|
return crumb |
|
|
|
def getHierCrumbs(self): |
|
"""returns a list of hierarchical breadcrumbs from self to the ECHO_root""" |
|
return ECHO_helpers.getHierCrumbs(self) |
|
|
|
|
def buttonsFromHash(self,hash,start=None,orientation="horizontal"): |
def buttonsFromHash(self,hash,start=None,orientation="horizontal"): |
|
|
"""Generate Buttons""" |
"""Generate Buttons""" |
Line 878 class ECHO_navigation(Folder):
|
Line 902 class ECHO_navigation(Folder):
|
nr=0 |
nr=0 |
return nr+1 |
return nr+1 |
|
|
|
def subNavStatic(self,obj): |
|
"""subnav" von self""" |
|
def sortWeight(x,y): |
|
x1=int(getattr(x[1],'weight','0')) |
|
y1=int(getattr(y[1],'weight','0')) |
|
return cmp(x1,y1) |
|
print "obj",obj |
|
subs=self.ZopeFind(obj,obj_metatypes=self.displayedMetaTypes) |
|
subret=[] |
|
|
|
for x in subs: |
|
if not(x[1].title==""): |
|
subret.append(x) |
|
subret.sort(sortWeight) |
|
return subret |
|
|
def secondNavElements(self): |
def secondNavElements(self): |
"""Zweite Ordnung Navigationselemente""" |
"""Zweite Ordnung Navigationselemente""" |
|
|
Line 979 def createPath(self,url1,url2):
|
Line 1019 def createPath(self,url1,url2):
|
|
|
if self.REQUEST.has_key('VirtualRootPhysicalPath'): |
if self.REQUEST.has_key('VirtualRootPhysicalPath'): |
vp="/".join(self.REQUEST['VirtualRootPhysicalPath']) |
vp="/".join(self.REQUEST['VirtualRootPhysicalPath']) |
|
if (len(vp)>0): |
if vp[0]=="/": |
if vp[0]=="/": |
vp=vp[1:] |
vp=vp[1:] |
|
|