--- ECHO_content/ECHO_helpers.py 2005/02/08 22:04:34 1.43
+++ ECHO_content/ECHO_helpers.py 2005/06/08 07:07:27 1.48
@@ -12,7 +12,7 @@ import Globals
from AccessControl import ClassSecurityInfo
import os.path
-displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ECHO_externalLink','ImageCollectionIFrame','VLP_resource','VLP_essay','ECHO_ZCatalogElement','ImageCollection','versionedFileFolder']
+displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ECHO_externalLink','ImageCollectionIFrame','VLP_resource','VLP_essay','ECHO_ZCatalogElement','ImageCollection','versionedFileFolder','ECHO_movie']
def content_html(self,type):
"""template fuer content"""
@@ -52,7 +52,18 @@ class ECHO_basis:
return ret
+ def RDF(self):
+ """showrdf"""
+ self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
+ ret="""\n\n"""
+
+ ret+=self.getRDF(urn=self.absolute_url())+"\n"
+
+ ret+=""""""
+ return ret
+
+
def createSubElementRDF(self,urn=None):
"""rdf list"""
if not urn:
@@ -113,7 +124,15 @@ class ECHO_basis:
def getLabel(self):
"""title"""
-
+ if not hasattr(self,'label'):
+ self.label=""
+
+ if self.label=="":
+ ret=self.getTitle()
+ if ret=="":
+ ret=self.getId()
+ return ret
+
return self.decode(self.label)
try:
return self.label.encode('utf-8','ignore')
@@ -246,7 +265,7 @@ class ECHO_basis:
"""generate img-tag for map of parent"""
return self.aq_parent.createMapImg()
- def createMapLink(self, ob, text=None):
+ def createMapLink(self, ob, text=None, target="_blank"):
"""generate map link"""
bt = BrowserCheck(self)
id = ob.getFullId()
@@ -259,17 +278,17 @@ class ECHO_basis:
tag = ""
if bt.isN4:
# N4 needs layer for highlighting
- tag += '" + text + ""
else:
# a-element
- tag = '" + text + ""
return tag
- def createMapAux(self, ob, arrowsrc="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?dw=15&fn=icons/pfeil"):
+ def createMapAux(self, ob, arrowsrc="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?dw=15&fn=icons/pfeil",target="_blank"):
"""generate map link image, text and other stuff"""
bt = BrowserCheck(self)
id = ob.getFullId()
@@ -291,7 +310,7 @@ class ECHO_basis:
tag += ''
else:
# create a-element
- tag = ''%(id,id,id,link)
+ tag = ''%(id,id,id,link,target)
if ob.isTypeArrow():
rot = ob.angle
if bt.isIEWin and bt.versIE > 5:
@@ -395,7 +414,7 @@ def checkOnlyOneInGroup(object):
return displayedObjects[0][1]
else: return object
-def getSubCols(self, sortfield=None, subColTypes=displayTypes, sortFieldMD=None):
+def getSubCols(self, sortfield=None, subColTypes=displayTypes, sortFieldMD=None,searchMD=None):
def sort(x,y):
@@ -415,12 +434,24 @@ def getSubCols(self, sortfield=None, sub
sortWithMD = lambda sortfield : (lambda x,y : sortfnc(sortfield,x,y))
ids=[]
displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes)
-
+
for entry in displayedObjects:
-
- object=entry[1]
- ids.append(object)
+
+
+ object=entry[1]
+ if searchMD and hasattr(object,'getMDValue'):
+ flag=0
+ for field in searchMD.keys():
+ if object.getMDValue(field)==searchMD[field]:
+ flag=1
+ else:
+ flag=0
+ break
+ if flag==1:
+ ids.append(object)
+ else:
+ ids.append(object)
if not sortfield:
sortfield=getattr(self,'sortfield','weight')
@@ -617,6 +648,7 @@ def findObjectPath(startobject, filename
paths = filename.split('/')
object = startobject
for path in paths:
+
if hasattr(object, path):
object = getattr(object, path)
else: