1
0
mirror of https://github.com/mail-in-a-box/mailinabox.git synced 2025-04-20 02:52:11 +00:00

Updated UI so navbar links only show for logged in

This commit is contained in:
Tyler Engelhardt 2019-09-01 00:01:45 -04:00
parent 5aeced5c2e
commit f5d94c3dcd
2 changed files with 42 additions and 29 deletions

View File

@ -31,6 +31,9 @@ with open(os.path.join(os.path.dirname(me), "csr_country_codes.tsv")) as f:
app = Flask(__name__, template_folder=os.path.abspath(os.path.join(os.path.dirname(me), "templates")))
# Variable to determine if the user is logged in, for UI
is_logged_in = False
# Decorator to protect views that require a user with 'admin' privileges.
def authorized_personnel_only(viewfunc):
@wraps(viewfunc)
@ -49,6 +52,8 @@ def authorized_personnel_only(viewfunc):
# Authorized to access an API view?
if "admin" in privs:
# User is now logged in
is_logged_in = True
# Call view func.
return viewfunc(*args, **kwargs)
elif not error:
@ -109,6 +114,8 @@ def index():
no_users_exist=no_users_exist,
no_admins_exist=no_admins_exist,
is_logged_in=is_logged_in
backup_s3_hosts=backup_s3_hosts,
csr_country_codes=csr_country_codes,
)

View File

@ -82,6 +82,7 @@
<a class="navbar-brand" href="#">{{hostname}}</a>
</div>
<div class="navbar-collapse collapse">
{% if is_logged_in %}
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">System <b class="caret"></b></a>
@ -110,6 +111,11 @@
<ul class="nav navbar-nav navbar-right">
<li><a href="#" onclick="do_logout(); return false;" style="color: white">Log out</a></li>
</ul>
{% else %}
<ul class="nav navbar-nav navbar-right">
<li><a href="#" onclick="return show_panel('login');" style="color: white">Log in</a></li>
</ul>
{% endif %}
</div><!--/.navbar-collapse -->
</div>
</div>