I recently updated to JIRA 5.2.6. Previously, JIRA SU worked fine (JIRA 5.1.x). Now, after re-editing the userbrowser.jsp file to add the SU link, I can only SU for users that are in the JIRA Internal Directory. The link simply doesn't display for users managed via Active Directory.
Has anyone experienced this? Is there a fix?
Here you go. Note that I use "Impersonate" instead of "SU".
<%@ taglib uri="webwork" prefix="ww" %>
<%@ taglib uri="webwork" prefix="ui" %>
<%@ taglib uri="webwork" prefix="aui" %>
<%@ taglib uri="sitemesh-page" prefix="page" %>
<%@ taglib uri="jiratags" prefix="jira" %>
<html>
<head>
<title><ww:text name="'admin.menu.usersandgroups.user.browser'"/></title>
<meta name="admin.active.section" content="admin_users_menu/users_groups_section"/>
<meta name="admin.active.tab" content="user_browser"/>
<jira:web-resource-require modules="jira.webresources:userbrowser,
com.atlassian.plugins.helptips.jira-help-tips:common" />
</head>
<body>
<ww:property value="/opsbarLinks" >
<ww:if test="./empty == false">
<header>
<nav class="aui-toolbar">
<div class="toolbar-split toolbar-split-right">
<ul class="toolbar-group">
<ww:iterator value=".">
<li class="toolbar-item">
<ww:bean name="'com.atlassian.jira.web.util.HelpUtil'" id="helpUtil" />
<a href='<ww:property value="./url" />'
class="toolbar-trigger trigger-dialog"
id='<ww:property value="./id" />'
title='<ww:property value="./title" />'
data-url='<ww:property value="@helpUtil/helpPath('add.new.users')/url" />'>
<span class="icon icon-add16"></span>
<ww:property value="./label" />
</a>
</li>
</ww:iterator>
</ul>
</div>
</nav>
</header>
</ww:if>
</ww:property>
<page:applyDecorator id="user-filter" name="auiform">
<page:param name="action">UserBrowser.jspa</page:param>
<page:param name="method">post</page:param>
<page:param name="cssClass">top-label</page:param>
<page:param name="submitButtonText"><ww:text name="'navigator.tabs.filter'"/></page:param>
<page:param name="cancelLinkURI">UserBrowser.jspa?emailFilter=&group=&max=<ww:property value="filter/max"/></page:param>
<page:param name="cancelLinkText"><ww:text name="'admin.userbrowser.reset.filter'"/></page:param>
<aui:component template="formHeading.jsp" theme="'aui'">
<aui:param name="'text'"><ww:text name="'admin.userbrowser.filter.users'"/></aui:param>
</aui:component>
<ww:property value="filter">
<div class="aui-group">
<div class="aui-item">
<page:applyDecorator name="auifieldgroup">
<aui:textfield label="text('admin.userbrowser.username.contains')" maxlength="255" id="'userNameFilter'" name="'userNameFilter'" theme="'aui'">
<aui:param name="'cssClass'">full-width</aui:param>
</aui:textfield>
</page:applyDecorator>
</div>
<div class="aui-item">
<page:applyDecorator name="auifieldgroup">
<aui:textfield label="text('admin.userbrowser.userfullname.contains')" maxlength="255" id="'fullNameFilter'" name="'fullNameFilter'" theme="'aui'">
<aui:param name="'cssClass'">full-width</aui:param>
</aui:textfield>
</page:applyDecorator>
</div>
<div class="aui-item">
<page:applyDecorator name="auifieldgroup">
<aui:textfield label="text('admin.userbrowser.email.contains')" maxlength="255" id="'emailFilter'" name="'emailFilter'" theme="'aui'">
<aui:param name="'cssClass'">full-width</aui:param>
</aui:textfield>
</page:applyDecorator>
</div>
<div class="aui-item">
<page:applyDecorator name="auifieldgroup">
<aui:select label="text('admin.userbrowser.in.group')" id="'group'" name="'group'" list="/groups" listKey="'name'" listValue="'name'" theme="'aui'">
<aui:param name="'cssClass'">full-width</aui:param>
<aui:param name="'defaultOptionText'" value="text('common.filters.any')" />
<aui:param name="'defaultOptionValue'" value="''" />
</aui:select>
</page:applyDecorator>
</div>
<div class="aui-item">
<page:applyDecorator name="auifieldgroup">
<aui:select label="text('admin.userbrowser.users.per.page')" id="'usersPerPage'" name="'max'" list="/maxValues" listKey="'.'" listValue="'.'" theme="'aui'">
<aui:param name="'cssClass'">full-width</aui:param>
<aui:param name="'defaultOptionText'" value="text('common.words.all')" />
<aui:param name="'defaultOptionValue'" value="'1000000'" />
</aui:select>
</page:applyDecorator>
</div>
</div>
</ww:property>
</page:applyDecorator>
<div class="aui-group count-pagination">
<div class="results-count aui-item">
<ww:text name="'admin.userbrowser.displaying.users'">
<ww:param name="'value0'"><span class="results-count-start"><ww:property value="niceStart" /></span></ww:param>
<ww:param name="'value1'"><span class="results-count-end"><ww:property value="niceEnd" /></span></ww:param>
<ww:param name="'value2'"><span class="results-count-total"><ww:property value="users/size" /></span></ww:param>
</ww:text>
</div>
<div class="pagination aui-item">
<ww:if test="filter/start > 0">
<a class="icon icon-previous" href="<ww:url page="UserBrowser.jspa"><ww:param name="'start'" value="filter/previousStart" /></ww:url>"><span>&lt;&lt; <ww:text name="'common.forms.previous'"/></span></a>
</ww:if>
<ww:property value = "pager/pages(/browsableItems)">
<ww:if test="size > 1">
<ww:iterator value="." status="'pagerStatus'">
<ww:if test="currentPage == true"><strong><ww:property value="pageNumber" /></strong></ww:if>
<ww:else>
<a href="<ww:url page="UserBrowser.jspa"><ww:param name="'start'" value="start" /></ww:url>"><ww:property value="pageNumber" /></a>
</ww:else>
</ww:iterator>
</ww:if>
</ww:property>
<ww:if test="filter/end < users/size">
<a class="icon icon-next" href="<ww:url page="UserBrowser.jspa"><ww:param name="'start'" value="filter/nextStart" /></ww:url>"><span><ww:text name="'common.forms.next'"/> &gt;&gt;</span></a>
</ww:if>
</div>
</div>
<table class="aui aui-table-rowhover" id="user_browser_table">
<thead>
<tr>
<th>
<ww:text name="'common.words.username'"/>
</th>
<th>
<ww:text name="'common.words.fullname'"/>
</th>
<th class="minNoWrap">
<ww:text name="'login.details'"/>
</th>
<th>
<ww:text name="'common.words.groups'"/>
</th>
<th>
<ww:text name="'admin.user.directory'"/>
</th>
<th class="minNoWrap">
<ww:text name="'common.words.operations'"/>
</th>
</tr>
</thead>
<tbody>
<ww:iterator value="currentPage" status="'status'">
<tr class="vcard user-row" data-user="<ww:property value="name"/>">
<td data-cell-type="username"><div><a id="<ww:property value="name"/>" rel="<ww:property value="name"/>" class="user-hover user-avatar" style="background-image:url(<ww:property value="/avatarUrl(name)"/>);" href="<ww:url page="ViewUser.jspa"><ww:param name="'name'" value="name"/></ww:url>">
<span class="username"><ww:if test="active==false"><del></ww:if><ww:property value="name"/><ww:if test="active==false"></del><br>(<ww:text name="'admin.common.words.inactive'"/>)</ww:if></span>
</a></div></td>
<td data-cell-type="fullname">
<span class="fn"><ww:if test="active==false"><del></ww:if><ww:property value="displayName"/><ww:if test="active==false"></del></ww:if></span><br />
<a href="<ww:url page="ViewUser.jspa"><ww:param name="'name'" value="name"/></ww:url>"><span class="email"><ww:property value="emailAddress"/></span></a>
</td>
<td data-cell-type="login-details" class="minNoWrap">
<ww:if test="/everLoggedIn(.) == true">
<strong><ww:text name="'common.concepts.count'"/>:</strong> <ww:property value="/loginCount(.)" /><br />
<strong><ww:text name="'common.concepts.last'"/>:</strong> <ww:property value="/lastLogin(.)" /><br />
<br />
</ww:if>
<ww:else>
<ww:text name="'login.not.recorded'"/><br />
</ww:else>
<ww:if test="/elevatedSecurityCheckRequired(.) == true">
<strong><i><ww:text name="'login.elevated.security.check.required'"/></i></strong><br />
<strong><ww:text name="'login.last.failed.login'"/>:</strong> <span id="lastFailedLogin"><ww:property value="/lastFailedLogin(.)" /></span><br />
<strong><ww:text name="'login.current.failed.login.count'"/>:</strong> <span id="currentFailedLoginCount"><ww:property value="/currentFailedLoginCount(.)" /></span><br />
<strong><ww:text name="'login.total.failed.login.count'"/>:</strong> <span id="totalFailedLoginCount"><ww:property value="/totalFailedLoginCount(.)" /></span><br />
<a data-link-type="reset-login-count" href="<ww:url page="ResetFailedLoginCount.jspa"><ww:param name="'name'" value="name" /><ww:param name="'returnUrl'" value="'secure/admin/user/UserBrowser.jspa'"/></ww:url>"><ww:text name="'admin.resetfailedlogin.title'"/></a>
</ww:if>
</td>
<td data-cell-type="user-groups">
<ul>
<ww:iterator value="/groupsForUser(.)">
<li><a href="<ww:url page="ViewGroup.jspa"><ww:param name="'name'" value="."/></ww:url>"><ww:property value="."/></a></li>
</ww:iterator>
</ul>
</td>
<td data-cell-type="user-directory"><ww:property value="/directoryForUser(.)"/></td>
<td data-cell-type="operations">
<ul class="operations-list">
<ww:if test="/remoteUserPermittedToEditSelectedUsersGroups(.) == true">
<li><a class="editgroups_link" id="editgroups_<ww:property value="name"/>" href="<ww:url page="EditUserGroups!default.jspa"><ww:param name="'name'" value="name" /><ww:param name="'returnUrl'" value="'UserBrowser.jspa'" /></ww:url>"><ww:text name="'common.words.groups'"/></a></li>
</ww:if>
<li><a id="projectroles_link_<ww:property value="name"/>" href="<ww:url page="ViewUserProjectRoles!default.jspa"><ww:param name="'name'" value="name" /><ww:param name="'returnUrl'" value="'UserBrowser.jspa'" /></ww:url>"><ww:text name="'common.words.project.roles'"/></a></li>
<ww:if test="/remoteUserPermittedToEditSelectedUser(.) == true">
<li><a id="su_link_<webwork:property value='name'/>" href="<ww:url page='JiraSU.jspa'><ww:param name="'name'" value='name' /></ww:url>">Impersonate</A></li>
<li><a id="edituser_link_<ww:property value="name"/>" href="<ww:url page="EditUser!default.jspa"><ww:param name="'editName'" value="name" /><ww:param name="'returnUrl'" value="'UserBrowser.jspa'" /></ww:url>"><ww:text name="'common.words.edit'"/></a></li>
<li><a id="deleteuser_link_<ww:property value="name"/>" href="<ww:url page="DeleteUser!default.jspa"><ww:param name="'name'" value="name" /><ww:param name="'returnUrl'" value="'UserBrowser.jspa'" /></ww:url>"><ww:text name="'common.words.delete'"/></a></li>
</ww:if>
</ul>
</td>
</tr>
</ww:iterator>
</tbody>
</table>
<div class="aui-group count-pagination">
<div class="pagination aui-item">
<ww:if test="filter/start > 0">
<a class="icon icon-previous" href="<ww:url page="UserBrowser.jspa"><ww:param name="'start'" value="filter/previousStart" /></ww:url>"><span>&lt;&lt; <ww:text name="'common.forms.previous'"/></span></a>
</ww:if>
<ww:property value = "pager/pages(/browsableItems)">
<ww:if test="size > 1">
<ww:iterator value="." status="'pagerStatus'">
<ww:if test="currentPage == true"><strong><ww:property value="pageNumber" /></strong></ww:if>
<ww:else>
<a href="<ww:url page="UserBrowser.jspa"><ww:param name="'start'" value="start" /></ww:url>"><ww:property value="pageNumber" /></a>
</ww:else>
</ww:iterator>
</ww:if>
</ww:property>
<ww:if test="filter/end < users/size">
<a class="icon icon-next" href="<ww:url page="UserBrowser.jspa"><ww:param name="'start'" value="filter/nextStart" /></ww:url>"><span><ww:text name="'common.forms.next'"/> &gt;&gt;</span></a>
</ww:if>
</div>
</div>
</body>
</html>
Any updates on this? I really need to be able to "SU" my users.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Justin,
Could you past here the content of your userbrowser.jsp file? Then we can take a look at your modifications and see if there is some wrong.
Cheers
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.