Add registering using Github

This commit is contained in:
rubenwardy 2018-03-24 02:35:58 +00:00
parent bb9d589fb5
commit 6be5b3eb42
2 changed files with 17 additions and 2 deletions

View File

@ -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 %}

View File

@ -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: