Closed vladimir-puzic closed 3 months ago
Issue fixed in commit a82ee4b
MainMenu > MenuTransactionManagement > MenuDeleteTransactions > DeleteTransactionAll
The DeleteTransactionAll class was executing the db_delete_transactions_all function on startup, without any user input. Upon checking the class, I noticed that in the line that defined the self._function, there were brackets along with the db_delete_transactions_all name, which caused the function to run when the class was defined.
Same root cause as for issue #7
Original: class DeleteTransactionAll(MenuItem): def init(self) -> None: super().init() self._header = 'Delete All Transactions' self._function = session.db_delete_transactions_all()
Fixed: class DeleteTransactionAll(MenuItem): def init(self) -> None: super().init() self._header = 'Delete All Transactions' self._function = session.db_delete_transactions_all
ERROR: Enter DB name: test Connect to DB 'test'? 1 - yes 0 - no 1 Connected to DB 'test' Traceback (most recent call last): File "e:\PROJECTS\pos_software\database_session.py", line 1020, in
menu = MainMenu()
^^^^^^^^^^
File "e:\PROJECTS\pos_software\database_session.py", line 246, in init
1: MenuTransactionManagement(),
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "e:\PROJECTS\pos_software\database_session.py", line 269, in init
3: MenuDeleteTransactions(),
^^^^^^^^^^^^^^^^^^^^^^^^
File "e:\PROJECTS\pos_software\database_session.py", line 306, in init
2: DeleteTransactionAll(),
^^^^^^^^^^^^^^^^^^^^^^
File "e:\PROJECTS\pos_software\database_session.py", line 423, in init
self._function = session.db_delete_transactions_all()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "e:\PROJECTS\pos_software\database_session.py", line 172, in db_delete_transactions_all
self.cursor.execute(f"DELETE FROM Transactions")
sqlite3.OperationalError: no such table: Transactions