Diff for /ZSQLExtend/ZSQLExtend.py between versions 1.23 and 1.29

version 1.23, 2004/07/13 14:36:23 version 1.29, 2004/07/28 15:13:00
Line 10  from AccessControl import getSecurityMan Line 10  from AccessControl import getSecurityMan
 import os.path  import os.path
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile  from Products.PageTemplates.PageTemplateFile import PageTemplateFile
   
   from Products.ZSQLMethods.SQL import SQLConnectionIDs
   import Shared.DC.ZRDB.DA
   
   def showSQLConnectionIDs(self):
       return SQLConnectionIDs(self)
   
 class ZSQLExtendFolder(Persistent, Implicit, Folder):  class ZSQLExtendFolder(Folder,Persistent, Implicit):
     """Folder"""      """Folder"""
     meta_type="ZSQLExtendFolder"      meta_type="ZSQLExtendFolder"
   
Line 60  class ZSQLExtendFolder(Persistent, Impli Line 64  class ZSQLExtendFolder(Persistent, Impli
         return pt()          return pt()
   
   
     def changeZSQLExtend(self,label,description,weight=0,REQUEST=None):      def changeZSQLExtend(self,label,description,weight=0,REQUEST=None,connection_id=None):
         """change it"""          """change it"""
           self.connection_id=connection_id
         self.weight=weight          self.weight=weight
         self.label=label          self.label=label
         self.description=description          self.description=description
Line 187  class ZSQLExtendFolder(Persistent, Impli Line 191  class ZSQLExtendFolder(Persistent, Impli
         return ret          return ret
   
                           
       def ZSQLInlineSearchU(self,storename=None,**argv):
           """one element if exists"""
           qs=[]
           if storename:
               """store"""
           else:
               storename="foundCount"
               
       
   
           #print "INLINE:",argv
           for a in argv.keys():
               qs.append(a+"="+urllib.quote(str(argv[a])))
           #return []  
           ret = self.parseQueryString(string.join(qs,","),"_",storename=storename)
   
           try:
               return ret[0]
           except:
               return None
           
     def ZSQLInlineSearch(self,storename=None,**argv):      def ZSQLInlineSearch(self,storename=None,**argv):
         """inlinesearch"""          """inlinesearch"""
Line 211  class ZSQLExtendFolder(Persistent, Impli Line 235  class ZSQLExtendFolder(Persistent, Impli
           
   
         #print "INLINE:",query          #print "INLINE:",query
           return self.ZSQLSimpleSearch(query)
           
                   
       def ZSQLSimpleSearch(self,query=None):
           """ returrn SQLSearch"""
           if not query:
               query=self.query
              
           if self.search.meta_type=="Z SQL Method":
         return self.search(var=query)          return self.search(var=query)
           else:
               if self.aq_parent.aq_parent.search.meta_type=="Z SQL Method":
                   return self.aq_parent.aq_parent.search(var=query)
               else:
                   return []
       
           
           
     def ZSQLAdd(self):      def ZSQLAdd(self):
         """Neuer Eintrag"""          """Neuer Eintrag"""
Line 240  class ZSQLExtendFolder(Persistent, Impli Line 279  class ZSQLExtendFolder(Persistent, Impli
         valueString=string.join(valueList,",")          valueString=string.join(valueList,",")
                   
         queryString="INSERT INTO %s (%s) VALUES (%s)"%(table,keyString,valueString)          queryString="INSERT INTO %s (%s) VALUES (%s)"%(table,keyString,valueString)
         self.search(var=queryString)          self.ZSQLSimpleSearch(queryString)
         return self.REQUEST.RESPONSE.redirect(format)          return self.REQUEST.RESPONSE.redirect(format)
                   
     def ZSQLChange(self,**argv):      def ZSQLChange(self,**argv):
Line 274  class ZSQLExtendFolder(Persistent, Impli Line 313  class ZSQLExtendFolder(Persistent, Impli
                 changeList.append("\""+name+"\"="+libpq.PgQuoteString(urllib.unquote(value)))                  changeList.append("\""+name+"\"="+libpq.PgQuoteString(urllib.unquote(value)))
         changeString=string.join(changeList,",")          changeString=string.join(changeList,",")
         queryString="UPDATE %s SET %s WHERE %s"%(table,changeString,identify)          queryString="UPDATE %s SET %s WHERE %s"%(table,changeString,identify)
         self.search(var=queryString)          self.ZSQLSimpleSearch(queryString)
         return self.REQUEST.RESPONSE.redirect(format)          return self.REQUEST.RESPONSE.redirect(format)
   
     def ZSQLChange_old(self):      def ZSQLChange_old(self):
Line 299  class ZSQLExtendFolder(Persistent, Impli Line 338  class ZSQLExtendFolder(Persistent, Impli
                 changeList.append("\""+name+"\"="+libpq.PgQuoteString(urllib.unquote(value)))                  changeList.append("\""+name+"\"="+libpq.PgQuoteString(urllib.unquote(value)))
         changeString=string.join(changeList,",")          changeString=string.join(changeList,",")
         queryString="UPDATE %s SET %s WHERE %s"%(table,changeString,identify)          queryString="UPDATE %s SET %s WHERE %s"%(table,changeString,identify)
         self.search(var=queryString)          self.ZSQLSimpleSearch(queryString)
         return self.REQUEST.RESPONSE.redirect(format)          return self.REQUEST.RESPONSE.redirect(format)
           
     def ZSQLFind(self,qs="",select="oid,*",storename=None,**argv):      def ZSQLFind(self,qs="",select="oid,*",storename=None,**argv):
Line 313  class ZSQLExtendFolder(Persistent, Impli Line 352  class ZSQLExtendFolder(Persistent, Impli
                     ret.append(x)                      ret.append(x)
             return ret              return ret
                           
           self.REQUEST.SESSION['come_from_search']="no" # zurücksetzen
         if qs=="":          if qs=="":
            if self.REQUEST['QUERY_STRING']:             if self.REQUEST['QUERY_STRING']:
                qs=self.REQUEST['QUERY_STRING']                 qs=self.REQUEST['QUERY_STRING']
Line 326  class ZSQLExtendFolder(Persistent, Impli Line 366  class ZSQLExtendFolder(Persistent, Impli
                #print qs                 #print qs
            else:             else:
                                 
                qs=self.REQUEST.SESSION['query']                 qs=self.REQUEST.SESSION.get('query','')
                  
                for field in argv.keys():                 for field in argv.keys():
                    #print field                     #print field
                    qs+=",-%s=%s"%(field,argv[field])                     qs+=",-%s=%s"%(field,argv[field])
Line 538  class ZSQLExtendFolder(Persistent, Impli Line 579  class ZSQLExtendFolder(Persistent, Impli
                 if not self.REQUEST.SESSION[storename]['queryString2']==query2:                  if not self.REQUEST.SESSION[storename]['queryString2']==query2:
                     #print "HOOOOO",storename                      #print "HOOOOO",storename
                     self.REQUEST.SESSION[storename]['queryString2']=query2                      self.REQUEST.SESSION[storename]['queryString2']=query2
                     self.REQUEST.SESSION[storename]['count']=self.search(var=query2)[0].count                      self.REQUEST.SESSION[storename]['count']=self.ZSQLSimpleSearch(query2)[0].count
                     #print "QUERY",query2,"::::",self.REQUEST.SESSION[storename]['queryString2']                      #print "QUERY",query2,"::::",self.REQUEST.SESSION[storename]['queryString2']
                                   
             else:              else:
                 self.REQUEST.SESSION[storename]['queryString2']=query2                  self.REQUEST.SESSION[storename]['queryString2']=query2
                 self.REQUEST.SESSION[storename]['count']=self.search(var=query2)[0].count                  self.REQUEST.SESSION[storename]['count']=self.ZSQLSimpleSearch(query2)[0].count
                 #print "QUERYNEW",self.REQUEST.SESSION[storename]['queryString2']                  #print "QUERYNEW",self.REQUEST.SESSION[storename]['queryString2']
                           
                           
Line 555  class ZSQLExtendFolder(Persistent, Impli Line 596  class ZSQLExtendFolder(Persistent, Impli
             self.REQUEST.SESSION[storename]['rangeSize']=limit              self.REQUEST.SESSION[storename]['rangeSize']=limit
             self.REQUEST.SESSION[storename]['searchFields']=searchFields              self.REQUEST.SESSION[storename]['searchFields']=searchFields
                           
         #print "Q",query                      
         return self.ZSQLQuery(query)          return self.ZSQLQuery(query)
   
     def ZSQLQuery(self,query):      def ZSQLQuery(self,query):
         """query"""          """query"""
         return self.search(var=query)          return self.ZSQLSimpleSearch(query)
           
     def ZSQLSearch(self):      def ZSQLSearch(self):
         """To be done"""          """To be done"""
Line 577  class ZSQLExtendFolder(Persistent, Impli Line 618  class ZSQLExtendFolder(Persistent, Impli
                 """nothing"""                  """nothing"""
         #print formatfile                  #print formatfile        
         self.REQUEST.SESSION['query']=string.join(self.REQUEST['QUERY_STRING'].split("&"),",")          self.REQUEST.SESSION['query']=string.join(self.REQUEST['QUERY_STRING'].split("&"),",")
           self.REQUEST.SESSION['come_from_search']="yes"
           
         return self.REQUEST.RESPONSE.redirect(urllib.unquote(formatfile))          return self.REQUEST.RESPONSE.redirect(urllib.unquote(formatfile))
   
           
Line 606  class ZSQLExtendFolder(Persistent, Impli Line 649  class ZSQLExtendFolder(Persistent, Impli
                 limit="1"                  limit="1"
             newRangeStart=int(self.REQUEST.SESSION[storename]['rangeStart'])+int(limit)              newRangeStart=int(self.REQUEST.SESSION[storename]['rangeStart'])+int(limit)
         except:          except:
             limit=0              limit=1
             newRangeStart=0              newRangeStart=0
                           
         if newRangeStart>self.REQUEST.SESSION[storename]['count']:          if newRangeStart>=self.REQUEST.SESSION[storename]['count']:
             #newRangeStart=self.REQUEST.SESSION[storename]['count']-1              #newRangeStart=self.REQUEST.SESSION[storename]['count']-1
             return ""              return ""
                   
Line 637  class ZSQLExtendFolder(Persistent, Impli Line 680  class ZSQLExtendFolder(Persistent, Impli
             if query[0]=="_" : query[0]="-"              if query[0]=="_" : query[0]="-"
   
             if query.split("=")[0].lower()=="-skip":              if query.split("=")[0].lower()=="-skip":
                 print "d", newRangeStart  
                 skipFound=1                  skipFound=1
                 query="-skip=%i"%newRangeStart                  query="-skip=%i"%newRangeStart
             newquery.append(query)              newquery.append(query)
Line 771  manage_addZSQLExtendFolderForm=DTMLFile( Line 814  manage_addZSQLExtendFolderForm=DTMLFile(
 def manage_addZSQLExtendFolder(self, id, title='', label='', description='',  def manage_addZSQLExtendFolder(self, id, title='', label='', description='',
                      createPublic=0,                       createPublic=0,
                      createUserF=0,                       createUserF=0,
                        connection_id=None,
                      REQUEST=None):                       REQUEST=None):
     """Add a new Folder object with id *id*.      """Add a new Folder object with id *id*.
   
Line 787  def manage_addZSQLExtendFolder(self, id, Line 831  def manage_addZSQLExtendFolder(self, id,
     ob=self._getOb(id)      ob=self._getOb(id)
     setattr(ob,'label',label)      setattr(ob,'label',label)
     setattr(ob,'description',description)      setattr(ob,'description',description)
       setattr(ob,'connection_id',connection_id)
           
     checkPermission=getSecurityManager().checkPermission      checkPermission=getSecurityManager().checkPermission
   
Line 892  class ZSQLBibliography(Folder,ZSQLExtend Line 937  class ZSQLBibliography(Folder,ZSQLExtend
             bibdata['data']=referenceTypeF[1]              bibdata['data']=referenceTypeF[1]
             self.fields=bibdata[referenceType]              self.fields=bibdata[referenceType]
                         for field in fieldlist:                          for field in fieldlist:
                       if referenceTypeF[1].getValue(field)[0]==None:
                   retdata[field]=field
                   else:
                             retdata[field]=referenceTypeF[1].getValue(field)[0]                              retdata[field]=referenceTypeF[1].getValue(field)[0]
   
         return retdata,fieldlist          return retdata,fieldlist
Line 922  class ZSQLBibliography(Folder,ZSQLExtend Line 970  class ZSQLBibliography(Folder,ZSQLExtend
         else:          else:
             return ""              return ""
           
       def getMetaDataXML2(self):
           """crate index meta"""
   
           fn=os.path.splitext(self.REQUEST['fn'])[0]+"."
           self.REQUEST['fn']=fn
   
           pt=PageTemplateFile('Products/ZSQLExtend/zpt/record2.xml').__of__(self)
           pt.content_type="text/xml"
           return pt()
   
     def getMetaDataXML(self):      def getMetaDataXML(self):
         """crate index meta"""          """crate index meta"""
         pt=PageTemplateFile('Products/ZSQLExtend/zpt/record.xml').__of__(self)          pt=PageTemplateFile('Products/ZSQLExtend/zpt/record.xml').__of__(self)
Line 932  class ZSQLBibliography(Folder,ZSQLExtend Line 990  class ZSQLBibliography(Folder,ZSQLExtend
         """index"""          """index"""
         ret="""<?xml version="1.0" ?>          ret="""<?xml version="1.0" ?>
                  <index>"""                   <index>"""
         for found in self.search(var="select oid from %s"%self.tableName):          for found in self.ZSQLSimpleSearch("select oid from %s limit ALL"%self.tableName):
             link=self.absolute_url()+"/"+"record.html?oid=%i"%found.oid              link=self.absolute_url()+"/"+"record.html?oid=%i"%found.oid
             metalink=self.absolute_url()+"/"+"getMetaDataXML?oid=%i"%found.oid              metalink=self.absolute_url()+"/"+"getMetaDataXML?oid=%i"%found.oid
                           
Line 940  class ZSQLBibliography(Folder,ZSQLExtend Line 998  class ZSQLBibliography(Folder,ZSQLExtend
                           
         return ret+"\n</index>"          return ret+"\n</index>"
           
       
 manage_addZSQLBibliographyForm=DTMLFile('ZSQLBibliographyAdd', globals())  manage_addZSQLBibliographyForm=DTMLFile('ZSQLBibliographyAdd', globals())
   
 def manage_addZSQLBibliography(self, id, tableName,label,description,title='',  def manage_addZSQLBibliography(self, id, tableName,label,description,title='',

Removed from v.1.23  
changed lines
  Added in v.1.29


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