diff --git a/app/controllers/project.py b/app/controllers/project.py index be3dd412f7a8f60ff4b1ec64c66311d3df412063..ed82fb70bed53eac1c00c04e5dbffe28ea5a53df 100644 --- a/app/controllers/project.py +++ b/app/controllers/project.py @@ -71,6 +71,7 @@ class ProjectController(RestController): 'When embedding a client in a salesforce project, please ' + 'include its salesforce id.') if client: + client_data.update({'id': client.id}) client = ClientController().put(client.id, client_data, {}) else: client = ClientController().post(client_data, {}) @@ -89,12 +90,14 @@ class ProjectController(RestController): address = place.address if place else None if address: + address_data.update({'id': address.id}) address = AddressController().put(address.id, address_data, {}) else: address = AddressController().post(address_data, {}) place_data.update({'address_id': address.id}) if place: + place_data.update({'id': place.id}) place = PlaceController().put(place.id, place_data, {}) else: place = PlaceController().post(place_data, {}) @@ -119,6 +122,7 @@ class ProjectController(RestController): contact_data['sales_force_id'])\ .first() if contact: + contact_data.update({'id':contact.id}) contact = ContactController().put( contact.id, contact_data, {}) else: diff --git a/app/tests/test_project.py b/app/tests/test_project.py index fbe0a6207f753a6b33cae3196b0a4e9e02d71698..80834ef529477201443b2263a4e77298872f3ec2 100644 --- a/app/tests/test_project.py +++ b/app/tests/test_project.py @@ -236,6 +236,7 @@ class TestSalesForceProject(UnprotectedRestTestCase): """Tests /project/?form=salesforce POST with a modified client.""" client = self.env.client client_data = client.get_dictionary() + client_data.pop('id') client_data.update({'name': 'foo'}) place = self.env.place data = { @@ -327,9 +328,12 @@ class TestSalesForceProject(UnprotectedRestTestCase): """ place = self.env.place place_data = place.get_dictionary() + place_data.pop('id') new_place_data = {'name': 'foo'} place_data.update(new_place_data) address_data = place.address.get_dictionary() + address_data.pop('id') + new_address_data = { 'street_address': '111 N Fake St', 'city': 'Raleigh', @@ -445,6 +449,7 @@ class TestSalesForceProject(UnprotectedRestTestCase): place = self.env.place contact = self.env.contact contact_data = contact.get_dictionary() + contact_data.pop('id') contact_data.update({'name': 'foo'}) data = { 'sales_force_id': 'test',