Diff for /cdli/cdli_basket.py between versions 1.6 and 1.7

version 1.6, 2011/07/20 09:33:35 version 1.7, 2011/07/21 21:58:50
Line 82  class BasketContent(SimpleItem): Line 82  class BasketContent(SimpleItem):
         for x in content:          for x in content:
             if not((x[0] is None) or (x[1] is None)):              if not((x[0] is None) or (x[1] is None)):
                           
                   try: # old version 
                 contentList.append((x[1].getId(),x[0].getVersionNumber()))                  contentList.append((x[1].getId(),x[0].getVersionNumber()))
                   except:
                       contentList.append(x)
                   
                   
         logging.debug("cl: %s"%contentList)          logging.debug("cl: %s"%contentList)
         self.contentList=contentList[0:]          self.contentList=contentList[0:]
         
Line 1015  class CDLIBasket(Folder,CatalogAware): Line 1020  class CDLIBasket(Folder,CatalogAware):
         return versions          return versions
   
         
     def updateObjects(self,ids,RESPONSE=None,REQUEST=None):      def updateObjects(self,ids=[],RESPONSE=None,REQUEST=None):
         """update ids, ids not in the basket the add"""          """update ids, ids not in the basket then add"""
           logging.debug("update")
           logging.debug(repr(ids))
         if type(ids) is not ListType:          if type(ids) is not ListType:
             ids=[ids]              ids=[ids]
                 
Line 1024  class CDLIBasket(Folder,CatalogAware): Line 1031  class CDLIBasket(Folder,CatalogAware):
         oldContent=lastVersion.content.getContent()          oldContent=lastVersion.content.getContent()
         newContent=[]          newContent=[]
                   
         #first copy the old          #keine ids dann alle update
           if len(ids)==0:
               ids=[x[0] for x in oldContent]
               
           #first copy the id not to be updated
         for obj in oldContent:          for obj in oldContent:
               logging.debug("obj:"+repr(obj))
               try: # old format of the basket 
             if obj[1].getId() not in ids:              if obj[1].getId() not in ids:
                 newContent.append(obj)                  newContent.append(obj)
               except:
                   if obj[0] not in ids:
                       newContent.append(obj)
         #now add the new          #now add the new
                                 
         for id in ids:          for id in ids:
Line 1036  class CDLIBasket(Folder,CatalogAware): Line 1052  class CDLIBasket(Folder,CatalogAware):
             for found in founds:              for found in founds:
                 if found.getObject() not in oldContent:                  if found.getObject() not in oldContent:
                     #TODO: was passiert wenn, man eine Object dazufuegt, das schon da ist aber eine neuere version                      #TODO: was passiert wenn, man eine Object dazufuegt, das schon da ist aber eine neuere version
                     newContent.append((found.getObject().getLastVersion(),found.getObject()))                      newContent.append((id,found.getObject().getLastVersion().getVersionNumber()))
                   
   
         content=newContent           content=newContent 
         user=self.getActualUserName()          user=self.getActualUserName()
                   logging.debug(newContent)
         ob=manage_addCDLIBasketVersion(self,user,comment="",basketContent=newContent)          ob=manage_addCDLIBasketVersion(self,user,comment="",basketContent=newContent)
                   
         obj=self._getOb(ob.getId())          obj=self._getOb(ob.getId())
           logging.debug(repr(obj))
           logging.debug("done")
           logging.debug(obj.absolute_url())
         if RESPONSE:          if RESPONSE:
                          logging.debug("redirect")
             RESPONSE.redirect(obj.absolute_url())              RESPONSE.redirect(obj.absolute_url())
                   
         return obj          return obj
Line 1184  class CDLIBasket(Folder,CatalogAware): Line 1203  class CDLIBasket(Folder,CatalogAware):
                   
         return lv.getComment(),lv.getUser(),lv.getTime(),ret          return lv.getComment(),lv.getUser(),lv.getTime(),ret
   
     def changeBasket(self,ids,submit,RESPONSE=None,REQUEST=None):      def changeBasket(self,submit,ids=[],RESPONSE=None,REQUEST=None):
         """change a basket"""          """change a basket"""
         if submit=="update":          if submit=="update":
             self.updateObjects(ids,RESPONSE=RESPONSE,REQUEST=REQUEST)              self.updateObjects(ids,RESPONSE=RESPONSE,REQUEST=REQUEST)
Line 1549  class CDLIBasketVersion(Implicit,Persist Line 1568  class CDLIBasketVersion(Implicit,Persist
             
     def getObjUrl(self,result):      def getObjUrl(self,result):
         """getUrl of the version of the object"""          """getUrl of the version of the object"""
                 logging.debug("getObjUrl:"+result)
         founds=self.CDLICatalog.search({'title':result})          founds=self.CDLICatalog.search({'title':result})
         if len(founds)>0:          if len(founds)>0:
              return founds[0].getObject().getLastVersion().absolute_url()               logging.debug("getObjUrl: founds 1")
                logging.debug("getObjUrl:"+repr(founds[0].getObject()))
                #return founds[0].getObject().getLastVersion().absolute_url()
                return founds[0].getObject().absolute_url()
                     
         else: #assume version number          else: #assume version number
               logging.debug("getObjUrl: founds 2")
             splitted=result.split("_")              splitted=result.split("_")
             founds=self.CDLICatalog.search({'title':splitted[1]})                      founds=self.CDLICatalog.search({'title':splitted[1]})        
             return founds[0].getObject().getLastVersion().absolute_url()+'/'+result              return founds[0].getObject().getLastVersion().absolute_url()+'/'+result

Removed from v.1.6  
changed lines
  Added in v.1.7


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