Skip to content

Commit

Permalink
Merge pull request #167 from QGEP/2024-10-11-fix-rollback_session
Browse files Browse the repository at this point in the history
2024-10-11-fix-rollback_session
  • Loading branch information
ponceta authored Oct 14, 2024
2 parents bb551e2 + 2641b37 commit 91e152b
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions qgepqwat2ili/gui/gui_import.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,23 @@ def refresh_editor(self, editor):
self.stackedWidget.addWidget(editor.widget)
self.stackedWidget.setCurrentWidget(editor.widget)

def rollback_session(self, emessage):
self.session.rollback()

iface.messageBar().pushMessage(
"Error", "An error occurred: rollback_session activated!", level=Qgis.Warning
)

if emessage is None:
iface.messageBar().pushMessage("Error", "Import was canceled", level=Qgis.Warning)
else:
iface.messageBar().pushMessage(
"Error", f"An error occurred: {emessage}", level=Qgis.Warning
)
iface.messageBar().pushMessage("Error", "Import was canceled", level=Qgis.Warning)

self.session.close()

def commit_session(self):
# TODO : rollback to pre-commit state, allowing user to try to fix issues
# probably a matter of creating a savepoint before saving with
Expand All @@ -230,9 +247,8 @@ def commit_session(self):
try:
self.session.commit()
except Exception as e:
self.session.rollback_session()
iface.messageBar().pushMessage("Error", f"An error occurred: {e}", level=Qgis.Warning)
iface.messageBar().pushMessage("Error", "Import was canceled", level=Qgis.Warning)
self.rollback_session(e)

finally:
self.session.close()

Expand Down

0 comments on commit 91e152b

Please sign in to comment.