Transaction management added for one example. All tests passing.

This commit is contained in:
Nicholas Staples
2016-03-23 16:30:47 +00:00
parent f76af9acb7
commit 3a59c75257
4 changed files with 22 additions and 15 deletions

View File

@@ -26,7 +26,6 @@ def dao_create_service(service, user):
permission_dao.add_default_service_permissions_for_user(user, service)
db.session.add(service)
except Exception as e:
# Proper clean up
db.session.rollback()
raise e
else:
@@ -38,10 +37,17 @@ def dao_update_service(service):
db.session.commit()
def dao_add_user_to_service(service, user):
service.users.append(user)
db.session.add(service)
db.session.commit()
def dao_add_user_to_service(service, user, permissions=[]):
try:
from app.dao.permissions_dao import permission_dao
service.users.append(user)
permission_dao.set_user_service_permission(user, service, permissions, _commit=False)
db.session.add(service)
except Exception as e:
db.session.rollback()
raise e
else:
db.session.commit()
def dao_remove_user_from_service(service, user):
@@ -51,7 +57,6 @@ def dao_remove_user_from_service(service, user):
service.users.remove(user)
db.session.add(service)
except Exception as e:
# Proper clean up
db.session.rollback()
raise e
else: