--- ECHO_content/ECHO_collection.py 2004/04/18 19:40:13 1.48 +++ ECHO_content/ECHO_collection.py 2004/05/05 13:19:40 1.51 @@ -27,8 +27,14 @@ from Products.PageTemplates.ZopePageTemp from Globals import Persistent, package_home from Acquisition import Implicit -#from psycopg import libpq -#from pyPgSQL import libpq +try: + from psycopg import libpq +except: + try: + from pyPgSQL import libpq + except: + print "ECHO_collection: Warning - No libpq imported!" + import xml.dom.minidom import urllib @@ -320,6 +326,11 @@ class ECHO_resource(Folder): except: return [] + def getContentType(self): + try: + return self.contentType + except: + return "" def ECHO_resource_config(self): """Main configuration""" @@ -534,6 +545,28 @@ def manage_addECHO_externalLink(self,id, RESPONSE.redirect('manage_main') +class ECHO_link(ECHO_externalLink): + """external_link""" + + meta_type="ECHO_link" + + +def manage_addECHO_linkForm(self): + """Form for external Links""" + pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_linkForm.zpt').__of__(self) + return pt() + + +def manage_addECHO_link(self,id,title,label,description,contentType,responsible,link,weight,coords=None,credits=None,RESPONSE=None): + """Add an external Link""" + + newObj=ECHO_link(id,link,title,label,description,contentType,responsible,credits,weight,coords) + + self._setObject(id,newObj) + + if RESPONSE is not None: + RESPONSE.redirect('manage_main') + class ECHO_collection(Folder, Persistent, Implicit): """ECHO Collection""" @@ -656,21 +689,21 @@ class ECHO_collection(Folder, Persistent return ret security.declarePublic('ECHO_rerenderLinksMD') - def ECHO_rerenderLinksMD(self): + def ECHO_rerenderLinksMD(self,obj=None): """Rerender all Links""" - - for entry in self.__dict__.keys(): - object=getattr(self,entry) - + if not obj: + obj = self - try: + entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_resource','ECHO_collection']) + + for entry in entries: + if entry[1].meta_type == 'ECHO_resource': + entry[1].ECHO_getResourceMD(template="no") + print "rerender",entry[1].getId() + else: + self.ECHO_rerenderLinksMD(entry[1]) + - if object.meta_type == 'ECHO_resource': - - object.ECHO_getResourceMD(template="no") - - except: - """nothing""" return "Rerenderd all links to resources in: "+self.title @@ -974,6 +1007,13 @@ class ECHO_root(Folder,Persistent,Implic """ECHO Root Folder""" meta_type="ECHO_root" + + def getImageTag(self): + """needed by main_template""" + return "" + secondaryLink="" #needed by main_template + secondaryLinkTitle="" #needed by main_template + def getBgcolour(self): """hack""" return "#dddddd" @@ -1012,7 +1052,7 @@ class ECHO_root(Folder,Persistent,Implic entry[1].patchContentType(entry[1]) - return "Rerenderd all links to resources in: "+self.title + return "changed all contenttypes in: "+self.title def ECHO_newViewerLink(self,obj=None): """change links (:86 faellt weg)"""