def moveObject(self, msgHeader, msgOldparent, msgNewparent, msgObjectOid): """ an object should be moved """ print "moveObject" print "msgHeader: %s" % msgHeader print "msgOldparent: %s" % msgOldparent print "msgNewparent: %s" % msgNewparent print "msgObjectOid: %s" % msgObjectOid my_catalog = zapi.getUtility(ICatalog) newParentObj = None if not msgNewparent: # in root-folder of slave res = my_catalog.searchResults(oid_index=msgHeader['from_oid']) if len(res) > 0: newParentObj = iter(res).next() else: res = my_catalog.searchResults(oid_index=msgNewparent) if len(res) > 0: newParentObj = iter(res).next() objToMove = None res = my_catalog.searchResults(oid_index=msgObjectOid) if len(res) > 0: objToMove = iter(res).next() if objToMove and newParentObj: mover = IObjectMover(objToMove) if mover.moveableTo(newParentObj): mover.moveTo(newParentObj) else: raise Exception, "object not movable to new parent"
def test_moveableTo(self): # A file should be moveable to a folder that has an # object with the same id. root = self.rootFolder container = traverse(root, 'folder1') container['file1'] = File() file = traverse(root, 'folder1/file1') mover = IObjectMover(file) self.failUnless(mover.moveableTo(container, 'file1'))