]> git.proxmox.com Git - ceph.git/blame - ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-details/rgw-user-details.component.html
import 15.2.0 Octopus source
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / ceph / rgw / rgw-user-details / rgw-user-details.component.html
CommitLineData
11fdf7f2
TL
1<tabset *ngIf="selection.hasSingleSelection">
2 <tab i18n-heading
3 heading="Details">
4 <div *ngIf="user">
5 <table class="table table-striped table-bordered">
6 <tbody>
7 <tr>
8 <td i18n
9f95a23c
TL
9 class="bold w-25">Username</td>
10 <td class="w-75">{{ user.uid }}</td>
11fdf7f2
TL
11 </tr>
12 <tr>
13 <td i18n
9f95a23c
TL
14 class="bold">Full name</td>
15 <td>{{ user.display_name }}</td>
11fdf7f2 16 </tr>
9f95a23c 17 <tr *ngIf="user.email?.length">
11fdf7f2 18 <td i18n
9f95a23c
TL
19 class="bold">Email address</td>
20 <td>{{ user.email }}</td>
11fdf7f2
TL
21 </tr>
22 <tr>
23 <td i18n
9f95a23c
TL
24 class="bold">Suspended</td>
25 <td>{{ user.suspended | booleanText }}</td>
11fdf7f2
TL
26 </tr>
27 <tr>
28 <td i18n
9f95a23c
TL
29 class="bold">System</td>
30 <td>{{ user.system === 'true' | booleanText }}</td>
11fdf7f2
TL
31 </tr>
32 <tr>
33 <td i18n
9f95a23c
TL
34 class="bold">Maximum buckets</td>
35 <td>{{ user.max_buckets | map:maxBucketsMap }}</td>
11fdf7f2
TL
36 </tr>
37 <tr *ngIf="user.subusers && user.subusers.length">
38 <td i18n
9f95a23c
TL
39 class="bold">Subusers</td>
40 <td>
11fdf7f2
TL
41 <div *ngFor="let subuser of user.subusers">
42 {{ subuser.id }} ({{ subuser.permissions }})
43 </div>
44 </td>
45 </tr>
46 <tr *ngIf="user.caps && user.caps.length">
47 <td i18n
9f95a23c
TL
48 class="bold">Capabilities</td>
49 <td>
11fdf7f2
TL
50 <div *ngFor="let cap of user.caps">
51 {{ cap.type }} ({{ cap.perm }})
52 </div>
53 </td>
54 </tr>
55 </tbody>
56 </table>
57
58 <!-- User quota -->
59 <div *ngIf="user.user_quota">
60 <legend i18n>User quota</legend>
61 <table class="table table-striped table-bordered">
62 <tbody>
63 <tr>
64 <td i18n
9f95a23c
TL
65 class="bold w-25">Enabled</td>
66 <td class="w-75">{{ user.user_quota.enabled | booleanText }}</td>
11fdf7f2
TL
67 </tr>
68 <tr>
69 <td i18n
9f95a23c
TL
70 class="bold">Maximum size</td>
71 <td *ngIf="!user.user_quota.enabled">-</td>
72 <td *ngIf="user.user_quota.enabled && user.user_quota.max_size <= -1"
73 i18n>Unlimited</td>
74 <td *ngIf="user.user_quota.enabled && user.user_quota.max_size > -1">
11fdf7f2
TL
75 {{ user.user_quota.max_size | dimlessBinary }}
76 </td>
77 </tr>
78 <tr>
79 <td i18n
9f95a23c
TL
80 class="bold">Maximum objects</td>
81 <td *ngIf="!user.user_quota.enabled">-</td>
82 <td *ngIf="user.user_quota.enabled && user.user_quota.max_objects <= -1"
83 i18n>Unlimited</td>
84 <td *ngIf="user.user_quota.enabled && user.user_quota.max_objects > -1">
11fdf7f2
TL
85 {{ user.user_quota.max_objects }}
86 </td>
87 </tr>
88 </tbody>
89 </table>
90 </div>
91
92 <!-- Bucket quota -->
93 <div *ngIf="user.bucket_quota">
94 <legend i18n>Bucket quota</legend>
95 <table class="table table-striped table-bordered">
96 <tbody>
97 <tr>
98 <td i18n
9f95a23c
TL
99 class="bold w-25">Enabled</td>
100 <td class="w-75">{{ user.bucket_quota.enabled | booleanText }}</td>
11fdf7f2
TL
101 </tr>
102 <tr>
103 <td i18n
9f95a23c
TL
104 class="bold">Maximum size</td>
105 <td *ngIf="!user.bucket_quota.enabled">-</td>
106 <td *ngIf="user.bucket_quota.enabled && user.bucket_quota.max_size <= -1"
107 i18n>Unlimited</td>
108 <td *ngIf="user.bucket_quota.enabled && user.bucket_quota.max_size > -1">
11fdf7f2
TL
109 {{ user.bucket_quota.max_size | dimlessBinary }}
110 </td>
111 </tr>
112 <tr>
113 <td i18n
9f95a23c
TL
114 class="bold">Maximum objects</td>
115 <td *ngIf="!user.bucket_quota.enabled">-</td>
116 <td *ngIf="user.bucket_quota.enabled && user.bucket_quota.max_objects <= -1"
117 i18n>Unlimited</td>
118 <td *ngIf="user.bucket_quota.enabled && user.bucket_quota.max_objects > -1">
11fdf7f2
TL
119 {{ user.bucket_quota.max_objects }}
120 </td>
121 </tr>
122 </tbody>
123 </table>
124 </div>
125 </div>
126 </tab>
127
9f95a23c
TL
128 <tab *ngIf="keys.length"
129 i18n-heading
11fdf7f2
TL
130 heading="Keys">
131 <cd-table [data]="keys"
132 [columns]="keysColumns"
133 columnMode="flex"
134 selectionType="multi"
135 forceIdentifier="true"
136 (updateSelection)="updateKeysSelection($event)">
137 <div class="table-actions">
138 <div class="btn-group"
139 dropdown>
140 <button type="button"
9f95a23c 141 class="btn btn-secondary"
11fdf7f2
TL
142 [disabled]="!keysSelection.hasSingleSelection"
143 (click)="showKeyModal()">
9f95a23c 144 <i [ngClass]="[icons.show]"></i>
11fdf7f2
TL
145 <ng-container i18n>Show</ng-container>
146 </button>
147 </div>
148 </div>
149 </cd-table>
150 </tab>
151</tabset>