mirror of
				https://github.com/grafana/grafana.git
				synced 2025-02-25 18:55:37 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<navbar icon="icon-gf icon-gf-users" title="Organization Users" title-url="org">
 | 
						|
</navbar>
 | 
						|
 | 
						|
<div class="page-container">
 | 
						|
	<div class="page-header">
 | 
						|
		<h1>Organization users</h1>
 | 
						|
		<button class="btn btn-success" ng-click="ctrl.openInviteModal()">
 | 
						|
			<i class="fa fa-plus"></i>
 | 
						|
			Add or Invite
 | 
						|
		</button>
 | 
						|
	</div>
 | 
						|
 | 
						|
		<tabset>
 | 
						|
			<tab heading="Users ({{ctrl.users.length}})">
 | 
						|
				<table class="filter-table form-inline">
 | 
						|
					<thead>
 | 
						|
						<tr>
 | 
						|
							<th>Login</th>
 | 
						|
							<th>Email</th>
 | 
						|
							<th>Role</th>
 | 
						|
							<th style="width: 34px;"></th>
 | 
						|
						</tr>
 | 
						|
					</thead>
 | 
						|
					<tr ng-repeat="user in ctrl.users">
 | 
						|
						<td>{{user.login}}</td>
 | 
						|
						<td><span class="ellipsis">{{user.email}}</span></td>
 | 
						|
						<td>
 | 
						|
							<select type="text" ng-model="user.role" class="input-medium" ng-options="f for f in ['Viewer', 'Editor', 'Read Only Editor', 'Admin']" ng-change="ctrl.updateOrgUser(user)">
 | 
						|
							</select>
 | 
						|
						</td>
 | 
						|
						<td>
 | 
						|
							<a ng-click="ctrl.removeUser(user)" class="btn btn-danger btn-mini">
 | 
						|
								<i class="fa fa-remove"></i>
 | 
						|
							</a>
 | 
						|
						</td>
 | 
						|
					</tr>
 | 
						|
				</table>
 | 
						|
			</tab>
 | 
						|
			<tab heading="Pending Invitations ({{ctrl.pendingInvites.length}})">
 | 
						|
				<table class="filter-table form-inline">
 | 
						|
					<thead>
 | 
						|
						<tr>
 | 
						|
							<th>Email</th>
 | 
						|
							<th>Name</th>
 | 
						|
							<th></th>
 | 
						|
						</tr>
 | 
						|
					</thead>
 | 
						|
					<tbody ng-repeat="invite in ctrl.pendingInvites">
 | 
						|
						<tr ng-click="invite.expanded = !invite.expanded" ng-class="{'expanded': invite.expanded}">
 | 
						|
							<td>{{invite.email}}</td>
 | 
						|
							<td>{{invite.name}}</td>
 | 
						|
							<td class="text-right">
 | 
						|
								<button class="btn btn-inverse btn-mini " data-clipboard-text="{{invite.url}}" clipboard-button ng-click="ctrl.copyInviteToClipboard($event)">
 | 
						|
									<i class="fa fa-clipboard"></i> Copy Invite
 | 
						|
								</button>
 | 
						|
								 
 | 
						|
								<button class="btn btn-inverse btn-mini">
 | 
						|
									Details
 | 
						|
									<i ng-show="!invite.expanded" class="fa fa-caret-right"></i>
 | 
						|
									<i ng-show="invite.expanded" class="fa fa-caret-down"></i>
 | 
						|
								</button>
 | 
						|
							</td>
 | 
						|
						</tr>
 | 
						|
						<tr ng-show="invite.expanded">
 | 
						|
							<td colspan="3">
 | 
						|
								<a href="{{invite.url}}">{{invite.url}}</a><br><br>
 | 
						|
								 
 | 
						|
								<button class="btn btn-inverse btn-mini" ng-click="ctrl.revokeInvite(invite, $event)">
 | 
						|
									<i class="fa fa-remove" style="color: red"></i> Revoke invite
 | 
						|
								</button>
 | 
						|
								<span style="padding-left: 15px">
 | 
						|
									Invited: <em> {{invite.createdOn | date: 'shortDate'}} by {{invite.invitedBy}} </em>
 | 
						|
								</span>
 | 
						|
							</td>
 | 
						|
						</tr>
 | 
						|
					</tbody>
 | 
						|
				</table>
 | 
						|
			</tab>
 | 
						|
		</tabset>
 | 
						|
 | 
						|
	</div>
 | 
						|
</div>
 | 
						|
 |