summaryrefslogtreecommitdiffstats
path: root/portal-FE-common/src/app/pages/users/users.component.html
diff options
context:
space:
mode:
Diffstat (limited to 'portal-FE-common/src/app/pages/users/users.component.html')
-rw-r--r--portal-FE-common/src/app/pages/users/users.component.html121
1 files changed, 121 insertions, 0 deletions
diff --git a/portal-FE-common/src/app/pages/users/users.component.html b/portal-FE-common/src/app/pages/users/users.component.html
new file mode 100644
index 00000000..8f01deab
--- /dev/null
+++ b/portal-FE-common/src/app/pages/users/users.component.html
@@ -0,0 +1,121 @@
+<!--
+ ============LICENSE_START==========================================
+ ONAP Portal
+ ===================================================================
+ Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ ===================================================================
+
+ Unless otherwise specified, all software contained herein is licensed
+ under the Apache License, Version 2.0 (the "License");
+ you may not use this software except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ Unless otherwise specified, all documentation contained herein is licensed
+ under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ you may not use this documentation except in compliance with the License.
+ You may obtain a copy of the License at
+
+ https://creativecommons.org/licenses/by/4.0/
+
+ Unless required by applicable law or agreed to in writing, documentation
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ ============LICENSE_END============================================
+
+
+ -->
+
+<div class="container">
+ <div class="onap-main-view-title">
+ <h1 class="heading-page">Users</h1>
+ </div>
+ <span *ngIf="showSpinner" class="onap-spinner"></span>
+ <mat-form-field>
+ <mat-label> Select Application </mat-label>
+ <mat-select [disabled]='adminApps.length === 0'>
+ <mat-option [value]="select-application" (click)="applyDropdownFilter('select-application')">Select Application
+ </mat-option>
+ <mat-option *ngFor="let app of adminApps" [value]="app.value" (click)="applyDropdownFilter(app)">
+ {{app.title}}</mat-option>
+ </mat-select>
+ </mat-form-field>
+ &nbsp;
+ <mat-form-field>
+ <input matInput type="text" (keyup)="applyFilter($event.target.value)" placeholder="Search in entire table">
+ </mat-form-field>
+ <button type="button" class="btn btn-primary" (click)="openBulkUserUploadModal()"><i
+ class="icon ion-md-cloud-upload"></i>
+ Bulk Upload</button>
+ <button type="button" class="btn btn-primary" (click)="openAddNewUserModal()"><i class="icon ion-md-person-add"></i>
+ Add </button>
+ <div class="error-text" id="div-select-app" [hidden]="!noAppSelected || adminApps.length === 0">
+ <p class="error-help">Use the 'Select application' dropdown to see users.</p>
+ </div>
+ <div class="error-text" id="div-error-no-users" [hidden]="!noUsersInApp">
+ <p>&nbsp;</p>
+ <p class="error-help">
+ No users found. Select "Add User" to add a User to the application.
+ </p>
+ </div>
+ <div class="error-text" id="div-error-app-down" [hidden]="!appsIsDown">
+ <p>&nbsp;</p>
+ <p class="error-help">
+ Failed to communicate with the application.
+ Please try again later or contact a system administrator.
+ </p>
+ </div>
+ <div class="error-text" id="div-error-403" [hidden]="!adminAppsIsNull">
+ <h1>Attention:</h1>
+ <p>&nbsp;</p>
+ <p class="error-help">It appears that you have not been added as an admin yet to an application.</p>
+ <p>&nbsp;</p>
+ <p class="error-help">Click on the Admins link to the left and check and see if you are listed as an admin for an
+ application.
+ If not, you can add yourself to the appropriate application.</p>
+ </div>
+ <table mat-table [dataSource]="adminsDataSource" matSort>
+ <!-- First Name Column -->
+ <ng-container matColumnDef="firstName">
+ <th id="col1" mat-header-cell *matHeaderCellDef mat-sort-header> First Name </th>
+ <td id="rowheader_t1_{{i}}-firstName" mat-cell *matCellDef="let element; let i = index;"> {{element.firstName}}
+ </td>
+ </ng-container>
+
+ <!-- Last Name Column -->
+ <ng-container matColumnDef="lastName">
+ <th id="col2" mat-header-cell *matHeaderCellDef mat-sort-header> Last Name </th>
+ <td id="rowheader_t1_{{i}}-lastName" mat-cell *matCellDef="let element; let i=index;"> {{element.lastName}}
+ </td>
+ </ng-container>
+
+ <!-- User ID Column -->
+ <ng-container matColumnDef="userId">
+ <th id="col3" mat-header-cell *matHeaderCellDef mat-sort-header> User ID </th>
+ <td id="rowheader_t1_{{i}}-userId" mat-cell *matCellDef="let element; let i=index;"> {{element.orgUserId}}
+ </td>
+ </ng-container>
+
+ <!-- Roles Column -->
+ <ng-container matColumnDef="roles">
+ <th id="col4" mat-header-cell *matHeaderCellDef> Roles </th>
+ <td id="rowheader_t1_{{i}}-applications" mat-cell *matCellDef="let element; let i=index;">
+ <div *ngFor="let element of element.roles; let i=index;"> {{element.name}} </div>
+ </td>
+ </ng-container>
+
+ <tr [hidden]="accountUsers.length === 0" mat-header-row *matHeaderRowDef="displayedColumns"></tr>
+ <tr mat-row *matRowDef="let row; columns: displayedColumns;" (click)="openExistingUserModal(row)"></tr>
+ </table>
+ <mat-paginator [hidden]="accountUsers.length === 0" [pageSizeOptions]="[10, 20]" showFirstLastButtons></mat-paginator>
+</div> \ No newline at end of file