mirror of
https://github.com/Xevion/v1.xevion.dev.git
synced 2025-12-13 00:13:28 -06:00
fixed role wrapper/decorator, adding dashboard profile init
This commit is contained in:
@@ -16,29 +16,31 @@ fake = faker.Faker()
|
|||||||
|
|
||||||
def strgen(length): return ''.join(random.choices(list(string.ascii_letters), k=length))
|
def strgen(length): return ''.join(random.choices(list(string.ascii_letters), k=length))
|
||||||
|
|
||||||
def require_role(func, roles=[]):
|
def require_role(roles=["User"]):
|
||||||
def auth(*args, **kwargs):
|
def wrap(func):
|
||||||
|
def run(*args, **kwargs):
|
||||||
if current_user.is_authenticated:
|
if current_user.is_authenticated:
|
||||||
if current_user.has_roles(roles):
|
if current_user.has_roles(roles):
|
||||||
return func(*args, **kwargs)
|
return func(*args, **kwargs)
|
||||||
return abort(401)
|
return abort(401)
|
||||||
return auth
|
return run
|
||||||
|
return wrap
|
||||||
@app.route('/api')
|
|
||||||
@login_required
|
|
||||||
@require_role
|
|
||||||
def api():
|
|
||||||
return 'fuckoff'
|
|
||||||
|
|
||||||
@app.errorhandler(401)
|
@app.errorhandler(401)
|
||||||
def unauthorized(e):
|
def unauthorized(e):
|
||||||
return redirect(url_for('login'))
|
return redirect(url_for('login'))
|
||||||
|
|
||||||
@app.route('/dashboard')
|
@app.route('/dashboard')
|
||||||
|
@login_required
|
||||||
def dashboard():
|
def dashboard():
|
||||||
return ''
|
render_template('dashboard.html')
|
||||||
|
|
||||||
@app.route('/userinfo')
|
@app.route('/profile/')
|
||||||
|
@login_required
|
||||||
|
def profile():
|
||||||
|
render_template('profile.html')
|
||||||
|
|
||||||
|
@app.route('/userinfo/')
|
||||||
def user_info():
|
def user_info():
|
||||||
prepare = {
|
prepare = {
|
||||||
'id' : current_user.get_id(),
|
'id' : current_user.get_id(),
|
||||||
@@ -63,7 +65,7 @@ def index():
|
|||||||
for _ in range(10)]
|
for _ in range(10)]
|
||||||
return render_template('index.html', content=content)
|
return render_template('index.html', content=content)
|
||||||
|
|
||||||
@app.route('/register', methods=['GET', 'POST'])
|
@app.route('/register/', methods=['GET', 'POST'])
|
||||||
def register():
|
def register():
|
||||||
if current_user.is_authenticated:
|
if current_user.is_authenticated:
|
||||||
return redirect(url_for('index'))
|
return redirect(url_for('index'))
|
||||||
@@ -77,7 +79,7 @@ def register():
|
|||||||
return redirect(url_for('login'))
|
return redirect(url_for('login'))
|
||||||
return render_template('register.html', title='Register', form=form, hideRegister=True)
|
return render_template('register.html', title='Register', form=form, hideRegister=True)
|
||||||
|
|
||||||
@app.route('/login', methods=['GET', 'POST'])
|
@app.route('/login/', methods=['GET', 'POST'])
|
||||||
def login():
|
def login():
|
||||||
if current_user.is_authenticated:
|
if current_user.is_authenticated:
|
||||||
return redirect(url_for('index'))
|
return redirect(url_for('index'))
|
||||||
@@ -94,7 +96,7 @@ def login():
|
|||||||
return redirect(next_page)
|
return redirect(next_page)
|
||||||
return render_template('login.html', title='Login', form=form, hideLogin=True)
|
return render_template('login.html', title='Login', form=form, hideLogin=True)
|
||||||
|
|
||||||
@app.route('/logout')
|
@app.route('/logout/')
|
||||||
def logout():
|
def logout():
|
||||||
logout_user()
|
logout_user()
|
||||||
return redirect(url_for('index'))
|
return redirect(url_for('index'))
|
||||||
|
|||||||
1
app/templates/dashboard.html
Normal file
1
app/templates/dashboard.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{% extends 'base.html' %}
|
||||||
1
app/templates/profile.html
Normal file
1
app/templates/profile.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{% extends 'base.html' %}
|
||||||
Reference in New Issue
Block a user