Fix missing session rollback on commit error

This commit is contained in:
Ozzieisaacs
2020-12-07 19:53:34 +01:00
parent f13522559d
commit 5e3618716d
8 changed files with 208 additions and 62 deletions
+9 -2
View File
@@ -32,6 +32,7 @@ from flask_dance.contrib.github import make_github_blueprint, github
from flask_dance.contrib.google import make_google_blueprint, google
from flask_login import login_user, current_user
from sqlalchemy.orm.exc import NoResultFound
from sqlalchemy.exc import OperationalError
from . import constants, logger, config, app, ub
from .web import login_required
@@ -104,12 +105,18 @@ if ub.oauth_support:
oauthProvider.provider_name = "github"
oauthProvider.active = False
g.ubsession.add(oauthProvider)
g.ubsession.commit()
try:
g.ubsession.commit()
except OperationalError:
g.ubsession.rollback()
oauthProvider = ub.OAuthProvider()
oauthProvider.provider_name = "google"
oauthProvider.active = False
g.ubsession.add(oauthProvider)
g.ubsession.commit()
try:
g.ubsession.commit()
except OperationalError:
g.ubsession.rollback()
oauth_ids = g.ubsession.query(ub.OAuthProvider).all()
ele1 = dict(provider_name='github',