Fix wrong user links
This commit is contained in:
parent
d4aeaf437f
commit
9afcf756d3
@ -47,7 +47,7 @@ def realm_list(request):
|
||||
realm_base_dn = re.compile('(uid=[a-zA-Z0-9_]*),(ou=[a-zA-Z_]*),(.*)').match(user.dn).group(3)
|
||||
realm = Realm.objects.get(ldap_base_dn=realm_base_dn)
|
||||
|
||||
return redirect('user-detail', user.dn, realm.id)
|
||||
return redirect('user-detail', realm.id, user.dn)
|
||||
except ObjectDoesNotExist as err:
|
||||
logger.info('Anmeldung fehlgeschlagen', err)
|
||||
return HttpResponse("Invalid login. Please try again.")
|
||||
|
||||
@ -55,14 +55,14 @@ urlpatterns = [
|
||||
name='realm-group-delete'),
|
||||
|
||||
# User
|
||||
path('user/<str:user_dn>/update/realm/<int:realm_id>/', user_views.user_detail,
|
||||
path('user/<int:realm_id>/<str:user_dn>/detail/', user_views.user_detail,
|
||||
name='user-detail'),
|
||||
path('user/<str:user_dn>/update/realm/<int:realm_id>/', user_views.user_update,
|
||||
path('user/<int:realm_id>/<str:user_dn>/update/', user_views.user_update,
|
||||
name='user-update'),
|
||||
path('user/<str:user_dn>/delete/realm/<int:realm_id>/confirm/',
|
||||
path('user/<int:realm_id>/<str:user_dn>/delete/confirm/',
|
||||
user_views.user_delete_confirm,
|
||||
name='user-delete-confirm'),
|
||||
path('user/<str:user_dn>/delete/realm/<int:realm_id>/', user_views.user_delete,
|
||||
path('user/<int:realm_id>/<str:user_dn>/delete/', user_views.user_delete,
|
||||
name='user-delete'),
|
||||
path('accounts/reset/<uidb64>/<token>/', user_views.LdapPasswordResetConfirmView.as_view(),
|
||||
name='ldap_password_reset_confirm'),
|
||||
|
||||
@ -12,6 +12,10 @@ from account_manager.forms import AddLDAPUserForm, UserDeleteListForm, UpdateLDA
|
||||
from account_manager.main_views import is_realm_admin
|
||||
from account_manager.models import LdapUser, LdapGroup
|
||||
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def protect_cross_realm_user_access(view_func):
|
||||
def decorator(request, *args, **kwargs):
|
||||
@ -235,7 +239,7 @@ def user_update(request, realm_id, user_dn):
|
||||
return user_update_controller(request=request,
|
||||
realm=realm_obj,
|
||||
ldap_user=ldap_user,
|
||||
redirect_name='realm-user-detail',
|
||||
redirect_name='user-detail',
|
||||
update_view='user/user_detail.jinja2',
|
||||
form_class=UpdateLDAPUserForm,
|
||||
form_attrs=[
|
||||
@ -253,8 +257,8 @@ def user_delete_confirm(request, realm_id, user_dn):
|
||||
LdapGroup.base_dn = f'ou=groups,{realm.ldap_base_dn}'
|
||||
ldap_user = LdapUser.objects.get(dn=user_dn)
|
||||
if request.user.username == ldap_user.username:
|
||||
deletion_link = {'name': 'user-delete', 'args': [ldap_user.dn, realm.id]}
|
||||
cancel_link = {'name': 'realm-user-detail', 'args': [realm.id, ldap_user.dn]}
|
||||
deletion_link = {'name': 'user-delete', 'args': [realm.id, ldap_user.dn]}
|
||||
cancel_link = {'name': 'user-detail', 'args': [realm.id, ldap_user.dn]}
|
||||
return render(request, 'user/user_confirm_delete.jinja2',
|
||||
{'realm': realm, 'user': ldap_user, 'deletion_link': deletion_link, 'cancel_link': cancel_link})
|
||||
else:
|
||||
@ -348,7 +352,8 @@ def user_deleted(request, realm_id):
|
||||
return render(request, 'user/account_deleted.jinja2', {'realm': Realm.objects.get(id=realm_id)})
|
||||
|
||||
|
||||
def user_update_controller(request, realm, ldap_user, redirect_name, update_view, form_class, form_attrs):
|
||||
def user_update_controller(request, realm, ldap_user, redirect_name, update_view, form_class,
|
||||
form_attrs):
|
||||
if request.method == 'POST':
|
||||
form = form_class(request.POST)
|
||||
if form.is_valid():
|
||||
|
||||
@ -31,10 +31,10 @@
|
||||
class="font-weight-bold">Mobiltelefon:</span> {{ user.mobile_phone }}</li>
|
||||
</ul>
|
||||
<div class="card-footer d-flex bg-white">
|
||||
<a href="{{ url('user-update', args = [user.dn, realm.id]) }}"
|
||||
<a href="{{ url('user-update', args = [realm.id, user.dn]) }}"
|
||||
class="btn btn-primary mr-auto p-2"><i class="fas fa-user-edit"></i> Profil
|
||||
bearbeiten</a>
|
||||
<a href="{{ url('user-delete-confirm', args = [user.dn, realm.id]) }}"
|
||||
<a href="{{ url('user-delete-confirm', args = [realm.id, user.dn]) }}"
|
||||
class="btn btn-danger p-2"><i class="fas fa-trash"></i> Profil löschen</a>
|
||||
</div>
|
||||
</div>
|
||||
@ -50,7 +50,7 @@
|
||||
{{ mform.text_input(form.last_name) }}
|
||||
<div class="d-flex mt-4">
|
||||
<button type="submit" class="btn btn-primary mr-auto p-2">Speichern</button>
|
||||
<a href="{{ url('realm-user-detail', args = [realm.id, user.dn]) }}"
|
||||
<a href="{{ url('user-detail', args = [realm.id, user.dn]) }}"
|
||||
class="btn btn-secondary p-2">Abbrechen</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
Reference in New Issue
Block a user