--- ECHO_content/ECHO_helpers.py 2006/07/27 15:27:34 1.77
+++ ECHO_content/ECHO_helpers.py 2007/05/03 14:23:46 1.82
@@ -17,7 +17,13 @@ import ECHO_collection
import base64
import bz2
import xmlrpclib
-import zLOG
+
+import logging
+
+#erstzt logging
+def logger(txt,method,txt2):
+ """logging"""
+ logging.info(txt+ txt2)
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']
@@ -37,6 +43,7 @@ def content_html(self,type):
# return templates[0][1]()
if hasattr(self,type+"_template"):
+ logging.info("type: %s"%type)
obj=getattr(self,type+"_template")
return obj()
else:
@@ -52,6 +59,7 @@ class ECHO_basis:
security.declarePublic('getImageTag')
management_page_charset="utf-8"
+ isVisible = True
def manage_addECHO_locale(self,lang,title,label,text=None,content_type=None,RESPONSE=None):
return ECHO_collection.manage_addECHO_locale(self,lang,title,label)
@@ -137,7 +145,31 @@ class ECHO_basis:
"""template fuer content bei einbau und ECHO_Umgebung"""
return content_html(self,type)
-
+
+ def getIsVisible(self):
+ """return if object and all parents are visible"""
+
+ # if object is not visible return False
+ if hasattr(self,'isVisible'):
+ if not self.isVisible : return False
+
+ # else if parent of object is not ECHO_root, ECHO_basis or None
+ if not self.aq_parent.meta_type in ['ECHO_root','ECHO_basis',None] :
+ return self.aq_parent.getIsVisible()
+
+ # else return True
+ return True
+
+ def setIsVisible(self, isVisible):
+ """ set object attribute isVisible"""
+ self.isVisible = isVisible
+
+ def getAttributeIsVisible(self):
+ """ return object attribute isVisible"""
+ if hasattr(self,'isVisible'):
+ return self.isVisible
+ return True
+
def getTitle(self):
"""title"""
if hasattr(self,'getLanguage'):
@@ -324,10 +356,10 @@ class ECHO_basis:
js+="""addArea('%s', 'overview', %s, '%s', '%s');\n"""%(ob.getFullId(),ob.getCoordString(),ob.getType(),perm)
return js
- def createMapHead(self):
+ def createMapHead(self,mapColTypes=None):
"""create javascript include and script tags for head"""
pt=zptFile(self, 'zpt/ECHO_content_map_frag_js')
- return pt()
+ return pt(mapColTypes=mapColTypes)
def createMapImg(self):
"""generate img-tag for map"""
@@ -549,7 +581,14 @@ def checkOnlyOneInGroup(object):
else: return object
-def getSubCols(self, sortfield=None, subColTypes=displayTypes, sortFieldMD=None,searchMD=None,searchMD_modus='search',searchSimple=None,generic="yes",search_sub=0):
+def getSubCols(self, sortfield=None,
+ subColTypes=displayTypes,
+ sortFieldMD=None,
+ searchMD=None,
+ searchMD_modus='search',
+ searchSimple=None,
+ generic="yes",search_sub=0,
+ isVisible=True):
def sort(x,y):
return cmp(x[0],y[0])
@@ -571,7 +610,7 @@ def getSubCols(self, sortfield=None, sub
if searchSimple and (not (searchSimple==""))and hasattr(self,'resourceCatalog'):
searchString=" AND ".join(searchSimple.split())
- ids=[x.getObject() for x in self.resourceCatalog({'getMDValueSimpleSearchField':searchString})]
+ ids=[x.getObject() for x in self.resourceCatalog({'getMDValueSimpleSearchField':searchString,'getIsVisible':True})]
else:
for entry in displayedObjects:
object=entry[1]
@@ -890,13 +929,13 @@ def writeMetadata(url,metadict,project=N
except:
- zLOG.LOG("ECHO writeMetadata",zLOG.ERROR,"XCannot open: "+url)
+ logger("ECHO writeMetadata",logging.ERROR,"XCannot open: "+url)
return (None,"XCannot open: "+url)
try:
dom=xml.dom.minidom.parseString(geturl)
except:
- zLOG.LOG("ECHO writeMetadata",zLOG.ERROR,"Cannot parse: "+url+"
"+geturl)
+ logger("ECHO writeMetadata",logging.ERROR,"Cannot parse: "+url+"
"+geturl)
return (None,"Cannot parse: "+url+"
"+geturl)
@@ -1125,7 +1164,8 @@ class MapArea(SimpleItem):
parent = self.aq_parent
text = parent.getMapText()
if text is not None:
- return text.document_src()
+ #return text.document_src()
+ return text()
return ""
def getLabel(self):