first quick pass of user menu in navbar which shows simple read only prefs content, and a logout option that works
This commit is contained in:
23
main.py
23
main.py
@@ -14,7 +14,7 @@ from shared import CreateSelect, CreateFoldersSelect, LocationIcon, DB_URL, PROD
|
||||
|
||||
# for ldap auth
|
||||
from flask_ldap3_login import LDAP3LoginManager
|
||||
from flask_login import LoginManager, login_user, login_required, UserMixin, current_user
|
||||
from flask_login import LoginManager, login_user, login_required, UserMixin, current_user, logout_user
|
||||
from flask_ldap3_login.forms import LDAPLoginForm
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ app.jinja_env.globals['CreateSelect'] = CreateSelect
|
||||
app.jinja_env.globals['CreateFoldersSelect'] = CreateFoldersSelect
|
||||
app.jinja_env.globals['LocationIcon'] = LocationIcon
|
||||
app.jinja_env.globals['NEWEST_LOG_LIMIT'] = NEWEST_LOG_LIMIT
|
||||
app.jinja_env.globals['current_user'] = current_user
|
||||
|
||||
|
||||
# Declare a User Loader for Flask-Login.
|
||||
@@ -132,9 +133,29 @@ def login():
|
||||
|
||||
return render_template("login.html", form=form)
|
||||
|
||||
@app.route('/logout')
|
||||
@login_required
|
||||
def logout():
|
||||
logout_user()
|
||||
return redirect('/login')
|
||||
|
||||
if __name__ == "__main__":
|
||||
if hostname == PROD_HOST:
|
||||
app.run(ssl_context=('/etc/letsencrypt/live/pa.depaoli.id.au/cert.pem', '/etc/letsencrypt/live/pa.depaoli.id.au/privkey.pem'), host="0.0.0.0", debug=False)
|
||||
else:
|
||||
app.run(host="0.0.0.0", debug=True)
|
||||
|
||||
###############################################################################
|
||||
# This func creates a new filter in jinja2 to test to hand back the username
|
||||
# from the ldap dn
|
||||
################################################################################
|
||||
@app.template_filter('Username')
|
||||
def _jinja2_filter_parentpath(dn):
|
||||
|
||||
# pull apart a dn (uid=xxx,dn=yyy,etc), and return the xxx
|
||||
username=str(dn)
|
||||
s=username.index('=')
|
||||
s+=1
|
||||
f=username.index(',')
|
||||
return username[s:f]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user