diff options
-rw-r--r-- | app/templates/flask_user/login.html | 4 | ||||
-rw-r--r-- | app/views/githublogin.py | 15 |
2 files changed, 17 insertions, 2 deletions
diff --git a/app/templates/flask_user/login.html b/app/templates/flask_user/login.html index 3d36c20..c19f1f3 100644 --- a/app/templates/flask_user/login.html +++ b/app/templates/flask_user/login.html @@ -67,6 +67,10 @@ Sign in <aside class="box box_grey"> <h2>New here?</h2> + <div class="box box_grey alert alert-error"> + Please use Github login instead! + </div> + {% if user_manager.enable_register and not user_manager.require_invitation %} <a href="{{ url_for('github_signin_page') }}">{%trans%}Create an account{%endtrans%}</a> {% endif %} diff --git a/app/views/githublogin.py b/app/views/githublogin.py index f04e8de..30cb61f 100644 --- a/app/views/githublogin.py +++ b/app/views/githublogin.py @@ -24,6 +24,9 @@ def _do_login_user(user, remember_me=False): return False user.active = True + if not user.rank.atLeast(UserRank.NEW_MEMBER): + user.rank = UserRank.NEW_MEMBER + db.session.commit() # Check if user account has been disabled @@ -91,8 +94,16 @@ def github_authorized(oauth_token): # If not logged in, log in else: if userByGithub is None: - flash("Authorization failed [err=gh-no-such-account]", "danger") - return redirect(url_for("user.login")) + newUser = User(username) + newUser.github_username = username + db.session.add(newUser) + db.session.commit() + + if not _login_user(newUser): + raise Exception("Unable to login as user we just created") + + flash("Created an account", "success") + return redirect(url_for("user_profile_page", username=username)) elif _login_user(userByGithub): return redirect(next_url or url_for("home_page")) else: |