--- ECHO_content/ECHO_collection.py 2005/07/20 11:30:28 1.228 +++ ECHO_content/ECHO_collection.py 2005/07/29 11:17:08 1.231 @@ -1,3 +1,5 @@ + + """New version of the product started February, 8th. Without scientific classification, use content-type for further classification.""" """Echo collection provides the classes for the ECHO content web-site. @@ -1457,9 +1459,9 @@ class ECHO_link(ECHO_externalLink): def index_html(self): """standard link""" - - splitted=self.link.split("?") - if len(splitted)>1: + if self.link: + splitted=self.link.split("?") + if len(splitted)>1: params=cgi.parse_qs(splitted[1]) for x in params.keys(): @@ -1467,14 +1469,16 @@ class ECHO_link(ECHO_externalLink): params[x]=params[x][0] - else: + else: params={} - params['backLink']=self.aq_parent.absolute_url() - - self.REQUEST.SESSION['_ECHOLink']=splitted[0]+"?"+urllib.urlencode(params) + params['backLink']=self.aq_parent.absolute_url() + params['startLink']=splitted[0]+"?"+urllib.urlencode(params) + - return self.REQUEST.RESPONSE.redirect(splitted[0]+"?"+urllib.urlencode(params)) + return self.REQUEST.RESPONSE.redirect(splitted[0]+"?"+urllib.urlencode(params)) + else: + return "" def manage_addECHO_linkForm(self): """Form for external Links""" @@ -1506,17 +1510,22 @@ class ECHO_collection(Folder, Persistent def localizeObjects(self): """localize all objects""" contents=self.ZopeFind(self,obj_metatypes=['ECHO_link','ECHO_mapText']) - + find=self.ZopeFind(self,obj_ids=('locale_en')) + if not find: + self.manage_addECHO_locale("en",'','') for content in contents: if content[1].meta_type=='ECHO_link': find=content[1].ZopeFind(content[1],obj_metatypes=('ECHO_mapText')) - root=find[0][1] + if find: + root=find[0][1] - locale=find[0][1].ZopeFind(find[0][1],obj_ids=('locale_en')) + locale=find[0][1].ZopeFind(find[0][1],obj_ids=('locale_en')) + else: + root=None else: root=content[1] locale=content[1].ZopeFind(content[1],obj_ids=('locale_en')) - if not locale: + if root and not locale: root.manage_addECHO_locale("en",'','') pt=zptFile(self, 'zpt/localizeObjects.zpt') @@ -2082,7 +2091,7 @@ class ECHO_collection(Folder, Persistent security.declarePublic('changeECHO_collection') - def changeECHO_collection(self,title,label,description,contentType,responsible,weight,secondaryLink,secondaryLinkTitle,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag="",bgcolour="",location=None,isAlwaysClickable=None): + def changeECHO_collection(self,title,label,description,contentType,responsible,weight,secondaryLink,secondaryLinkTitle,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag="",bgcolour="",location=None,isAlwaysClickable=None,prefix="",suffix=""): """Aenderung der Properties""" self.secondaryLink=secondaryLink @@ -2091,7 +2100,9 @@ class ECHO_collection(Folder, Persistent self.bgcolour=bgcolour self.location=location self.isAlwaysClickable=isAlwaysClickable - + self.prefix=prefix[0:] + self.suffix=suffix[0:] + setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight) self.sortfield=sortfield