|
@@ -4,108 +4,12 @@ Simple flask thing
|
|
|
"""
|
|
|
|
|
|
from flask_login import login_required, login_user, logout_user
|
|
|
-from flask_menu import Menu, register_menu
|
|
|
+from flask_menu import register_menu
|
|
|
from flask import render_template, request, redirect, url_for, flash
|
|
|
from app import app, login_manager, db
|
|
|
from app.models import User
|
|
|
+from app.modules.static import Static
|
|
|
+from app.modules.backend import Backend
|
|
|
|
|
|
-Menu(app=app)
|
|
|
-
|
|
|
-
|
|
|
-@login_manager.user_loader
|
|
|
-def load_user(user_id):
|
|
|
- """Return user"""
|
|
|
- return User.query.get(user_id)
|
|
|
-
|
|
|
-
|
|
|
-@app.route("/login", methods=["GET", "POST"])
|
|
|
-def login():
|
|
|
- """Handle login page and data"""
|
|
|
- if request.method == 'POST':
|
|
|
- email = request.form['email']
|
|
|
- password = request.form['password']
|
|
|
- user = User.query.filter(User.email == email).first()
|
|
|
- if user is not None:
|
|
|
- if user.check_password(password):
|
|
|
- login_user(user, remember=True)
|
|
|
- flash('You were successfully logged in.', 'success')
|
|
|
- if request.args.get("next") is not None:
|
|
|
- return redirect(request.args.get("next"))
|
|
|
- return redirect(url_for('index'))
|
|
|
- else:
|
|
|
- flash('Incorrect password.', 'danger')
|
|
|
- else:
|
|
|
- flash('User not found.', 'danger')
|
|
|
-
|
|
|
- return redirect(url_for('login'))
|
|
|
- else:
|
|
|
- return render_template('user/login.html')
|
|
|
-
|
|
|
-
|
|
|
-@app.route("/register", methods=["POST"])
|
|
|
-def register():
|
|
|
- """Register a new user"""
|
|
|
- if request.method != "POST":
|
|
|
- return redirect(url_for('login'))
|
|
|
-
|
|
|
- if "name" not in request.form or not request.form['name']:
|
|
|
- flash('Fill in the name.', 'warning')
|
|
|
- return render_template('user/login.html')
|
|
|
-
|
|
|
- if "email" not in request.form or not request.form['email']:
|
|
|
- flash('Fill in the email.', 'warning')
|
|
|
- return render_template('user/login.html', name=request.form['name'])
|
|
|
-
|
|
|
- if "password" not in request.form or not request.form['password']:
|
|
|
- flash('Fill in the password.', 'warning')
|
|
|
- return render_template(
|
|
|
- 'user/login.html',
|
|
|
- name=request.form['name'],
|
|
|
- email=request.form['email']
|
|
|
- )
|
|
|
-
|
|
|
- user = User.query.filter(User.name == request.form['name']).first()
|
|
|
- if user is None:
|
|
|
- flash('Name not found.', 'warning')
|
|
|
- return render_template(
|
|
|
- 'user/login.html',
|
|
|
- name=request.form['name'],
|
|
|
- email=request.form['email']
|
|
|
- )
|
|
|
-
|
|
|
- if user.email is not None:
|
|
|
- flash('User already taken.', 'warning')
|
|
|
- return render_template(
|
|
|
- 'user/login.html',
|
|
|
- name=request.form['name'],
|
|
|
- email=request.form['email']
|
|
|
- )
|
|
|
-
|
|
|
- user.email = request.form['email']
|
|
|
- user.password = request.form['password']
|
|
|
-
|
|
|
- db.session.commit()
|
|
|
- login_user(user, remember=True)
|
|
|
- flash('Succesfully registered account "%s".' % (user.name), 'success')
|
|
|
-
|
|
|
- if request.args.get("next") is not None:
|
|
|
- return redirect(request.args.get("next"))
|
|
|
- else:
|
|
|
- return redirect(url_for('index'))
|
|
|
-
|
|
|
-
|
|
|
-@app.route("/logout")
|
|
|
-@login_required
|
|
|
-def logout():
|
|
|
- """Logout function for users"""
|
|
|
- logout_user()
|
|
|
- flash('succesfully logged out.', 'success')
|
|
|
- return redirect(url_for('login'))
|
|
|
-
|
|
|
-
|
|
|
-@app.route('/')
|
|
|
-@register_menu(app, '.', 'Home')
|
|
|
-def index():
|
|
|
- """Show homepage"""
|
|
|
-
|
|
|
- return render_template('site/index.html')
|
|
|
+app.register_blueprint(Static)
|
|
|
+app.register_blueprint(Backend, url_prefix='/backend')
|