version 1.0 + dropdown menu

This commit is contained in:
2023-01-20 16:33:47 +01:00
parent d71f49a518
commit 96e62ea389
5 changed files with 37 additions and 19 deletions

View File

@@ -127,21 +127,20 @@ h5 {
color: #f4511e !important;
}
.navbar-nav li.active a {
color: #000 !important;
background-color: #29292c !important;
color: #f4511e !important;
}
.navbar-default .navbar-toggle {
border-color: transparent;
}
.open .dropdown-toggle {
color: #fff;
background-color: #555 !important;
background-color: #ffffff !important;
}
.dropdown-menu li a {
color: #000 !important;
}
.dropdown-menu li a:hover {
background-color: red !important;
background-color: #ffffff !important;
}
.menu-item {
font-size: 16px !important;

View File

@@ -39,9 +39,20 @@
<ul class="nav navbar-nav navbar-right">
<li><a href="{{ request.route_url('blog_search') }}" title="Recherche"><span class="glyphicon glyphicon-search"></span></a></li>
{% if request.authenticated_userid %}
<li><a href="{{request.route_url('settings')}}" title="Paramères"><span class="glyphicon glyphicon-cog"></span></a></li>
<li><a href="{{request.route_url('logout')}}" title="Déconnexion">
{{request.authenticated_userid}}&nbsp;<span class="glyphicon glyphicon-log-out"></span></a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">{{request.authenticated_userid}}
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
{% if request.authenticated_userid == 'admin' %}
<li><a href="{{request.route_url('users')}}">
<span class="glyphicon glyphicon-user"></span></span>&nbsp;&nbsp;Utilisateurs</a></li>
{% endif %}
<li><a href="{{request.route_url('settings')}}" title="Paramères">
<span class="glyphicon glyphicon-cog"></span></span>&nbsp;&nbsp;Paramètres</a></li>
<li><a href="{{ request.route_url('logout') }}"><span class="glyphicon glyphicon-log-out"></span>&nbsp;&nbsp;Se déconnecter</a></li>
</ul>
</li>
{% else %}
<!-- si anonyme, lien pour se connecter -->
<li><a href="{{request.route_url('login')}}" title="Connexion"><span class="glyphicon glyphicon-log-in"></span></a></li>

View File

@@ -6,7 +6,7 @@
<br>
<div class="col-md-offset-4 col-md-5 well">
<form action="{{request.route_url('login')}}" method="post">
<form action="{{ login_url }}" method="post">
<h2>Se connecter</h2>
<div class="form-group">

View File

@@ -139,24 +139,33 @@ def settings(request):
}
@view_config(route_name='login',
renderer='cao_blogr:templates/login.jinja2')
@view_config(route_name='login', renderer='cao_blogr:templates/login.jinja2')
@forbidden_view_config(renderer='cao_blogr:templates/login.jinja2')
def login(request):
username = request.POST.get('username')
login_url = request.route_url('login')
referrer = request.url
if referrer == login_url:
referrer = '/' # never use the login form itself as came_from
came_from = request.params.get('came_from', referrer)
username = request.POST.get('username')
userpwd = request.POST.get('password')
if username:
user = UserService.by_name(request, username)
if user and user.verify_password(request.POST.get('password')):
headers = remember(request, user.name)
if user and user.verify_password(userpwd):
headers = remember(request, username)
request.session.flash("Bonjour %s, Bienvenue sur le site !" % username, 'success')
return HTTPFound(location=request.route_url('home'), headers=headers)
return HTTPFound(location=came_from, headers=headers)
else:
headers = forget(request)
request.session.flash("Login et mot de passe invalides. La connexion a échoué.", "danger")
return {
'page_title': "",
'came_from': came_from,
'login_url': login_url,
}
@@ -167,8 +176,7 @@ def logout(request):
return HTTPFound(location=request.route_url('home'), headers=headers)
@view_config(route_name='users',
renderer='cao_blogr:templates/users.jinja2', permission='manage')
@view_config(route_name='users', renderer='cao_blogr:templates/users.jinja2', permission='manage')
def users(request):
# get all users
users = UserService.all(request)