Implement deletion information on user list
This commit is contained in:
parent
10cda0783a
commit
95a18884bb
@ -12,6 +12,7 @@ from ldap import NO_SUCH_OBJECT, ALREADY_EXISTS
|
|||||||
from ldapdb.models import fields as ldap_fields
|
from ldapdb.models import fields as ldap_fields
|
||||||
from ldapdb.models.base import Model
|
from ldapdb.models.base import Model
|
||||||
|
|
||||||
|
from account_helper.models import DeletedUser
|
||||||
from account_manager.utils.dbldap import get_filterstr
|
from account_manager.utils.dbldap import get_filterstr
|
||||||
from account_manager.utils.mail_utils import send_welcome_mail
|
from account_manager.utils.mail_utils import send_welcome_mail
|
||||||
|
|
||||||
@ -61,6 +62,23 @@ class LdapUser(Model):
|
|||||||
else:
|
else:
|
||||||
raise ALREADY_EXISTS('User already exists')
|
raise ALREADY_EXISTS('User already exists')
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_extended_user(ldap_user):
|
||||||
|
wrapper = {'user': ldap_user}
|
||||||
|
try:
|
||||||
|
wrapper['deleted_user'] = DeletedUser.objects.get(ldap_dn=ldap_user.dn)
|
||||||
|
except ObjectDoesNotExist:
|
||||||
|
wrapper['deleted_user'] = {}
|
||||||
|
try:
|
||||||
|
django_user = User.objects.get(username=ldap_user.username)
|
||||||
|
if django_user.last_login:
|
||||||
|
wrapper['active'] = True
|
||||||
|
else:
|
||||||
|
wrapper['active'] = False
|
||||||
|
except ObjectDoesNotExist:
|
||||||
|
wrapper['active'] = False
|
||||||
|
return wrapper
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def password_reset(user, raw_password):
|
def password_reset(user, raw_password):
|
||||||
LdapUser.base_dn = LdapUser.ROOT_DN
|
LdapUser.base_dn = LdapUser.ROOT_DN
|
||||||
|
|||||||
@ -47,14 +47,7 @@ def realm_user(request, realm_id):
|
|||||||
realm_users = LdapUser.objects.all()
|
realm_users = LdapUser.objects.all()
|
||||||
user_wrappers = []
|
user_wrappers = []
|
||||||
for user in realm_users:
|
for user in realm_users:
|
||||||
try:
|
user_wrappers.append(LdapUser.get_extended_user(user))
|
||||||
django_user = User.objects.get(username=user.username)
|
|
||||||
if django_user.last_login:
|
|
||||||
user_wrappers.append({'user': user, 'active': True})
|
|
||||||
else:
|
|
||||||
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, 'realm_user': user_wrappers})
|
return render(request, 'realm/realm_user.jinja2', {'realm': realm, 'realm_user': user_wrappers})
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -36,11 +36,12 @@
|
|||||||
<th scope="col">Nachname</th>
|
<th scope="col">Nachname</th>
|
||||||
<th scope="col">Aktiv</th>
|
<th scope="col">Aktiv</th>
|
||||||
<th scope="col">Letzer Login</th>
|
<th scope="col">Letzer Login</th>
|
||||||
|
<th scope="col">Löschdatum</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for user in users %}
|
{% for user in users %}
|
||||||
<tr>
|
<tr class="{% if user.deleted_user %}bg-warning{% endif %}">
|
||||||
<td>
|
<td>
|
||||||
<a href="{{ url('realm-user-detail', args=[realm.id, user.user.dn]) }}">{{ user.user.username }}</a>
|
<a href="{{ url('realm-user-detail', args=[realm.id, user.user.dn]) }}">{{ user.user.username }}</a>
|
||||||
</td>
|
</td>
|
||||||
@ -57,6 +58,11 @@
|
|||||||
<i class="far fa-times-circle text-danger"></i><span class="d-none">+</span>
|
<i class="far fa-times-circle text-danger"></i><span class="d-none">+</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
|
<td class="text-center">
|
||||||
|
{% if user.deleted_user %}
|
||||||
|
{{ user.deleted_user.deletion_date.strftime('%Y-%m-%d') }}
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
Reference in New Issue
Block a user