def before_request(): from models.core import User if 'user_pk' in session: try: g.user = User.select().get(id=int(session['user_pk'])) except: g.user = None else: g.user = None
def login(): post = request.json username = post.get("username", None) password = post.get("password", None) user = User.select().filter(username=username).execute().first() if user: if user.check_password(password): session['logged_in'] = True session['user_pk'] = user.get_pk() session.permanent = True g.user = user return jsonify(success=True, is_admin=user.admin) else: return jsonify(success=False, msg="Wrong Password") else: return jsonify(success=False, msg="No such user")
def register(): if request.method == 'GET': return render_template('core/register.html', register=True) else: username = request.form.get('username', None) password = request.form.get('password', None) passwordr = request.form.get('passwordr', None) if not username or not password or not passwordr: return render_template('core/register.html', register=True, error='Can not be empty') if password != passwordr: return render_template('core/register.html', register=True, error='Password Not The Same') if User.select().filter(username=username).exists(): return render_template('core/register.html', register=True, error='User has exist') user = User.create(username=username, password=password) #user.set_password(password) #user.save() session['logged_in'] = True session['user_pk'] = user.get_pk() session.permanent = True g.user = user return redirect(url_for('core.index'))
def login_page(): if request.method == 'GET': return render_template('core/login.html', login=True, next=request.args.get('next', None)) else: username = request.form.get("username", None) password = request.form.get("password", None) next_url = request.form.get("next", None) user = User.select().filter(username=username).execute().first() if user: if user.check_password(password): session['logged_in'] = True session['user_pk'] = user.get_pk() session.permanent = True g.user = user if next_url: return redirect(next_url) return redirect(url_for('core.index')) else: return render_template('core/login.html', login=True, error='Password error') else: return render_template('core/login.html', login=True, error='No such user')