forked from enviPath/enviPy
Fix "Impersonation" (#53)
Co-authored-by: Tim Lorsbach <tim@lorsba.ch> Reviewed-on: enviPath/enviPy#53
This commit is contained in:
@ -1761,7 +1761,6 @@ def users(request):
|
|||||||
context = get_base_context(request)
|
context = get_base_context(request)
|
||||||
context['title'] = f'enviPath - Users'
|
context['title'] = f'enviPath - Users'
|
||||||
|
|
||||||
context['meta']['current_package'] = context['meta']['user'].default_package
|
|
||||||
context['object_type'] = 'user'
|
context['object_type'] = 'user'
|
||||||
context['breadcrumbs'] = [
|
context['breadcrumbs'] = [
|
||||||
{'Home': s.SERVER_URL},
|
{'Home': s.SERVER_URL},
|
||||||
@ -1785,27 +1784,27 @@ def user(request, user_uuid):
|
|||||||
if str(current_user.uuid) != user_uuid and not current_user.is_superuser:
|
if str(current_user.uuid) != user_uuid and not current_user.is_superuser:
|
||||||
return HttpResponseBadRequest()
|
return HttpResponseBadRequest()
|
||||||
|
|
||||||
user = UserManager.get_user_by_id(current_user, user_uuid)
|
requested_user = UserManager.get_user_by_id(current_user, user_uuid)
|
||||||
|
|
||||||
context = get_base_context(request)
|
context = get_base_context(request, for_user=requested_user)
|
||||||
context['title'] = f'enviPath - User'
|
context['title'] = f'enviPath - User'
|
||||||
|
|
||||||
context['object_type'] = 'user'
|
context['object_type'] = 'user'
|
||||||
context['breadcrumbs'] = [
|
context['breadcrumbs'] = [
|
||||||
{'Home': s.SERVER_URL},
|
{'Home': s.SERVER_URL},
|
||||||
{'User': s.SERVER_URL + '/user'},
|
{'User': s.SERVER_URL + '/user'},
|
||||||
{current_user.username: current_user.url}
|
{current_user.username: requested_user.url}
|
||||||
]
|
]
|
||||||
|
|
||||||
context['user'] = user
|
context['user'] = requested_user
|
||||||
|
|
||||||
model_qs = EPModel.objects.none()
|
model_qs = EPModel.objects.none()
|
||||||
for p in PackageManager.get_all_readable_packages(current_user, include_reviewed=True):
|
for p in PackageManager.get_all_readable_packages(requested_user, include_reviewed=True):
|
||||||
model_qs |= p.models
|
model_qs |= p.models
|
||||||
|
|
||||||
context['models'] = model_qs
|
context['models'] = model_qs
|
||||||
|
|
||||||
context['tokens'] = APIToken.objects.filter(user=current_user)
|
context['tokens'] = APIToken.objects.filter(user=requested_user)
|
||||||
|
|
||||||
return render(request, 'objects/user.html', context)
|
return render(request, 'objects/user.html', context)
|
||||||
|
|
||||||
@ -1887,7 +1886,6 @@ def groups(request):
|
|||||||
context = get_base_context(request)
|
context = get_base_context(request)
|
||||||
context['title'] = f'enviPath - Groups'
|
context['title'] = f'enviPath - Groups'
|
||||||
|
|
||||||
context['meta']['current_package'] = context['meta']['user'].default_package
|
|
||||||
context['object_type'] = 'group'
|
context['object_type'] = 'group'
|
||||||
context['breadcrumbs'] = [
|
context['breadcrumbs'] = [
|
||||||
{'Home': s.SERVER_URL},
|
{'Home': s.SERVER_URL},
|
||||||
|
|||||||
Reference in New Issue
Block a user