Commit ab7a278b by Őry Máté

dashboard: add "login as" button for superusers

fixes #277
parent 7ff38593
...@@ -10,6 +10,12 @@ ...@@ -10,6 +10,12 @@
<div class="col-md-12"> <div class="col-md-12">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
{% if request.user.is_superuser %}
<a href="{{ login_token }}"
class="pull-right btn btn-danger btn-xs"
title="{% trans "Log in as this user. Recommended to open in an incognito window." %}">
{% trans "Login as this user" %}</a>
{% endif %}
<a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.index" %}">{% trans "Back" %}</a> <a class="pull-right btn btn-default btn-xs" href="{% url "dashboard.index" %}">{% trans "Back" %}</a>
<h3 class="no-margin"> <h3 class="no-margin">
<i class="fa fa-user"></i> <i class="fa fa-user"></i>
......
...@@ -45,7 +45,7 @@ from .views import ( ...@@ -45,7 +45,7 @@ from .views import (
VmTraitsUpdate, VmRawDataUpdate, VmTraitsUpdate, VmRawDataUpdate,
GroupPermissionsView, GroupPermissionsView,
LeaseAclUpdateView, LeaseAclUpdateView,
ClientCheck, ClientCheck, TokenLogin,
) )
autocomplete_light.autodiscover() autocomplete_light.autodiscover()
...@@ -207,4 +207,6 @@ urlpatterns = patterns( ...@@ -207,4 +207,6 @@ urlpatterns = patterns(
name="dashboard.views.store-refresh-toplist"), name="dashboard.views.store-refresh-toplist"),
url(r"^client/check$", ClientCheck.as_view(), url(r"^client/check$", ClientCheck.as_view(),
name="dashboard.views.client-check"), name="dashboard.views.client-check"),
url(r'^token-login/(?P<token>.*)/$', TokenLogin.as_view(),
name="dashboard.views.token-login"),
) )
...@@ -3371,6 +3371,9 @@ class ProfileView(LoginRequiredMixin, DetailView): ...@@ -3371,6 +3371,9 @@ class ProfileView(LoginRequiredMixin, DetailView):
template__in=it) template__in=it)
context['instances_with_access'] = context[ context['instances_with_access'] = context[
'instances_with_access'].filter(template__in=it) 'instances_with_access'].filter(template__in=it)
if self.request.user.is_superuser:
context['login_token'] = TokenLogin.get_token_url(
user, self.request.user)
return context return context
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment