aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/templates/flask_user/login.html4
-rw-r--r--app/views/githublogin.py15
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: