Files
pulse-signage/src/web/views/settings/users/list.hbs
T
lzstealth 98f969ca0f
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile, web, pulse-signage-web) (push) Successful in 1m47s
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile.player, player, pulse-signage-player) (push) Successful in 31s
Release v2.11.1
2026-09-04 15:43:55 +01:00

112 lines
4.5 KiB
Handlebars

<div class="page-header">
<div>
<h2>Users</h2>
<p>Create accounts, rename users, reset passwords, and remove unused logins.</p>
</div>
</div>
<div class="card card-outline card-primary" data-table-search-container data-table-pagination-card>
<div class="card-header">
<h3 class="card-title">Existing users</h3>
<div class="card-tools d-flex flex-nowrap align-items-center gap-2">
<div class="input-group input-group-sm flex-shrink-1 table-search-group" style="width: min(14rem, 100%);">
<span class="input-group-text" role="button" tabindex="0" aria-label="Search" data-table-search-toggle><i class="bi bi-search"></i></span>
<input type="search" class="form-control" placeholder="Search users" aria-label="Search users" data-table-search />
</div>
<div class="btn-group">
{{#if (hasPermission currentUser 'invitations.create')}}
<a href="/settings/users/invite" class="btn btn-info btn-sm">Invite user</a><a class="btn btn-primary btn-sm" href="/settings/users/new">Add<span class="table-action-context"> user</span></a>
{{/if}}
</div>
</div>
</div>
<div class="card-body table-responsive p-0">
<table class="table table-striped w-100 mb-0 users-table" data-table-searchable>
<thead>
<tr>
<th data-table-sort-key="user">User</th>
<th data-table-sort-key="name">Name</th>
<th data-table-sort-key="roles">Roles</th>
<th>Status</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{{#if users.length}}
{{#each users}}
<tr data-table-search-row>
<td data-label="User">
<div class="user-cell">
<div>
{{#if isCurrentUser}}
<i>{{username}}</i>
{{else}}
{{username}}
{{/if}}
</div>
</div>
</td>
<td data-label="Name">
<div class="user-cell">
<div>
{{#if isCurrentUser}}
<i>{{#if name}}{{name}}{{else}}-{{/if}}</i>
{{else}}
{{#if name}}{{name}}{{else}}-{{/if}}
{{/if}}
</div>
</div>
</td>
<td data-label="Roles">
<div class="user-cell">
<div>
{{#if isCurrentUser}}
<i>{{#if roleNames}}{{roleNames}}{{else}}No roles assigned{{/if}}</i>
{{else}}
{{#if roleNames}}{{roleNames}}{{else}}No roles assigned{{/if}}
{{/if}}
</div>
</div>
</td>
<td data-label="Status">
{{#if account_locked}}
<span class="badge text-bg-danger">Locked</span>
{{else}}
<span class="badge text-bg-success">Active</span>
{{/if}}
</td>
<td data-label="Actions">
{{#if (anyPermission ../currentUser 'users.create' 'users.update' 'users.delete')}}
<div class="actions users-row-actions">
{{#unless isCurrentUser}}
{{#if (hasPermission ../currentUser 'users.update')}}
<a class="btn btn-sm btn-primary" href="/settings/users/{{id}}/edit">Edit</a>
{{/if}}
{{#if (hasPermission ../currentUser 'users.create')}}
<a class="btn btn-sm btn-secondary" href="/settings/users/{{id}}/duplicate">Dupe</a>
{{/if}}
{{#if (hasPermission ../currentUser 'users.delete')}}
<form method="post" action="/settings/users/{{id}}/delete" class="inline-form" data-confirm-message="Delete {{username}}?">
<button type="submit" class="btn btn-sm btn-danger">Delete</button>
</form>
{{/if}}
{{else}}
<span class="empty">Protected</span>
{{/unless}}
</div>
{{else}}
<span class="empty">-</span>
{{/if}}
</td>
</tr>
{{/each}}
{{else}}
<tr data-table-search-empty-default><td colspan="5" class="empty">No users found.</td></tr>
{{/if}}
</tbody>
</table>
</div>
{{> table-pagination pagination=pagination basePath="/settings/users" alwaysShow=true}}
</div>