Diff for /ECHO_content/ECHO_collection.py between versions 1.42 and 1.54

version 1.42, 2004/04/16 10:12:15 version 1.54, 2004/05/06 13:05:49
Line 26  from Products.PageTemplates.PageTemplate Line 26  from Products.PageTemplates.PageTemplate
 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate  from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
 from Globals import Persistent, package_home  from Globals import Persistent, package_home
 from Acquisition import Implicit  from Acquisition import Implicit
   from ECHO_helpers import displayTypes
   try:
       from psycopg import libpq
   except:
       try:
           from pyPgSQL import libpq
       except:
           print "ECHO_collection: Warning - No libpq imported!"
   
 #from psycopg import libpq  
 #from pyPgSQL import libpq  
 import xml.dom.minidom  import xml.dom.minidom
   
 import urllib  import urllib
Line 266  class ECHO_resource(Folder): Line 272  class ECHO_resource(Folder):
     viewClassificationList=viewClassificationListMaster      viewClassificationList=viewClassificationListMaster
   
     getSubCols = ECHO_helpers.getSubCols      getSubCols = ECHO_helpers.getSubCols
       def getTitle(self):
       """title"""
       return self.title.encode('utf-8') 
   
       def getLabel(self):
       """title"""
       return self.label.encode('utf-8') 
   
     def content_html(self):      def content_html(self):
         """template fuer content"""          """template fuer content"""
Line 313  class ECHO_resource(Folder): Line 326  class ECHO_resource(Folder):
         except:          except:
             return []              return []
   
       def getContentType(self):
           try:
               return self.contentType
           except:
               return ""
   
     def ECHO_resource_config(self):      def ECHO_resource_config(self):
         """Main configuration"""          """Main configuration"""
Line 436  class ECHO_externalLink(Folder): Line 454  class ECHO_externalLink(Folder):
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
     meta_type='ECHO_externalLink'      meta_type='ECHO_externalLink'
   
       def getTitle(self):
       """title"""
       return self.title.encode('utf-8') 
   
       def getLabel(self):
       """title"""
       return self.label.encode('utf-8') 
   
     def content_html(self):      def content_html(self):
         """template fuer content"""          """template fuer content"""
         return content_html(self,'externalLink')          return content_html(self,'externalLink')
