2 ~ Licensed to the Apache Software Foundation (ASF) under one
3 ~ or more contributor license agreements. See the NOTICE file
4 ~ distributed with this work for additional information
5 ~ regarding copyright ownership. The ASF licenses this file
6 ~ to you under the Apache License, Version 2.0 (the
7 ~ "License"); you may not use this file except in compliance
8 ~ with the License. You may obtain a copy of the License at
10 ~ http://www.apache.org/licenses/LICENSE-2.0
12 ~ Unless required by applicable law or agreed to in writing,
13 ~ software distributed under the License is distributed on an
14 ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 ~ KIND, either express or implied. See the License for the
16 ~ specific language governing permissions and limitations
20 <app-paginated-entities [service]="service" pageSize="5" [(sortField)]="sortField" [(sortOrder)]="sortOrder"
23 <table class="table table-striped table-bordered">
24 <thead class="thead-light">
25 <tr sorted [sortFieldEmitter]="parent.sortFieldChange" [sortOrderEmitter]="parent.sortOrderChange"
26 [toggleObserver]="parent">
27 <app-th-sorted [fieldArray]="['user_id']" contentText="users.attributes.user_id"></app-th-sorted>
28 <app-th-sorted [fieldArray]="['full_name']" contentText="users.attributes.full_name" ></app-th-sorted>
29 <app-th-sorted [fieldArray]="['email']" contentText="users.attributes.email" ></app-th-sorted>
30 <app-th-sorted [fieldArray]="['validated','user_id']">
31 <span class="fas fa-check" placement="top"
32 [ngbTooltip]="heads.validated" [attr.aria-label]="heads.validated"></span>
34 <app-th-sorted [fieldArray]="['locked','user_id']"><span class="fas fa-lock" placement="top"
35 [ngbTooltip]="heads.locked" [attr.aria-label]="heads.locked"></span></app-th-sorted>
36 <app-th-sorted [fieldArray]="['password_change_required','user_id']"><span class="fa fa-chevron-circle-right" placement="top"
37 [ngbTooltip]="heads.password_change_required" [attr.aria-label]="heads.password_change_required"></span>
39 <app-th-sorted [fieldArray]="['last_login']" contentText="users.attributes.last_login"></app-th-sorted>
40 <app-th-sorted [fieldArray]="['created']" contentText="users.attributes.created" ></app-th-sorted>
41 <app-th-sorted [fieldArray]="['last_password_change']" contentText="users.attributes.last_password_change"></app-th-sorted>
46 <tr *ngFor="let user of parent.items$ | async" [ngClass]="(user.permanent||user.readOnly)?'table-secondary':''">
47 <td><span data-toggle="tooltip" placement="left" ngbTooltip="{{user.id}}">{{user.user_id}}</span></td>
48 <td>{{user.full_name}}</td>
49 <td>{{user.email}}</td>
50 <td><span class="far" [attr.aria-valuetext]="user.validated"
51 [ngClass]="user.validated?'fa-check-circle':'fa-circle'"></span></td>
52 <td><span class="far" [attr.aria-valuetext]="user.locked"
53 [ngClass]="user.locked?'fa-check-circle':'fa-circle'"></span></td>
54 <td><span class="far" [attr.aria-valuetext]="user.password_change_required"
55 [ngClass]="user.password_change_required?'fa-check-circle':'fa-circle'"></span></td>
56 <td>{{user.timestamp_last_login | date:'yyyy-MM-ddTHH:mm:ss'}}</td>
57 <td>{{user.timestamp_account_creation | date : 'yyyy-MM-ddTHH:mm:ss'}}</td>
58 <td>{{user.timestamp_last_password_change| date : 'yyyy-MM-ddTHH:mm:ss'}}</td>
59 <td><ng-container *ngIf="!user.permanent"><a [routerLink]="['..','edit', user.user_id]" [queryParams]="{editmode:true}" ><span class="fas fa-edit"></span></a>
60 <a *ngIf="!user.permanent" [routerLink]="['..','delete',user.user_id]"><span class="fas fa-user-minus"></span></a>
67 </app-paginated-entities>