Diff for /ECHO_content/ECHO_collection.py between versions 1.201 and 1.229

version 1.201, 2004/12/10 13:48:13 version 1.229, 2005/07/20 11:49:05
Line 39  from Globals import Persistent, package_ Line 39  from Globals import Persistent, package_
 from Acquisition import Implicit  from Acquisition import Implicit
   
 import urllib  import urllib
   import cgi
 import smtplib  import smtplib
 import time  import time
 from Ft.Xml.Domlette import NonvalidatingReader  from Ft.Xml.Domlette import NonvalidatingReader
Line 64  import xml.dom.minidom Line 65  import xml.dom.minidom
 import ECHO_helpers  import ECHO_helpers
 from ECHO_helpers import *  from ECHO_helpers import *
 from ECHO_language import *  from ECHO_language import *
   from ECHO_movie import *
   
 #regexp for extracting elements from xml  #regexp for extracting elements from xml
 patternTXT=r"<\s*txt.*?>(.*?)</txt>"  patternTXT=r"<\s*txt.*?>(.*?)</txt>"
Line 74  regexpPage = re.compile(patternPage, re. Line 75  regexpPage = re.compile(patternPage, re.
   
                   
   
 def setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordstrs="",viewClassification=""):  def setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordstrs=""):
   
         """Allegemeine Informationen zu einer ECHO Collection"""          """Allegemeine Informationen zu einer ECHO Collection"""
   
