pfidp/users_admin: list all users

This commit is contained in:
Thomas NOËL 2014-01-17 11:57:15 +01:00
parent 4488d6a119
commit 6eeb61de5c
3 changed files with 78 additions and 2 deletions

View File

@ -90,7 +90,8 @@
<option value="desactivate">Désactiver les utilisateurs choisis</option>
<option value="activate">Activer les utilisateurs choisis</option>
<option value="delete">Supprimer les utilisateurs choisis</option>
<option value="csv">Exporter la liste en CSV</option>
<option value="read">Afficher les utilisateurs choisis</option>
<option value="csv">Exporter en CSV les utilisateurs choisis</option>
<!-- option value="expire">Changer la date d'expiration des utilisateurs choisis</option -->
</select>
</div>

View File

@ -0,0 +1,71 @@
{% load staticfiles %}<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Utilisateurs UnivNautes</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link href="{% static "bootstrap/css/bootstrap.css" %}" rel="stylesheet">
<style>
body { padding-top: 60px; }
th { text-align: right; padding-right: 20px; vertical-align: top; }
.disabled { color: #ccc; }
ul.errorlist { list-style-type: none; margin: 0; }
ul.errorlist li { color: #f00; }
.helptext { font-size: 0.8em; font-style: italic; }
div.user-block {
position: relative;
margin: 15px 0;
padding: 0px 19px 14px;
background-color: #fff;
border: 2px solid #222;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
span.user-descr {
color: #777;
}
</style>
<link href="{% static "bootstrap/css/bootstrap-responsive.css" %}" rel="stylesheet">
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="{% static "html5shiv/js/html5shiv.js" %}></script>
<![endif]-->
<script type="text/javascript" src="{% static "jquery/js/jquery-1.10.2.min.js" %}"></script>
<script type="text/javascript" src="{% static "bootstrap/js/bootstrap.min.js" %}"></script>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<span class="brand">Utilisateurs IdP UnivNautes &mdash; {% now "j F Y H:i" %}</span>
</div>
</div>
</div>
<div class="container">
{% for user in users %}
<div class="user-block">
<h2>
Login : {{ user.name }}
{% if user.descr %}<span class="user-descr"> &mdash; {{ user.descr }}</span>{% endif %}
</h2>
{% if user.password %}<h4>Mot de passe : {{ user.password }}</h4>{% endif %}
<p>Expire le {{ user.expires }}</p>
</div>
{% endfor %}
</div>
</body>
</html>

View File

@ -220,6 +220,7 @@ ACTION_NAME = {
'delete': u'Suppression',
'desactivate': u'Désactivation',
'activate': u'Activation',
'read': u'Afficher les utilisateurs',
'csv': u'Export CSV',
}
@ -238,12 +239,15 @@ def multiple(request):
if len(names) == 0:
messages.warning(request, u'Sélectionnez au moins un utilisateur.')
return redirect('.')
all_pfusers = pfusers.get_all_pfusers(with_password=(action=="csv"))
all_pfusers = pfusers.get_all_pfusers(with_password=(action in ['read','csv']))
try:
users = [ all_pfusers[name] for name in names ]
except KeyError:
messages.error(request, u'Au moins un utilisateur inconnu dans la liste.')
return redirect('.')
if action == "read":
return render_to_response('users_admin/read-list.html',
{ 'users': users, }, context_instance=RequestContext(request))
if action == "csv":
return csv(users)
request.session['univnautes_idpua_action'] = action