treewide: rollback if commit was unsuccessful
This commit is contained in:
@@ -167,4 +167,5 @@ much money you're due in credits for the purchase when prompted.\n"""
|
||||
for user in self.users:
|
||||
print(f"User {user.name}'s credit is now {user.credit:d}")
|
||||
except sqlalchemy.exc.SQLAlchemyError as e:
|
||||
self.sql_session.rollback()
|
||||
print(f"Could not perform transaction: {e}")
|
||||
|
||||
@@ -187,6 +187,7 @@ When finished, write an empty line to confirm the purchase.\n"""
|
||||
try:
|
||||
self.sql_session.commit()
|
||||
except sqlalchemy.exc.SQLAlchemyError as e:
|
||||
self.sql_session.rollback()
|
||||
print(f"Could not store purchase: {e}")
|
||||
else:
|
||||
print("Purchase stored.")
|
||||
|
||||
@@ -35,6 +35,7 @@ class AddUserMenu(Menu):
|
||||
self.sql_session.commit()
|
||||
print(f"User {username} stored")
|
||||
except sqlalchemy.exc.IntegrityError as e:
|
||||
self.sql_session.rollback()
|
||||
print(f"Could not store user {username}: {e}")
|
||||
self.pause()
|
||||
|
||||
@@ -74,6 +75,7 @@ user, then rfid (write an empty line to remove the card number or rfid).
|
||||
self.sql_session.commit()
|
||||
print(f"User {user.name} stored")
|
||||
except sqlalchemy.exc.SQLAlchemyError as e:
|
||||
self.sql_session.rollback()
|
||||
print(f"Could not store user {user.name}: {e}")
|
||||
self.pause()
|
||||
|
||||
@@ -93,6 +95,7 @@ class AddProductMenu(Menu):
|
||||
self.sql_session.commit()
|
||||
print(f"Product {name} stored")
|
||||
except sqlalchemy.exc.SQLAlchemyError as e:
|
||||
self.sql_session.rollback()
|
||||
print(f"Could not store product {name}: {e}")
|
||||
self.pause()
|
||||
|
||||
@@ -141,6 +144,7 @@ class EditProductMenu(Menu):
|
||||
self.sql_session.commit()
|
||||
print(f"Product {product.name} stored")
|
||||
except sqlalchemy.exc.SQLAlchemyError as e:
|
||||
self.sql_session.rollback()
|
||||
print(f"Could not store product {product.name}: {e}")
|
||||
self.pause()
|
||||
return
|
||||
@@ -175,6 +179,7 @@ class AdjustStockMenu(Menu):
|
||||
print("Stock is now stored")
|
||||
self.pause()
|
||||
except sqlalchemy.exc.SQLAlchemyError as e:
|
||||
self.sql_session.rollback()
|
||||
print(f"Could not store stock: {e}")
|
||||
self.pause()
|
||||
return
|
||||
@@ -211,6 +216,7 @@ class CleanupStockMenu(Menu):
|
||||
print("New stocks are now stored.")
|
||||
self.pause()
|
||||
except sqlalchemy.exc.SQLAlchemyError as e:
|
||||
self.sql_session.rollback()
|
||||
print(f"Could not store stock: {e}")
|
||||
self.pause()
|
||||
return
|
||||
|
||||
@@ -36,6 +36,7 @@ class TransferMenu(Menu):
|
||||
print(f"User {user2}'s credit is now {user2.credit:d} kr")
|
||||
print(f"Comment: {comment}")
|
||||
except sqlalchemy.exc.SQLAlchemyError as e:
|
||||
self.sql_session.rollback()
|
||||
print(f"Could not perform transfer: {e}")
|
||||
# self.pause()
|
||||
|
||||
@@ -171,6 +172,7 @@ class AdjustCreditMenu(Menu):
|
||||
self.sql_session.commit()
|
||||
print(f"User {user.name}'s credit is now {user.credit:d} kr")
|
||||
except sqlalchemy.exc.SQLAlchemyError as e:
|
||||
self.sql_session.rollback()
|
||||
print(f"Could not store transaction: {e}")
|
||||
# self.pause()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user