Line 86  def setECHO_collectionInformation(self,t Line 87  def setECHO_collectionInformation(self,t
         self.credits=toList(credits)          self.credits=toList(credits)
         self.weight=weight          self.weight=weight
   
   class ECHO_locale(ZopePageTemplate):
       """localisierung"""
   
       meta_type="ECHO_locale"
   
       def __init__(self,id,lang,title,label,text=None,content_type=None):
           self.lang=lang
           self.title=title
           self.label=label
           if text:
               self.pt_edit(text, content_type)
           self.id=id
   
       manage_options = ZopePageTemplate.manage_options+(
           {'label':'Main Config','action':'change_ECHO_localeForm'},
           )
   
       def change_ECHO_localeForm(self):
           """change form"""
           pt=zptFile(self, 'zpt/ChangeECHO_localeForm.zpt')
           return pt()
       
       def change_ECHO_locale(self,lang,title,label,text=None,content_type=None,RESPONSE=None):
           """change echo locale"""
           self.lang=lang
           self.title=title
           self.label=label
           if not text is None:
               self.pt_edit(text, content_type)
   
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
   
           
   def manage_addECHO_localeForm(self):
        """Form for adding"""
        pt=zptFile(self, 'zpt/AddECHO_localeForm.zpt')
        return pt()
   
   def manage_addECHO_locale(self,lang,title,label,text=None,content_type=None,RESPONSE=None):
       """add echo locale"""
   
       id="locale_"+lang
       
       self._setObject(id, ECHO_locale(id,lang,title,label,text,content_type))
       if RESPONSE is not None:
           RESPONSE.redirect('manage_main')
   
                           
 class ECHO_copyright(Folder,ECHO_basis):  class ECHO_copyright(Folder,ECHO_basis):
     """Copyright informationen"""      """Copyright informationen"""
Line 153  class ECHO_layoutTemplate(ZopePageTempla Line 202  class ECHO_layoutTemplate(ZopePageTempla
   
         self.ZBindings_edit(self._default_bindings)          self.ZBindings_edit(self._default_bindings)
         if text is None:          if text is None:
             self._default_content_fn = os.path.join(package_home(globals()),              self._default_content_fn = os.path.join(package_home(globals()),'zpt','ECHO_%s_template_standard.zpt'%EchoType)
                                                'zpt/ECHO_%s_template_standard.zpt'%EchoType)  
             text = open(self._default_content_fn).read()              text = open(self._default_content_fn).read()
         self.pt_edit(text, content_type)          self.pt_edit(text, content_type)
   
Line 212  class ECHO_fullText(ZopePageTemplate,ECH Line 260  class ECHO_fullText(ZopePageTemplate,ECH
           
     def getPage(self,nr='1'):      def getPage(self,nr='1'):
         """get page n"""          """get page n"""
         dom=xml.dom.minidom.parseString(self())          #return self().encode('latin-1','ignore')
           dom=xml.dom.minidom.parseString(self().encode('utf-8','ignore'))
         pages=dom.getElementsByTagName('page')          pages=dom.getElementsByTagName('page')
                   
         return pages[int(nr)-1].toxml('utf-8')          return pages[int(nr)-1].toxml()
           
 # Product registration and Add support  # Product registration and Add support
 manage_addECHO_fullTextForm = PageTemplateFile(  manage_addECHO_fullTextForm = PageTemplateFile(
Line 258  class ECHO_resource(Folder,Persistent,EC Line 307  class ECHO_resource(Folder,Persistent,EC
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
     meta_type='ECHO_resource'      meta_type='ECHO_resource'
   
     viewClassificationList=viewClassificationListMaster  #    viewClassificationList=viewClassificationListMaster
   
     getSubCols = ECHO_helpers.getSubCols      getSubCols = ECHO_helpers.getSubCols
   
     security.declareProtected('View','index_html')  
   
       
       
     security.declareProtected('View','createPDF')      security.declareProtected('View','createPDF')
     def createPDF(self,RESPONSE=None,local=None,dpi=150):      def createPDF(self,RESPONSE=None,local=None,dpi=150):
Line 561  class ECHO_resource(Folder,Persistent,EC Line 607  class ECHO_resource(Folder,Persistent,EC
                 startpage=self.createImageUrl()                  startpage=self.createImageUrl()
           
         params="startpage=%s"%startpage          params="startpage=%s"%startpage
         print 'http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))          #print 'http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))
                                                                                                                                     
         ECHO_helpers.urlopen('http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))).read()          ECHO_helpers.urlopen('http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))).read()
           
Line 655  class ECHO_resource(Folder,Persistent,EC Line 701  class ECHO_resource(Folder,Persistent,EC
   
           
   
           security.declarePublic('content_html')  
     def content_html(self):      def content_html(self):
         """template fuer content"""          """template fuer content"""
         return ECHO_basis.content_html(self,'resource')          return ECHO_basis.content_html(self,'resource')
           
     def getViewClassification(self):  #    def getViewClassification(self):
         if hasattr(self,'viewClassification'):  #        if hasattr(self,'viewClassification'):
             return self.viewClassification  #            return self.viewClassification
         else:  #        else:
             return ""  #            return ""
   
     def getFullTextXML(self,noredirect=None):      def getFullTextXML(self,noredirect=None):
         """getFullTextXML; gives the FullText as an XML Document, and <error></error> if somthing goes wrong."""          """getFullTextXML; gives the FullText as an XML Document, and <error></error> if somthing goes wrong."""
Line 818  class ECHO_resource(Folder,Persistent,EC Line 864  class ECHO_resource(Folder,Persistent,EC
             coordsnew=[]              coordsnew=[]
                   
         self.coords=coordsnew          self.coords=coordsnew
     self.viewClassification=""  #   self.viewClassification=""
   
   
   
Line 968  class ECHO_resource(Folder,Persistent,EC Line 1014  class ECHO_resource(Folder,Persistent,EC
   
   
     def getMDValue(self,fieldName,empty=None):      def getMDValue(self,fieldName,empty=None):
         if empty:          if not empty:
             return self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType)              return self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType)
                   
         else:          else:
Line 1000  class ECHO_resource(Folder,Persistent,EC Line 1046  class ECHO_resource(Folder,Persistent,EC
         self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')          self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
         return writeMetadata(self.metalink,self.metaDataHash)          return writeMetadata(self.metalink,self.metaDataHash)
   
     def changeECHO_resource(self,metalink,link,title,label,description,contentType,responsible,weight,viewClassification="",coords=None,credits=None,RESPONSE=None):      def changeECHO_resource(self,metalink,link,title,label,description,contentType,responsible,weight,coords=None,credits=None,RESPONSE=None):
         """Aenderung der Properties"""          """Aenderung der Properties"""
                   
         setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight)          setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight)
Line 1065  class ECHO_resource(Folder,Persistent,EC Line 1111  class ECHO_resource(Folder,Persistent,EC
             if ret == "":              if ret == "":
                 return None                  return None
             else:              else:
               
                 return ret                  return ret
         except:          except:
             return None              return None
Line 1103  class ECHO_resource(Folder,Persistent,EC Line 1150  class ECHO_resource(Folder,Persistent,EC
     fields=[]      fields=[]
         fieldlist=self.standardMD.fieldList          fieldlist=self.standardMD.fieldList
                   
           tags=self.findTagsFromMapping(self.contentType)
       self.referencetypes=tags[2]
     for referenceTypeF in self.referencetypes:      for referenceTypeF in self.referencetypes:
   
         if referenceTypeF[1].title.lower() == referenceType.lower():          if referenceTypeF[1].title.lower() == referenceType.lower():
Line 1197  class ECHO_resource(Folder,Persistent,EC Line 1246  class ECHO_resource(Folder,Persistent,EC
         if not error=="": #Fehler beim Auslesen des Metafiles          if not error=="": #Fehler beim Auslesen des Metafiles
         return "ERROR:",error          return "ERROR:",error
           
       if not self.contentType:
           self.contentType=metadict['bib_type'].lower()
   
     if not (metadict['bib_type'].lower()==self.contentType.lower()):      if not (metadict['bib_type'].lower()==self.contentType.lower()):
         self.REQUEST.SESSION['contentStorage']=metadict['bib_type']          self.REQUEST.SESSION['contentStorage']=metadict['bib_type']
Line 1235  class ECHO_resource(Folder,Persistent,EC Line 1286  class ECHO_resource(Folder,Persistent,EC
             return None              return None
                   
                   
       security.declareProtected('View','index_html')
     def index_html(self):      def index_html(self):
         """standard page"""          """standard page"""
         pdf=self.checkRDF(self.link)          pdf=self.checkRDF(self.link)
Line 1302  def manage_addECHO_resourceForm(self): Line 1354  def manage_addECHO_resourceForm(self):
   
   
   
 def manage_addECHO_resource(self,id,title,label,description,responsible,link,metalink,weight,copyrightType=None,resourceID=None,contentType=None,renderingType=None,credits=None,coords=None,RESPONSE=None):  def manage_addECHO_resource(self,id,title,label,description="",responsible="",link="",metalink="",weight="",copyrightType=None,resourceID=None,contentType=None,renderingType=None,credits=None,coords=None,RESPONSE=None):
     """addaresource"""      """addresource"""
   
     newObj=ECHO_resource(id,link,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords)      newObj=ECHO_resource(id,link,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords)
   
Line 1318  class ECHO_externalLink(Folder,ECHO_basi Line 1370  class ECHO_externalLink(Folder,ECHO_basi
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
     meta_type='ECHO_externalLink'      meta_type='ECHO_externalLink'
   
       security.declarePublic('content_html')
     def content_html(self):      def content_html(self):
         """template fuer content"""          """template fuer content"""
         return ECHO_basis.content_html(self,'externalLink')          return ECHO_basis.content_html(self,'externalLink')
Line 1364  class ECHO_externalLink(Folder,ECHO_basi Line 1416  class ECHO_externalLink(Folder,ECHO_basi
                           
     manage_options = Folder.manage_options+(      manage_options = Folder.manage_options+(
         {'label':'Main Config','action':'ECHO_externalLink_config'},          {'label':'Main Config','action':'ECHO_externalLink_config'},
       {'label':'Graphic Coords','action':'ECHO_graphicEntry'},
         )          )
   
                   
Line 1402  class ECHO_link(ECHO_externalLink): Line 1455  class ECHO_link(ECHO_externalLink):
         else:          else:
             return ECHO_basis.content_html(self,'collection')              return ECHO_basis.content_html(self,'collection')
           
       def index_html(self):
           """standard link"""
           if self.link:
            splitted=self.link.split("?")
            if len(splitted)>1:
               params=cgi.parse_qs(splitted[1])
   
               for x in params.keys():
                   if type(params[x]) is ListType:
                       params[x]=params[x][0]
           
   
            else:
               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))
           else:
            return ""
   
 def manage_addECHO_linkForm(self):  def manage_addECHO_linkForm(self):
         """Form for external Links"""          """Form for external Links"""
         pt=zptFile(self, 'zpt/AddECHO_linkForm.zpt')          pt=zptFile(self, 'zpt/AddECHO_linkForm.zpt')
         return pt()          return pt()
   
   
 def manage_addECHO_link(self,id,title,label,description,contentType,responsible,link,weight,coords=None,credits=None,RESPONSE=None):  def manage_addECHO_link(self,id,title,label,description="",contentType="",responsible="",link="",weight="",coords=[],credits=None,RESPONSE=None):
     """Add an external Link"""      """Add an external Link"""
   
     newObj=ECHO_link(id,link,title,label,description,contentType,responsible,credits,weight,coords)      newObj=ECHO_link(id,link,title,label,description,contentType,responsible,credits,weight,coords)
Line 1424  class ECHO_collection(Folder, Persistent Line 1500  class ECHO_collection(Folder, Persistent
   
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
     meta_type='ECHO_collection'      meta_type='ECHO_collection'
     viewClassificationList=viewClassificationListMaster  #    viewClassificationList=viewClassificationListMaster
     displayTypes=displayTypes      displayTypes=displayTypes
   
     path="/mpiwg/online/permanent/shipbuilding"      path="/mpiwg/online/permanent/shipbuilding"
   
       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]
   
                   locale=find[0][1].ZopeFind(find[0][1],obj_ids=('locale_en'))
               else:
                   root=content[1]
                   locale=content[1].ZopeFind(content[1],obj_ids=('locale_en'))
               if not locale:
                   root.manage_addECHO_locale("en",'','')
               
           pt=zptFile(self, 'zpt/localizeObjects.zpt')
           return pt()
   
   
       def localize(self,REQUEST,RESPONSE):
           """localize"""
           for key in REQUEST.form.keys():
               splitted=key.split("!")
   
               if splitted[0]=="" or splitted[0]=="en" or splitted[0]=="title" or splitted[0]=="label":
                   if splitted[0]=="en":
                       setattr(self.locale_en,splitted[1],REQUEST.form[key])
                   else:
                       setattr(self,splitted[0],REQUEST.form[key])
               else:
                   obj=getattr(self,splitted[0])
   
                   if obj.meta_type=="ECHO_mapText":
                       if splitted[1]=="en":
                           obj.locale_en.pt_edit(REQUEST.form[key],None)
                       else:
                           obj.pt_edit(REQUEST.form[key],None)
                   else:
                       text=obj.ZopeFind(obj,obj_metatypes=['ECHO_mapText'])
                       if splitted[1]=="en":
                           
                           text[0][1].locale_en.pt_edit(REQUEST.form[key],None)
                       else:
                           text[0][1].pt_edit(REQUEST.form[key],None)
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
   
   
     def getRDF(self,urn=None):      def getRDF(self,urn=None):
         """rdf of the collection"""          """rdf of the collection"""
                   
Line 1526  class ECHO_collection(Folder, Persistent Line 1653  class ECHO_collection(Folder, Persistent
         ret=""          ret=""
         argv=self.REQUEST.form          argv=self.REQUEST.form
                   
         resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink'])          resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_movie','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink'])
         for resource in resources:          for resource in resources:
                         
             try:              try:
Line 1541  class ECHO_collection(Folder, Persistent Line 1668  class ECHO_collection(Folder, Persistent
         ret=""          ret=""
         argv=self.REQUEST.form          argv=self.REQUEST.form
                   
         resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'])          resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_movie','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink'])
         for resource in resources:          for resource in resources:
                         
             try:              try:
Line 1551  class ECHO_collection(Folder, Persistent Line 1678  class ECHO_collection(Folder, Persistent
                 pass                  pass
         return ret          return ret
                   
       def changeLabelsInCollection(self):
           """change all lables of a collection"""
           ret=""
           argv=self.REQUEST.form
           
           resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_movie','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink'])
           for resource in resources:
              
               try:
                   ret+=resource[1].getId()+"   "+argv[resource[1].getId()]+"</br>"
                               resource[1].label=argv[resource[1].getId()][0:]
               except:
                   pass
           return ret
          
     def updateCollection(self,RESPONSE=None):      def updateCollection(self,RESPONSE=None):
         """liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner"""          """liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner"""
         files=os.listdir(self.path)          files=os.listdir(self.path)
Line 1736  class ECHO_collection(Folder, Persistent Line 1878  class ECHO_collection(Folder, Persistent
          """nothing"""           """nothing"""
      return retStr       return retStr
     
     def getViewClassification(self):  #    def getViewClassification(self):
         if hasattr(self,'viewClassification'):  #        if hasattr(self,'viewClassification'):
             return self.viewClassification  #            return self.viewClassification
         else:  #        else:
             return ""  #            return ""
   
           
     def createRessourcesFromXMLForm(self):      def createRessourcesFromXMLForm(self):
Line 1763  class ECHO_collection(Folder, Persistent Line 1905  class ECHO_collection(Folder, Persistent
             manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","","",link.encode('ascii'),"","")              manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","","",link.encode('ascii'),"","")
         return ret          return ret
           
       security.declarePublic('getImageTag')
     def getImageTag(self):      def getImageTag(self):
         """GetTag"""          """GetTag"""
         try:          try:
Line 1770  class ECHO_collection(Folder, Persistent Line 1913  class ECHO_collection(Folder, Persistent
         except:          except:
             return ""              return ""
   
   
       def addMovie(self,id,title,label,description,contentType,responsible,link,thumbUrl,rawFile,lowresFile,metalink,weight,credits=None,coords=None,RESPONSE=None):
           """SSS"""
   
       #manage_addECHO_movie(self,id,title,label,description,responsible,link,thumbUrl,rawFile,metalink,weight,credits=None,coords=None,RESPONSE=None)
       if not hasattr(self,id):
           try:
               manage_addECHO_movie(self,id,title,label,description,responsible,link,thumbUrl,rawFile,lowresFile,metalink,weight,credits=None,coords=None,RESPONSE=None)
               return "done"
           except:
               return None
       else:
           obj=getattr(self,id)
           obj.changeECHO_movie_main(metalink,link,rawFile,lowresFile,thumbUrl,title,label,description,contentType,weight=weight)
   
       return "changed"
   
     def addResource(self,id,title,label,description,contentType,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None):      def addResource(self,id,title,label,description,contentType,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None):
         """SSS"""          """SSS"""
         try:          try:
Line 1792  class ECHO_collection(Folder, Persistent Line 1952  class ECHO_collection(Folder, Persistent
         except:          except:
             return ""              return ""
                   
     def getCollectionTreeXML(self):      def getCollectionTreeXML(self,pwstr=None):
         """Tree as XML"""          """Tree as XML"""
   
     def addPassWd(str):      def addPassWd(str,pwstr=None):
         """adds a user/passwd to an url"""          """adds a user/passwd to an url"""
           if pwstr:
               txt2=re.sub(r"(http://)(.*?)","\g<1>%s@\g<2>"%pwstr,str)
           else:
         txt2=re.sub(r"(http://)(.*?)","\g<1>www:3333@\g<2>",str)          txt2=re.sub(r"(http://)(.*?)","\g<1>www:3333@\g<2>",str)
         return txt2          return txt2
   
         def getCollection(object,depth=0):          def getCollection(object,depth=0,pwstr=None):
             depth+=1              depth+=1
             collections=""              collections=""
             for entry in object.__dict__.keys():              for entry in object.__dict__.keys():
                 element=getattr(object,entry)                  element=getattr(object,entry)
                 try:                  try:
                     if element.meta_type in ["ECHO_collection","ECHO_group"]:                      if element.meta_type in ["ECHO_collection","ECHO_group"]:
                         collections+="<element name=\""+urllib.quote(element.title)+"\" url=\""+addPassWd(element.absolute_url())+"\">"                          collections+="<element name=\""+urllib.quote(element.title)+"\" url=\""+addPassWd(element.absolute_url(),pwstr=pwstr)+"\">"
                         collections+=getCollection(element,depth)+"</element>\n"                          collections+=getCollection(element,depth)+"</element>\n"
                 except:                  except:
                     """nothing"""                      """nothing"""
             return collections              return collections
                   
     ret="""<?xml version="1.0" encoding="utf-8" ?>"""      ret="""<?xml version="1.0" encoding="utf-8" ?>"""
         return ret+"<collection>"+getCollection(self)+"</collection>"          return ret+"<collection>"+getCollection(self,pwstr=pwstr)+"</collection>"
           
     def createAllJSAreas(self):      def createAllJSAreas(self):
         """create area calls for JavaScript"""          """create area calls for JavaScript"""
Line 1863  class ECHO_collection(Folder, Persistent Line 2026  class ECHO_collection(Folder, Persistent
     return ECHO_rerenderLinksMD(self,obj,types)      return ECHO_rerenderLinksMD(self,obj,types)
   
           
     def __init__(self,id,title,label,description,contentType,responsible,credits,weight,sortfield,coords,secondaryLinkTitle,secondaryLink,imageTag="",bgcolour=""):      def __init__(self,id,title,label,description="",contentType="",responsible="",credits="",weight="",sortfield="",coords=[],secondaryLinkTitle="",secondaryLink="",imageTag="",bgcolour=""):
   
         self.id = id          self.id = id
         """Festlegen der ID"""          """Festlegen der ID"""
Line 1887  class ECHO_collection(Folder, Persistent Line 2050  class ECHO_collection(Folder, Persistent
         {'label':'Main Config','action':'ECHO_collection_config'},          {'label':'Main Config','action':'ECHO_collection_config'},
         {'label':'Change Labels','action':'changeLabels'},          {'label':'Change Labels','action':'changeLabels'},
         {'label':'Change Titles','action':'changeTitles'},          {'label':'Change Titles','action':'changeTitles'},
       {'label':'Localize','action':'localizeObjects'},
     {'label':'Change Weights','action':'changeWeights'},      {'label':'Change Weights','action':'changeWeights'},
         {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMDWarning'},          {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMDWarning'},
         {'label':'Graphic Coords','action':'ECHO_graphicEntry'},          {'label':'Graphic Coords','action':'ECHO_graphicEntry'},
Line 1922  class ECHO_collection(Folder, Persistent Line 2086  class ECHO_collection(Folder, Persistent
   
                   
     security.declarePublic('changeECHO_collection')           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="",viewClassification=None,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):
         """Aenderung der Properties"""          """Aenderung der Properties"""
   
         self.secondaryLink=secondaryLink          self.secondaryLink=secondaryLink
Line 1955  class ECHO_collection(Folder, Persistent Line 2119  class ECHO_collection(Folder, Persistent
         pt=zptFile(self, 'zpt/ECHO_content_overview.zpt')          pt=zptFile(self, 'zpt/ECHO_content_overview.zpt')
         return pt()          return pt()
   
     security.declareProtected('View','index_html')  
           
       security.declareProtected('View','index_html')
     def index_html(self):      def index_html(self):
         """standard page"""          """standard page"""
         if self.ZCacheable_isCachingEnabled():          if self.ZCacheable_isCachingEnabled():
Line 1974  class ECHO_collection(Folder, Persistent Line 2138  class ECHO_collection(Folder, Persistent
         elif hasattr(self,'collection_index_template'):          elif hasattr(self,'collection_index_template'):
             ret=self.collection_index_template()                  ret=self.collection_index_template()    
         elif hasattr(self,'main_index_template'):          elif hasattr(self,'main_index_template'):
             ret=self.main_index_template()      
               ret=self.main_index_template.__of__(self)(self.main_template)
         else:          else:
         pt=zptFile(self, 'zpt/ECHO_main_index_template_standard.zpt')          pt=zptFile(self, 'zpt/ECHO_main_index_template_standard.zpt')
         pt.content_type="text/html"          pt.content_type="text/html"
Line 1983  class ECHO_collection(Folder, Persistent Line 2148  class ECHO_collection(Folder, Persistent
     self.ZCacheable_set(ret)      self.ZCacheable_set(ret)
         return ret          return ret
   
       security.declarePublic('content_html')
     def content_html(self,**argv):      def content_html(self,**argv):
         """template fuer content"""          """template fuer content"""
     #print "NN",argv      #print "NN",argv
Line 2023  class ECHO_collection(Folder, Persistent Line 2189  class ECHO_collection(Folder, Persistent
         """javascript"""          """javascript"""
         return sendFile(self, 'js/hl_add.js', 'text/plain')          return sendFile(self, 'js/hl_add.js', 'text/plain')
   
     def getAllMapAreas(self):      def getAllMapAreas(self,mapColTypes=['ECHO_collection','ECHO_resource','ECHO_link','ECHO_externalLink']):
         """Give list of coordinates"""          """Give list of coordinates"""
         subColTypes=['ECHO_collection','ECHO_resource']          
         areas=[]          areas=[]
         for entrySearch in self.ZopeFind(self,obj_metatypes=subColTypes):          for entry in self.getSubCols(subColTypes=mapColTypes):
             object=entrySearch[1]              object=entry
         areas.extend(object.getMapAreas())          areas.extend(object.getMapAreas())
         return areas          return areas
           
Line 2054  def manage_addECHO_collectionForm(self): Line 2220  def manage_addECHO_collectionForm(self):
         return pt()          return pt()
   
   
 def manage_addECHO_collection(self,id,title,label,description,contentType,responsible,weight,sortfield,coords="",secondaryLinkTitle="",secondaryLink="",credits=None,RESPONSE=None,imageTag="",bgcolour=""):  def manage_addECHO_collection(self,id,title,label,description="",contentType="",responsible="",weight=0,sortfield="weight",coords="",secondaryLinkTitle="",secondaryLink="",credits=None,RESPONSE=None,imageTag="",bgcolour=""):
     """add a echo collection"""      """add a echo collection"""
           
   
Line 2162  class ECHO_group(ECHO_collection): Line 2328  class ECHO_group(ECHO_collection):
                 except:                  except:
                     return "ECHO_groups"                      return "ECHO_groups"
   
           security.declarePublic('content_html')
     def content_html(self):      def content_html(self):
         """template fuer content"""          """template fuer content"""
         return ECHO_basis.content_html(self,'group')          return ECHO_basis.content_html(self,'group')
Line 2343  class ECHO_root(Folder,Persistent,Implic Line 2510  class ECHO_root(Folder,Persistent,Implic
           
     meta_type="ECHO_root"      meta_type="ECHO_root"
   
     def content_overview_main_t(self):      def printer(self,txt):
         """template for map overview page"""          print txt
     pt = zptFile(self, 'zpt/ECHO_content_overview_main')          print txt[2]
           print txt[2].getImageTag()
           print "HO"
           return txt[2].getImageTag()
   
       def printer2(self,txt):
           print txt
   
   
       def item2(self,txt):
           return txt[2]
   
       def setLanguage(self,lang):
           """Set language cookie"""
           self.REQUEST.RESPONSE.setCookie('lang_exhibition',lang,path="")
   
       def switchLanguage(self):
           """Set language cookie"""
           if self.getLanguage()=="en":
               lang="de"
           else:
               lang="en"
           
           self.REQUEST.RESPONSE.setCookie('lang_exhibition',lang,path="")
           self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1'])
       def getLanguage(self):
           """get language cookie"""
           lang= self.REQUEST.cookies.get('lang_exhibition','de')
           if lang == '':
               lang="de"
           return lang
       
       def getContentOverviewTemplate(self):
       """produces overview template with macro"""
       pt = zptObjectOrFile(self, 'content_overview_template')
     return pt      return pt
   
     ###CDLI adds -> have to be removed      def mapstyle_css(self):
           """send mapstyle.css"""
           sendFile(self, 'html/ECHO_mapstyle.css', 'text/css')
   
   
       ###Cdli adds -> have to be removed
     def getTablet(self,item):      def getTablet(self,item):
         #print "getTablet"          #print "getTablet"
     try:      try:
Line 2368  class ECHO_root(Folder,Persistent,Implic Line 2574  class ECHO_root(Folder,Persistent,Implic
   
     def checkResource(self,id):      def checkResource(self,id):
         """checks if a resource is in the tree, gives back none or list of resources"""          """checks if a resource is in the tree, gives back none or list of resources"""
           if not id:
           id=""
           splitted=id.split("/")
           id=splitted[len(splitted)-1]
         if hasattr(self,"_v_checkResource") and self._v_checkResource.has_key(id): #existiert ein cache und id ist bereits drin?          if hasattr(self,"_v_checkResource") and self._v_checkResource.has_key(id): #existiert ein cache und id ist bereits drin?
                 return self._v_checkResource[id]                  return self._v_checkResource[id]
   
Line 2589  class ECHO_root(Folder,Persistent,Implic Line 2799  class ECHO_root(Folder,Persistent,Implic
         except:          except:
             return ""              return ""
           
       security.declarePublic('getImageTag')
     def getImageTag(self):      def getImageTag(self):
         """needed by main_template"""          """needed by main_template"""
         return ""          return ""
           
     secondaryLink="" #needed by main_template      secondaryLink="" #needed by main_template
     secondaryLinkTitle="" #needed by main_template      secondaryLinkTitle="" #needed by main_template
           
Line 2599  class ECHO_root(Folder,Persistent,Implic Line 2811  class ECHO_root(Folder,Persistent,Implic
     """hack"""      """hack"""
     return "#dddddd"      return "#dddddd"
   
       security.declareProtected('View','contentTypeSelector_HTML')
     def contentTypeSelector_HTML(self,selected=None):      def contentTypeSelector_HTML(self,selected=None):
         """give type selector"""          """give type selector"""
         if not selected:          if not selected:
Line 2641  class ECHO_root(Folder,Persistent,Implic Line 2854  class ECHO_root(Folder,Persistent,Implic
          """nothing"""           """nothing"""
      return retStr       return retStr
   
     def renderingTypeSelector_HTML(self,selected=None):  
          """give type selector"""  
      if not selected:  
          retStr="<option selected>\n"  
      else:  
          retStr="<option>\n"  
            
      try: # erste version renderingTypes exists  
          for renderingType in self.ZopeFind(self.renderingTypes,obj_metatypes=["ECHO_renderingType"]):  
              if selected and (renderingType[0]==selected):  
                  retStr+="""<option selected value="%s">%s\n"""%(renderingType[0],renderingType[0])  
              else:                  
                  retStr+="""<option value="%s">%s\n"""%(renderingType[0],renderingType[0])  
      except:  
          """nothing"""  
      return retStr  
   
   
     def copyrightTypeSelector_HTML(self, object=None, selected=None,first=None):      def copyrightTypeSelector_HTML(self, object=None, selected=None,first=None):
          """give type selector"""           """give type selector"""
Line 2869  class ECHO_root(Folder,Persistent,Implic Line 3065  class ECHO_root(Folder,Persistent,Implic
                           
                 if self.checkRef(ref):                  if self.checkRef(ref):
             if pn:              if pn:
                 link.setAttribute("href",self.aq_parent.absolute_url()+"/references?id="+ref+"&p="+pn)                  link.setAttribute("href",self.aq_parent.absolute_url()+"/references?id="+ref+"&page="+pn)
             else:              else:
                 link.setAttribute("href",self.aq_parent.absolute_url()+"/references?id="+ref)                  link.setAttribute("href",self.aq_parent.absolute_url()+"/references?id="+ref)
   
Line 2952  class ECHO_root(Folder,Persistent,Implic Line 3148  class ECHO_root(Folder,Persistent,Implic
   
         return libpq.PgQuoteString(string)          return libpq.PgQuoteString(string)
                   
       security.declareProtected('View','getPartners')
     def getPartners(self):      def getPartners(self):
         """Get list of Partners. Presently only from a subfolder partners"""          """Get list of Partners. Presently only from a subfolder partners"""
     if hasattr(self,'partners'):                  if hasattr(self,'partners'):            

Removed from v.1.201  
changed lines
  Added in v.1.229


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