Implement last login

This commit is contained in:
Götz 2019-05-14 20:38:26 +02:00
parent 4e9483eb2a
commit 4547df4d4c
4 changed files with 22 additions and 4 deletions

View File

@ -34,6 +34,8 @@ class LdapUser(Model):
phone = ldap_fields.CharField(db_column='telephoneNumber', blank=True)
mobile_phone = ldap_fields.CharField(db_column='mobile', blank=True)
photo = ldap_fields.ImageField(db_column='photo')
last_login = ldap_fields.DateTimeField(db_column='authTimestamp', blank=True)
# photo = ldap_fields.ImageField(db_column='jpegPhoto')
def __str__(self):

View File

@ -41,8 +41,8 @@ def protect_cross_realm_user_access(view_func):
@login_required
@is_realm_admin
def realm_user(request, realm_id):
realm_obj = Realm.objects.get(id=realm_id)
LdapUser.base_dn = realm_obj.ldap_base_dn
realm = Realm.objects.get(id=realm_id)
LdapUser.base_dn = realm.ldap_base_dn
realm_users = LdapUser.objects.all()
user_wrappers = []
for user in realm_users:
@ -54,7 +54,7 @@ def realm_user(request, realm_id):
user_wrappers.append({'user': user, 'active': False})
except ObjectDoesNotExist:
user_wrappers.append({'user': user, 'active': False})
return render(request, 'realm/realm_user.jinja2', {'realm': realm_obj, 'realm_user': user_wrappers})
return render(request, 'realm/realm_user.jinja2', {'realm': realm, 'realm_user': user_wrappers})
@login_required

View File

@ -35,6 +35,7 @@
<th scope="col">Vorname</th>
<th scope="col">Nachname</th>
<th scope="col">Aktiv</th>
<th scope="col">Letzer Login</th>
</tr>
</thead>
<tbody>
@ -49,6 +50,13 @@
<td class="text-center">{% if user.active %}
<i class="fas fa-check-circle text-success"></i><span class="d-none">-</span>{% else %}
<i class="far fa-times-circle text-warning"></i><span class="d-none">+</span>{% endif %}</td>
<td class="text-center">
{% if user.user.last_login %}
{{ user.user.last_login.strftime('%Y-%m-%d') }}
{% else %}
<i class="far fa-times-circle text-danger"></i><span class="d-none">+</span>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>

View File

@ -16,7 +16,9 @@
<li class="list-group-item">Vorname: {{ user.first_name }}</li>
<li class="list-group-item">Nachname: {{ user.last_name }}</li>
<li class="list-group-item">Email: {{ user.email }}</li>
<li class="list-group-item">Passwort: <a href="{{ url('realm-user-password-reset', args = [realm.id, user.dn]) }}" class="float-right">Nutzerpasswort zurücksetzen</a></li>
<li class="list-group-item">Passwort: <a
href="{{ url('realm-user-password-reset', args = [realm.id, user.dn]) }}" class="float-right">Nutzerpasswort
zurücksetzen</a></li>
{# <li class="list-group-item">Telefon: {{ user.phone }}</li>#}
{# <li class="list-group-item">Mobiltelefon: {{ user.mobile_phone }}</li>#}
<li class="list-group-item">Gruppen:
@ -31,6 +33,12 @@
<a href="{{ url('realm-user-group-update', args=[realm.id, user.dn]) }}" class="float-right">
Gruppen zuweisen</a>
</li>
<li class="list-group-item">Zuletzt eingeloggt:
{% if user.last_login %}
{{ user.last_login.strftime('%d.%m.%Y') }}
{% else %}
<i class="far fa-times-circle text-danger"></i><span class="d-none">+</span>
{% endif %}</li>
</ul>
<div class="d-flex mt-3">
<a href="{{ url('realm-user-update', args = [realm.id, user.dn]) }}" class="btn btn-primary mr-auto p-2">