diff --git a/CHANGELOG.md b/CHANGELOG.md index 46506c5..409cb34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * Improved repository with better README, CHANGELOG, requirements.txt and option to specify port on run_example.py * Split app config from app module. * Added the capability to specify post privacy. Now you can choose to post your message to the public, to friends (mutual followers) or only you. +* Now Python 3 is enforced. ## 0.3 diff --git a/app.py b/app.py index b780020..fa62d32 100644 --- a/app.py +++ b/app.py @@ -391,7 +391,7 @@ def register(): # mark the user as being 'authenticated' by setting the session vars auth_user(user) - return redirect(url_for('homepage')) + return redirect(request.args.get('next','/')) except IntegrityError: flash('That username is already taken') @@ -402,23 +402,27 @@ def register(): def login(): if request.method == 'POST' and request.form['username']: try: + username = request.form['username'] pw_hash = pwdhash(request.form['password']) - user = User.get( - (User.username == request.form['username']) & - (User.password == pw_hash)) + if '@' in username: + user = User.get(User.email == username) + else: + user = User.get(User.username == username) + if user.password != pw_hash: + flash('The password entered is incorrect.') + return render_template('login.html') except User.DoesNotExist: - flash('The password entered is incorrect') + flash('A user with this username or email does not exist.') else: auth_user(user) - return redirect(url_for('homepage')) - + return redirect(request.args.get('next', '/')) return render_template('login.html') @app.route('/logout/') def logout(): session.pop('logged_in', None) flash('You were logged out') - return redirect(url_for('homepage')) + return redirect(request.args.get('next','/')) @app.route('/+/') def user_detail(username): diff --git a/templates/login.html b/templates/login.html index 45207ef..ef76e39 100644 --- a/templates/login.html +++ b/templates/login.html @@ -2,13 +2,13 @@ {% block body %}

Login

{% if error %}

Error: {{ error }}{% endif %} -

+
-
Username: -
+
Username or email: +
Password: -
-
+
+
{% endblock %}