[Zapp-cvs-commit] ZApp README.txt,1.2,1.3 ZApp_RelationshipManager.py,1.6,1.7
Brought to you by:
sspickle
|
From: Steve S. <ssp...@us...> - 2006-01-01 23:01:19
|
Update of /cvsroot/zapp/ZApp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11222 Modified Files: README.txt ZApp_RelationshipManager.py Log Message: fixed bug in removeObjects of relationship manager. Added test. Index: README.txt =================================================================== RCS file: /cvsroot/zapp/ZApp/README.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** README.txt 7 Apr 2003 01:36:14 -0000 1.2 --- README.txt 1 Jan 2006 23:01:01 -0000 1.3 *************** *** 5,9 **** You can import "ZApp_TestApps.zexp" from tests/import into the root of a Zope instance, and ! then run the 'doCreateSchema' lever on the Gadfly, and postgres databases you want to use for testing. --- 5,9 ---- You can import "ZApp_TestApps.zexp" from tests/import into the root of a Zope instance, and ! then run the 'doCreateSchema' lever on the Gadfly, postgres, or MySQL databases you want to use for testing. Index: ZApp_RelationshipManager.py =================================================================== RCS file: /cvsroot/zapp/ZApp/ZApp_RelationshipManager.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ZApp_RelationshipManager.py 28 Mar 2004 22:14:47 -0000 1.6 --- ZApp_RelationshipManager.py 1 Jan 2006 23:01:01 -0000 1.7 *************** *** 66,71 **** --- 66,73 ---- o2Type='' + o2ID='' if object2: o2Type=object2.objectType + o2ID=object2.getId() elif object2Type: o2Type=object2Type *************** *** 90,96 **** rItems = rItemsMan.ZApp_getItems(objectID=object1.getPrimaryKeyValue(), objectManager=object1.Manager, roleID=role1ID) ! self.removeObjectRelations( rItems = rItems, role1ID = role1ID, role2ID = role2ID, o2Type = o2Type, o2Manager = o2Manager) ! def removeObjectRelations(self, rItemIDs=None, rItems=None, role1ID='', role2ID='', o2Type='', o2Manager=''): """ remove the relationships with the given relationship items, or relationship item ids.. --- 92,98 ---- rItems = rItemsMan.ZApp_getItems(objectID=object1.getPrimaryKeyValue(), objectManager=object1.Manager, roleID=role1ID) ! self.removeObjectRelations( rItems = rItems, role1ID = role1ID, role2ID = role2ID, o2Type = o2Type, o2Manager = o2Manager, o2ID=o2ID) ! def removeObjectRelations(self, rItemIDs=None, rItems=None, role1ID='', role2ID='', o2Type='', o2Manager='', o2ID=''): """ remove the relationships with the given relationship items, or relationship item ids.. *************** *** 107,111 **** for rItem1 in rItems: theRID=rItem1.relationshipID ! for rItem2 in rItemsMan.ZApp_getItems(relationshipID=theRID, objectManager=o2Manager, roleID=role2ID): if rItem2.id != rItem1.id: if o2Type: --- 109,114 ---- for rItem1 in rItems: theRID=rItem1.relationshipID ! foundPartner=0 ! for rItem2 in rItemsMan.ZApp_getItems(relationshipID=theRID, objectManager=o2Manager, roleID=role2ID, objectID=o2ID): if rItem2.id != rItem1.id: if o2Type: *************** *** 114,131 **** if theObject.objectType != o2Type: continue rItem2.manage_delete() ! rItem1.manage_delete() ! self.commit_subtransaction() ! ! rItemsLeft = rItemsMan.ZApp_getItems(relationshipID=theRID) ! if len(rItemsLeft) < 2: ! for ri in rItemsLeft: ! ri.manage_delete() ! ! relation = self.getItem(theRID) ! if relation: ! relation.manage_delete() def getObjectRelations(self, anObject, objectTypes=None, objectRoles=None, selfRoles=None, returnObjects=0): --- 117,141 ---- if theObject.objectType != o2Type: continue + elif o2ID: + theObject = rItem2.getObject() + if theObject: + if theObject.getId() != o2ID: + continue rItem2.manage_delete() + foundPartner=1 ! if foundPartner: ! rItem1.manage_delete() ! self.commit_subtransaction() ! ! rItemsLeft = rItemsMan.ZApp_getItems(relationshipID=theRID) ! if len(rItemsLeft) < 2: ! for ri in rItemsLeft: ! ri.manage_delete() ! ! relation = self.getItem(theRID) ! if relation: ! relation.manage_delete() def getObjectRelations(self, anObject, objectTypes=None, objectRoles=None, selfRoles=None, returnObjects=0): |