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