|
@@ -4,20 +4,39 @@
|
|
|
<h3 class="page-sub-heading">User Profile</h3>
|
|
<h3 class="page-sub-heading">User Profile</h3>
|
|
|
|
|
|
|
|
<form name="ctrl.userForm" class="gf-form-group">
|
|
<form name="ctrl.userForm" class="gf-form-group">
|
|
|
-
|
|
|
|
|
<div class="gf-form max-width-30">
|
|
<div class="gf-form max-width-30">
|
|
|
<span class="gf-form-label width-8">Name</span>
|
|
<span class="gf-form-label width-8">Name</span>
|
|
|
- <input class="gf-form-input max-width-22" type="text" required ng-model="ctrl.user.name">
|
|
|
|
|
|
|
+ <input class="gf-form-input max-width-22" type="text" required ng-model="ctrl.user.name" />
|
|
|
</div>
|
|
</div>
|
|
|
<div class="gf-form max-width-30">
|
|
<div class="gf-form max-width-30">
|
|
|
<span class="gf-form-label width-8">Email</span>
|
|
<span class="gf-form-label width-8">Email</span>
|
|
|
- <input class="gf-form-input max-width-22" type="email" ng-readonly="ctrl.readonlyLoginFields" required ng-model="ctrl.user.email">
|
|
|
|
|
- <i ng-if="ctrl.readonlyLoginFields" class="fa fa-lock gf-form-icon--right-absolute" bs-tooltip="'Login Details Locked - managed in another system.'"></i>
|
|
|
|
|
|
|
+ <input
|
|
|
|
|
+ class="gf-form-input max-width-22"
|
|
|
|
|
+ type="email"
|
|
|
|
|
+ ng-readonly="ctrl.readonlyLoginFields"
|
|
|
|
|
+ required
|
|
|
|
|
+ ng-model="ctrl.user.email"
|
|
|
|
|
+ />
|
|
|
|
|
+ <i
|
|
|
|
|
+ ng-if="ctrl.readonlyLoginFields"
|
|
|
|
|
+ class="fa fa-lock gf-form-icon--right-absolute"
|
|
|
|
|
+ bs-tooltip="'Login Details Locked - managed in another system.'"
|
|
|
|
|
+ ></i>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="gf-form max-width-30">
|
|
<div class="gf-form max-width-30">
|
|
|
<span class="gf-form-label width-8">Username</span>
|
|
<span class="gf-form-label width-8">Username</span>
|
|
|
- <input class="gf-form-input max-width-22" type="text" ng-readonly="ctrl.readonlyLoginFields" required ng-model="ctrl.user.login">
|
|
|
|
|
- <i ng-if="ctrl.readonlyLoginFields" class="fa fa-lock gf-form-icon--right-absolute" bs-tooltip="'Login Details Locked - managed in another system.'"></i>
|
|
|
|
|
|
|
+ <input
|
|
|
|
|
+ class="gf-form-input max-width-22"
|
|
|
|
|
+ type="text"
|
|
|
|
|
+ ng-readonly="ctrl.readonlyLoginFields"
|
|
|
|
|
+ required
|
|
|
|
|
+ ng-model="ctrl.user.login"
|
|
|
|
|
+ />
|
|
|
|
|
+ <i
|
|
|
|
|
+ ng-if="ctrl.readonlyLoginFields"
|
|
|
|
|
+ class="fa fa-lock gf-form-icon--right-absolute"
|
|
|
|
|
+ bs-tooltip="'Login Details Locked - managed in another system.'"
|
|
|
|
|
+ ></i>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="gf-form-button-row">
|
|
<div class="gf-form-button-row">
|
|
|
<button type="submit" class="btn btn-primary" ng-click="ctrl.update()">Save</button>
|
|
<button type="submit" class="btn btn-primary" ng-click="ctrl.update()">Save</button>
|
|
@@ -39,10 +58,10 @@
|
|
|
</thead>
|
|
</thead>
|
|
|
<tbody>
|
|
<tbody>
|
|
|
<tr ng-repeat="team in ctrl.teams">
|
|
<tr ng-repeat="team in ctrl.teams">
|
|
|
- <td class="width-4 text-center"><img class="filter-table__avatar" src={{team.avatarUrl}}></td>
|
|
|
|
|
- <td>{{team.name}}</td>
|
|
|
|
|
- <td>{{team.email}}</td>
|
|
|
|
|
- <td>{{team.memberCount}}</td>
|
|
|
|
|
|
|
+ <td class="width-4 text-center"><img class="filter-table__avatar" ng-src="{{ team.avatarUrl }}" /></td>
|
|
|
|
|
+ <td>{{ team.name }}</td>
|
|
|
|
|
+ <td>{{ team.email }}</td>
|
|
|
|
|
+ <td>{{ team.memberCount }}</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
</tbody>
|
|
</tbody>
|
|
|
</table>
|
|
</table>
|
|
@@ -60,13 +79,17 @@
|
|
|
</thead>
|
|
</thead>
|
|
|
<tbody>
|
|
<tbody>
|
|
|
<tr ng-repeat="org in ctrl.orgs">
|
|
<tr ng-repeat="org in ctrl.orgs">
|
|
|
- <td>{{org.name}}</td>
|
|
|
|
|
- <td>{{org.role}}</td>
|
|
|
|
|
|
|
+ <td>{{ org.name }}</td>
|
|
|
|
|
+ <td>{{ org.role }}</td>
|
|
|
<td class="text-right">
|
|
<td class="text-right">
|
|
|
<span class="btn btn-primary btn-small" ng-show="org.orgId === contextSrv.user.orgId">
|
|
<span class="btn btn-primary btn-small" ng-show="org.orgId === contextSrv.user.orgId">
|
|
|
Current
|
|
Current
|
|
|
</span>
|
|
</span>
|
|
|
- <a ng-click="ctrl.setUsingOrg(org)" class="btn btn-inverse btn-small" ng-show="org.orgId !== contextSrv.user.orgId">
|
|
|
|
|
|
|
+ <a
|
|
|
|
|
+ ng-click="ctrl.setUsingOrg(org)"
|
|
|
|
|
+ class="btn btn-inverse btn-small"
|
|
|
|
|
+ ng-show="org.orgId !== contextSrv.user.orgId"
|
|
|
|
|
+ >
|
|
|
Select
|
|
Select
|
|
|
</a>
|
|
</a>
|
|
|
</td>
|
|
</td>
|
|
@@ -90,10 +113,10 @@
|
|
|
<tbody>
|
|
<tbody>
|
|
|
<tr ng-repeat="session in ctrl.sessions">
|
|
<tr ng-repeat="session in ctrl.sessions">
|
|
|
<td ng-if="session.isActive">Now</td>
|
|
<td ng-if="session.isActive">Now</td>
|
|
|
- <td ng-if="!session.isActive">{{session.seenAt}}</td>
|
|
|
|
|
- <td>{{session.createdAt}}</td>
|
|
|
|
|
- <td>{{session.clientIp}}</td>
|
|
|
|
|
- <td>{{session.browser}} on {{session.os}} {{session.osVersion}}</td>
|
|
|
|
|
|
|
+ <td ng-if="!session.isActive">{{ session.seenAt }}</td>
|
|
|
|
|
+ <td>{{ session.createdAt }}</td>
|
|
|
|
|
+ <td>{{ session.clientIp }}</td>
|
|
|
|
|
+ <td>{{ session.browser }} on {{ session.os }} {{ session.osVersion }}</td>
|
|
|
<td>
|
|
<td>
|
|
|
<button class="btn btn-danger btn-small" ng-click="ctrl.revokeUserSession(session.id)">
|
|
<button class="btn btn-danger btn-small" ng-click="ctrl.revokeUserSession(session.id)">
|
|
|
<i class="fa fa-power-off"></i>
|
|
<i class="fa fa-power-off"></i>
|
|
@@ -103,3 +126,4 @@
|
|
|
</tbody>
|
|
</tbody>
|
|
|
</table>
|
|
</table>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+</div>
|