Line 519  def manage_addECHO_externalLink(self,id, Line 545  def manage_addECHO_externalLink(self,id,
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
     
   
   class ECHO_link(ECHO_externalLink):
       """external_link"""
   
       meta_type="ECHO_link"
       
   
       def content_html(self):
           """template fuer content"""
           return content_html(self,'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):  class ECHO_collection(Folder, Persistent, Implicit):
     """ECHO Collection"""      """ECHO Collection"""
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
     meta_type='ECHO_collection'      meta_type='ECHO_collection'
   
       def getTitle(self):
       """title"""
       return self.title.encode('utf-8') 
   
       def getLabel(self):
       """title"""
       return self.label.encode('utf-8') 
   
       def createRessourcesFromXMLForm(self):
           """form"""
           pt=PageTemplateFile('Products/ECHO_content/zpt/createRessourcesFromXMLForm.zpt').__of__(self)
           return pt()
       def createRessourcesFromXML(self,fileupload):
           """read an XML file for generating resources"""
           dom=xml.dom.minidom.parse(fileupload)
           ret="<h2>Added</h2>"
           for resource in dom.getElementsByTagName('resource'):
               link=getText(resource.getElementsByTagName('link')[0].childNodes)
               label=getText(resource.getElementsByTagName('label')[0].childNodes)
               #splitted=link.split("?")[0].split("/")
               #id=splitted[len(splitted)-1].encode('ascii')
               id=re.sub(" ","_",label).encode('ascii')
               
               ret+="<p>"+label+"</p>"
               manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","","",link.encode('ascii'),"","")
           return ret
     def getImageTag(self):      def getImageTag(self):
         """GetTag"""          """GetTag"""
         try:          try:
Line 579  class ECHO_collection(Folder, Persistent Line 657  class ECHO_collection(Folder, Persistent
   
         dynamical=""          dynamical=""
         for ob in self.getGraphicCoords():          for ob in self.getGraphicCoords():
           if ob[4][4] == "":  
             dynamical+="""Coords.push(new Coord('%s', Img, %s));\n"""%(ob[1],ob[0])              dynamical+="""Coords.push(new Coord('%s', Img, %s));\n"""%(ob[1],ob[0])
           else:
               dynamical+="""Coords.push(new Coord('%s', Img, %s));//%s\n"""%(ob[1],ob[0],ob[4][4])
           dynamical+="ShowArrow(new getObj('i.%s'),Img,%s);\n"%(ob[1],ob[0])
         ret+=javaHandler%dynamical          ret+=javaHandler%dynamical
         return ret          return ret
           
Line 611  class ECHO_collection(Folder, Persistent Line 693  class ECHO_collection(Folder, Persistent
         return ret          return ret
           
     security.declarePublic('ECHO_rerenderLinksMD')      security.declarePublic('ECHO_rerenderLinksMD')
     def ECHO_rerenderLinksMD(self):      def ECHO_rerenderLinksMD(self,obj=None):
         """Rerender all Links"""          """Rerender all Links"""
           if not obj:
               obj = self
                   
         for entry in self.__dict__.keys():          entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_resource','ECHO_collection'])
             object=getattr(self,entry)  
               
                           
             try:          for entry in entries:
                           if entry[1].meta_type == 'ECHO_resource':
                 if object.meta_type == 'ECHO_resource':              entry[1].ECHO_getResourceMD(template="no")
               print "rerender",entry[1].getId()
           else:
              self.ECHO_rerenderLinksMD(entry[1])
                                           
                     object.ECHO_getResourceMD(template="no")  
                                           
             except:  
                 """nothing"""  
                                   
         return "Rerenderd all links to resources in: "+self.title          return "Rerenderd all links to resources in: "+self.title
   
Line 667  class ECHO_collection(Folder, Persistent Line 749  class ECHO_collection(Folder, Persistent
         {'label':'Main Config','action':'ECHO_collection_config'},          {'label':'Main Config','action':'ECHO_collection_config'},
         {'label':'Rerender Links','action':'ECHO_rerenderLinksMD'},          {'label':'Rerender Links','action':'ECHO_rerenderLinksMD'},
         {'label':'Graphics','action':'ECHO_graphicEntry'},          {'label':'Graphics','action':'ECHO_graphicEntry'},
       {'label':'create resources from XML','action':'createRessourcesFromXMLForm'},
   
         )          )
   
Line 742  class ECHO_collection(Folder, Persistent Line 825  class ECHO_collection(Folder, Persistent
             self.coords=None              self.coords=None
                           
         setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordsnew)          setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordsnew)
       try:
         self.coords=coordsnew[0:] # HACK fehler in setECHO_collection          self.coords=coordsnew[0:] # HACK fehler in setECHO_collection
           except:
           """none"""
                   
         self.sortfield=sortfield          self.sortfield=sortfield
   
Line 771  class ECHO_collection(Folder, Persistent Line 856  class ECHO_collection(Folder, Persistent
             return self.showOverview()              return self.showOverview()
         elif hasattr(self,'collection_index_template'):          elif hasattr(self,'collection_index_template'):
             return self.collection_index_template()                  return self.collection_index_template()    
           elif hasattr(self,'main_index_template'):
               return self.collection_index_template()    
                   
         pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_content_standard.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_main_index_template_standard.zpt').__of__(self)
         pt.content_type="text/html"          pt.content_type="text/html"
         return pt()          return pt()
   
Line 801  class ECHO_collection(Folder, Persistent Line 888  class ECHO_collection(Folder, Persistent
                         if len(coordtemp)>3:                          if len(coordtemp)>3:
                             coord=coordtemp[0:4]                              coord=coordtemp[0:4]
                             if hasattr(object,'label') and not object.label=="":                              if hasattr(object,'label') and not object.label=="":
                                 ids.append([string.join(coord,", "),object.getId(),object.label,object])                                  ids.append([string.join(coord,", "),object.getId(),object.label,object,coordtemp])
                             elif hasattr(object,'title'):                              elif hasattr(object,'title'):
                                 if not object.title=="":                                  if not object.title=="":
                                     ids.append([string.join(coord,", "),object.getId(),object.title,object])                                      ids.append([string.join(coord,", "),object.getId(),object.title,object,coordtemp])
                                 else:                                  else:
                                     ids.append([string.join(coord,", "),object.getId(),object.getId(),object])                                      ids.append([string.join(coord,", "),object.getId(),object.getId(),object,coordtemp])
                             else:                              else:
                                 ids.append([string.join(coord,", "),object.getId(),object.getId(),object])                                  ids.append([string.join(coord,", "),object.getId(),object.getId(),object,coordtemp])
                                           
             except:              except:
                 """nothing"""                  """nothing"""
Line 849  class ECHO_group(ECHO_collection): Line 936  class ECHO_group(ECHO_collection):
         {'label':'Rerender Links','action':'ECHO_rerenderLinksMD'},          {'label':'Rerender Links','action':'ECHO_rerenderLinksMD'},
         {'label':'Graphics','action':'ECHO_graphicEntry'},          {'label':'Graphics','action':'ECHO_graphicEntry'},
         )          )
   
       def index_html(self):
           """standard page"""
           displayedObjects=self.ZopeFind(self,obj_metatypes=displayTypes)
           if len(displayedObjects)==1: # nur ein Object dann redirect auf dieses Object
               return self.REQUEST.RESPONSE.redirect(displayedObjects[0][1].absolute_url())
           
           if 'index.html' in self.__dict__.keys():
               return getattr(self,'index.html')()
   
           elif 'overview' in self.__dict__.keys():
               return self.showOverview()
           elif hasattr(self,'group_index_template'):
               return self.group_index_template()   
           elif hasattr(self,'main_index_template'):
               return self.collection_index_template()    
   
           pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_main_index_template_standard.zpt').__of__(self)
           pt.content_type="text/html"
           return pt()
   
     def ECHO_group_config(self):      def ECHO_group_config(self):
         """Main configuration"""          """Main configuration"""
                   
Line 864  class ECHO_group(ECHO_collection): Line 972  class ECHO_group(ECHO_collection):
         pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_group.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_group.zpt').__of__(self)
         return pt()          return pt()
   
     def changeECHO_group(self,title,label,description,contentType,responsible,weight,secondaryLink,secondaryLinkTitle,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag="",bgcolour=""):      def changeECHO_group(self,title,label,description,contentType,responsible,weight,secondaryLink,secondaryLinkTitle,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag="",bgcolour="",logo=""):
         """Änderung der Properties"""          """Änderung der Properties"""
   
         self.secondaryLink=secondaryLink          self.secondaryLink=secondaryLink
         self.secondaryLinkTitle=secondaryLinkTitle          self.secondaryLinkTitle=secondaryLinkTitle
         self.imageTag=imageTag          self.imageTag=imageTag
         self.bgcolour=bgcolour          self.bgcolour=bgcolour
                   self.logo=logo
   
         if coords:          if coords:
             coordsnew=[ string.split(x,",") for x in coords]              coordsnew=[ string.split(x,",") for x in coords]
Line 890  class ECHO_group(ECHO_collection): Line 999  class ECHO_group(ECHO_collection):
   
     def getLogo(self):          def getLogo(self):    
         """logo ausgeben"""          """logo ausgeben"""
                   try:
                       return self.logo
                   except:
         return "ECHO_groups"          return "ECHO_groups"
   
     def content_html(self):      def content_html(self):
Line 904  def manage_addECHO_groupForm(self): Line 1016  def manage_addECHO_groupForm(self):
         return pt()          return pt()
   
   
 def manage_addECHO_group(self,id,title,label,description,contentType,responsible,weight,sortfield,coords="",secondaryLinkTitle="",secondaryLink="",credits=None,RESPONSE=None,imageTag="",bgcolour=""):  def manage_addECHO_group(self,id,title,label,description,contentType,responsible,weight,sortfield,coords="",secondaryLinkTitle="",secondaryLink="",credits=None,RESPONSE=None,imageTag="",bgcolour="",logo=""):
     """add a echo group"""      """add a echo group"""
           
   
     newObj=ECHO_group(id,title,label,description,contentType,responsible,credits,weight,sortfield,coords,secondaryLinkTitle=secondaryLinkTitle,secondaryLink=secondaryLink,imageTag=imageTag,bgcolour="")      newObj=ECHO_group(id,title,label,description,contentType,responsible,credits,weight,sortfield,coords,secondaryLinkTitle=secondaryLinkTitle,secondaryLink=secondaryLink,imageTag=imageTag,bgcolour="")
   
       setattr(newObj,'logo',logo)
     self._setObject(id,newObj)      self._setObject(id,newObj)
   
     if RESPONSE is not None:      if RESPONSE is not None:
Line 921  class ECHO_root(Folder,Persistent,Implic Line 1034  class ECHO_root(Folder,Persistent,Implic
     """ECHO Root Folder"""      """ECHO Root Folder"""
     meta_type="ECHO_root"      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):      def getBgcolour(self):
     """hack"""      """hack"""
     return "#dddddd"      return "#dddddd"
Line 933  class ECHO_root(Folder,Persistent,Implic Line 1053  class ECHO_root(Folder,Persistent,Implic
             retStr="<option>\n"              retStr="<option>\n"
                           
         try:          try:
             for contentType in self.ZopeFind(self.contentTypes,obj_metatypes="ECHO_contentType"):              for contentType in self.ZopeFind(self.contentTypes,obj_metatypes=["ECHO_contentType"]):
                 if selected and (contentType[0]==selected):                  if selected and (contentType[0]==selected):
                     retStr+="""<option selected value="%s">%s\n"""%(contentType[0],contentType[0])                      retStr+="""<option selected value="%s">%s\n"""%(contentType[0],contentType[0])
                 else:                                  else:                
Line 959  class ECHO_root(Folder,Persistent,Implic Line 1079  class ECHO_root(Folder,Persistent,Implic
                     entry[1].patchContentType(entry[1])                          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):      def ECHO_newViewerLink(self,obj=None):
         """change links (:86 faellt weg)"""          """change links (:86 faellt weg)"""

Removed from v.1.42  
changed lines
  Added in v.1.54


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>