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 |