|
11 | 11 | <template #top>
|
12 | 12 | <v-text-field
|
13 | 13 | v-model="search"
|
14 |
| - label="Search Roles" |
| 14 | + :label="$t('roles.search')" |
15 | 15 | prepend-inner-icon="mdi-magnify"
|
16 | 16 | single-line
|
17 | 17 | hide-details
|
|
168 | 168 | :disabled="!writeUserPermission"
|
169 | 169 | >
|
170 | 170 | <v-icon>mdi-plus</v-icon>
|
171 |
| - <span class="sr-only">Create Role</span> |
| 171 | + <span class="sr-only">{{ $t('roles.actions.edit') }}</span> |
172 | 172 | </v-btn>
|
173 | 173 | </div>
|
174 | 174 |
|
175 | 175 | <!-- Dialog to edit a role -->
|
176 | 176 | <v-dialog v-model="editDialog" max-width="500px">
|
177 | 177 | <v-card>
|
178 |
| - <v-card-title>Edit Role</v-card-title> |
| 178 | + <v-card-title>{{ $t('roles.actions.edit') }}</v-card-title> |
179 | 179 | <v-card-text>
|
180 | 180 | <v-text-field v-model="editedRole.name" label="Role Name"></v-text-field>
|
181 | 181 | <v-text-field v-model="editedRole.description" label="Descrioption"></v-text-field>
|
182 | 182 | <v-table density="compact" class="mb-4">
|
183 | 183 | <tbody>
|
184 | 184 | <tr>
|
185 |
| - <td>App Permissions</td> |
| 185 | + <td>{{ $t('roles.form.permissions.apps') }} {{ $t('roles.permission') }}</td> |
186 | 186 | <td>
|
187 | 187 | <v-radio-group v-model="editedRole.permissions[0].action" inline>
|
188 | 188 | <v-radio label="none" value="none"></v-radio>
|
|
192 | 192 | </td>
|
193 | 193 | </tr>
|
194 | 194 | <tr>
|
195 |
| - <td>Pipeline Permissions</td> |
| 195 | + <td>{{ $t('roles.form.permissions.pipelines') }} {{ $t('roles.permission') }}</td> |
196 | 196 | <td>
|
197 | 197 | <v-radio-group v-model="editedRole.permissions[1].action" inline>
|
198 | 198 | <v-radio label="none" value="none"></v-radio>
|
|
202 | 202 | </td>
|
203 | 203 | </tr>
|
204 | 204 | <tr>
|
205 |
| - <td>User Permissions</td> |
| 205 | + <td>{{ $t('roles.form.permissions.accounts') }} {{ $t('roles.permission') }}</td> |
206 | 206 | <td>
|
207 | 207 | <v-radio-group v-model="editedRole.permissions[2].action" inline>
|
208 | 208 | <v-radio label="none" value="none"></v-radio>
|
|
212 | 212 | </td>
|
213 | 213 | </tr>
|
214 | 214 | <tr>
|
215 |
| - <td>Config Permissions</td> |
| 215 | + <td>{{ $t('roles.form.permissions.settings') }} {{ $t('roles.permission') }}</td> |
216 | 216 | <td>
|
217 | 217 | <v-radio-group v-model="editedRole.permissions[3].action" inline>
|
218 | 218 | <v-radio label="none" value="none"></v-radio>
|
|
222 | 222 | </td>
|
223 | 223 | </tr>
|
224 | 224 | <tr>
|
225 |
| - <td>Security Permissions</td> |
| 225 | + <td>{{ $t('roles.form.permissions.security') }} {{ $t('roles.permission') }}</td> |
226 | 226 | <td>
|
227 | 227 | <v-radio-group v-model="editedRole.permissions[4].action" inline>
|
228 | 228 | <v-radio label="none" value="none"></v-radio>
|
|
232 | 232 | </td>
|
233 | 233 | </tr>
|
234 | 234 | <tr>
|
235 |
| - <td>Token Permissions</td> |
| 235 | + <td>{{ $t('roles.form.permissions.tokens') }} {{ $t('roles.permission') }}</td> |
236 | 236 | <td>
|
237 | 237 | <v-radio-group v-model="editedRole.permissions[5].action" inline>
|
238 | 238 | <v-radio label="none" value="none"></v-radio>
|
|
242 | 242 | </td>
|
243 | 243 | </tr>
|
244 | 244 | <tr>
|
245 |
| - <td>Audit</td> |
| 245 | + <td>{{ $t('roles.form.permissions.audit') }}</td> |
246 | 246 | <td>
|
247 | 247 | <v-switch color="primary" value="ok" false-value="none" v-model="editedRole.permissions[6].action" label=""></v-switch>
|
248 | 248 | </td>
|
249 | 249 | </tr>
|
250 | 250 | <tr>
|
251 |
| - <td>Console</td> |
| 251 | + <td>{{ $t('roles.form.permissions.console') }}</td> |
252 | 252 | <td>
|
253 | 253 | <v-switch color="primary" value="ok" false-value="none" v-model="editedRole.permissions[7].action" label=""></v-switch>
|
254 | 254 | </td>
|
255 | 255 | </tr>
|
256 | 256 | <tr>
|
257 |
| - <td>Logs</td> |
| 257 | + <td>{{ $t('roles.form.permissions.logs') }}</td> |
258 | 258 | <td>
|
259 | 259 | <v-switch color="primary" value="ok" false-value="none" v-model="editedRole.permissions[8].action" label=""></v-switch>
|
260 | 260 | </td>
|
261 | 261 | </tr>
|
262 | 262 | <tr>
|
263 |
| - <td>Reboot</td> |
| 263 | + <td>{{ $t('roles.form.permissions.reboot') }}</td> |
264 | 264 | <td>
|
265 | 265 | <v-switch color="primary" value="ok" false-value="none" v-model="editedRole.permissions[9].action" label=""></v-switch>
|
266 | 266 | </td>
|
|
286 | 286 | <v-table density="compact" class="mb-4">
|
287 | 287 | <tbody>
|
288 | 288 | <tr>
|
289 |
| - <td>App Permissions</td> |
| 289 | + <td>{{ $t('roles.form.permissions.apps') }} {{ $t('roles.permission') }}</td> |
290 | 290 | <td>
|
291 | 291 | <v-radio-group v-model="newRole.permissions[0].action" inline>
|
292 | 292 | <v-radio label="none" value="none"></v-radio>
|
|
296 | 296 | </td>
|
297 | 297 | </tr>
|
298 | 298 | <tr>
|
299 |
| - <td>Pipeline Permissions</td> |
| 299 | + <td>{{ $t('roles.form.permissions.pipelines') }} {{ $t('roles.permission') }}</td> |
300 | 300 | <td>
|
301 | 301 | <v-radio-group v-model="newRole.permissions[1].action" inline>
|
302 | 302 | <v-radio label="none" value="none"></v-radio>
|
|
306 | 306 | </td>
|
307 | 307 | </tr>
|
308 | 308 | <tr>
|
309 |
| - <td>User Permissions</td> |
| 309 | + <td>{{ $t('roles.form.permissions.accounts') }} {{ $t('roles.permission') }}</td> |
310 | 310 | <td>
|
311 | 311 | <v-radio-group v-model="newRole.permissions[2].action" inline>
|
312 | 312 | <v-radio label="none" value="none"></v-radio>
|
|
316 | 316 | </td>
|
317 | 317 | </tr>
|
318 | 318 | <tr>
|
319 |
| - <td>Config Permissions</td> |
| 319 | + <td>{{ $t('roles.form.permissions.settings') }} {{ $t('roles.permission') }}</td> |
320 | 320 | <td>
|
321 | 321 | <v-radio-group v-model="newRole.permissions[3].action" inline>
|
322 | 322 | <v-radio label="none" value="none"></v-radio>
|
|
326 | 326 | </td>
|
327 | 327 | </tr>
|
328 | 328 | <tr>
|
329 |
| - <td>Security Permissions</td> |
| 329 | + <td>{{ $t('roles.form.permissions.security') }} {{ $t('roles.permission') }}</td> |
330 | 330 | <td>
|
331 | 331 | <v-radio-group v-model="newRole.permissions[4].action" inline>
|
332 | 332 | <v-radio label="none" value="none"></v-radio>
|
|
336 | 336 | </td>
|
337 | 337 | </tr>
|
338 | 338 | <tr>
|
339 |
| - <td>Token Permissions</td> |
| 339 | + <td>{{ $t('roles.form.permissions.tokens') }} {{ $t('roles.permission') }}</td> |
340 | 340 | <td>
|
341 | 341 | <v-radio-group v-model="newRole.permissions[5].action" inline>
|
342 | 342 | <v-radio label="none" value="none"></v-radio>
|
|
346 | 346 | </td>
|
347 | 347 | </tr>
|
348 | 348 | <tr>
|
349 |
| - <td>Audit</td> |
| 349 | + <td>{{ $t('roles.form.permissions.audit') }}</td> |
350 | 350 | <td>
|
351 | 351 | <v-switch color="primary" value="ok" false-value="none" v-model="newRole.permissions[6].action" label=""></v-switch>
|
352 | 352 | </td>
|
353 | 353 | </tr>
|
354 | 354 | <tr>
|
355 |
| - <td>Console</td> |
| 355 | + <td>{{ $t('roles.form.permissions.console') }}</td> |
356 | 356 | <td>
|
357 | 357 | <v-switch color="primary" value="ok" false-value="none" v-model="newRole.permissions[7].action" label=""></v-switch>
|
358 | 358 | </td>
|
359 | 359 | </tr>
|
360 | 360 | <tr>
|
361 |
| - <td>Logs</td> |
| 361 | + <td>{{ $t('roles.form.permissions.logs') }}</td> |
362 | 362 | <td>
|
363 | 363 | <v-switch color="primary" value="ok" false-value="none" v-model="newRole.permissions[8].action" label=""></v-switch>
|
364 | 364 | </td>
|
365 | 365 | </tr>
|
366 | 366 | <tr>
|
367 |
| - <td>Reboot</td> |
| 367 | + <td>{{ $t('roles.form.permissions.reboot') }}</td> |
368 | 368 | <td>
|
369 | 369 | <v-switch color="primary" value="ok" false-value="none" v-model="newRole.permissions[9].action" label=""></v-switch>
|
370 | 370 | </td>
|
|
386 | 386 | import { defineComponent, ref, onMounted } from 'vue'
|
387 | 387 | import axios from 'axios'
|
388 | 388 | import { useAuthStore } from '../../stores/auth'
|
| 389 | +import { useI18n } from 'vue-i18n' |
389 | 390 |
|
390 | 391 | export default defineComponent({
|
391 | 392 | name: 'RolesTable',
|
392 | 393 | setup() {
|
| 394 | + const { t } = useI18n() |
393 | 395 | interface Role {
|
394 | 396 | id: string | number;
|
395 | 397 | name: string;
|
@@ -426,20 +428,20 @@ export default defineComponent({
|
426 | 428 | const writeUserPermission = authStore.hasPermission('user:write')
|
427 | 429 |
|
428 | 430 | const headers = [
|
429 |
| - { title: 'Role', value: 'name' }, |
| 431 | + { title: t('roles.name'), value: 'name' }, |
430 | 432 | //{ title: 'Permissions', value: 'permissions' },
|
431 |
| - { title: 'App', value: 'permissionsApp', align: 'center' as const }, |
432 |
| - { title: 'Pipeline', value: 'permissionsPipeline', align: 'center' as const }, |
433 |
| - { title: 'Accounts', value: 'permissionsAccount', align: 'center' as const}, |
434 |
| - { title: 'Settings', value: 'permissionsConfig', align: 'center' as const}, |
435 |
| - { title: 'Security', value: 'permissionsSecurity', align: 'center' as const}, |
436 |
| - { title: 'Token', value: 'permissionsToken', align: 'center' as const}, |
437 |
| - { title: 'Audit', value: 'permissionsAudit', align: 'center' as const}, |
438 |
| - { title: 'Console', value: 'permissionsConsole', align: 'center' as const}, |
439 |
| - { title: 'Logs', value: 'permissionsLogs', align: 'center' as const}, |
440 |
| - { title: 'Reboot', value: 'permissionsReboot', align: 'center' as const}, |
| 433 | + { title: t('roles.form.permissions.apps'), value: 'permissionsApp', align: 'center' as const }, |
| 434 | + { title: t('roles.form.permissions.pipelines'), value: 'permissionsPipeline', align: 'center' as const }, |
| 435 | + { title: t('roles.form.permissions.accounts'), value: 'permissionsAccount', align: 'center' as const}, |
| 436 | + { title: t('roles.form.permissions.settings'), value: 'permissionsConfig', align: 'center' as const}, |
| 437 | + { title: t('roles.form.permissions.security'), value: 'permissionsSecurity', align: 'center' as const}, |
| 438 | + { title: t('roles.form.permissions.tokens'), value: 'permissionsToken', align: 'center' as const}, |
| 439 | + { title: t('roles.form.permissions.audit'), value: 'permissionsAudit', align: 'center' as const}, |
| 440 | + { title: t('roles.form.permissions.console'), value: 'permissionsConsole', align: 'center' as const}, |
| 441 | + { title: t('roles.form.permissions.logs'), value: 'permissionsLogs', align: 'center' as const}, |
| 442 | + { title: t('roles.form.permissions.reboot'), value: 'permissionsReboot', align: 'center' as const}, |
441 | 443 |
|
442 |
| - { title: 'Actions', value: 'actions', sortable: false, align: 'end' as const }, |
| 444 | + { title: '', value: 'actions', sortable: false, align: 'end' as const }, |
443 | 445 | ]
|
444 | 446 |
|
445 | 447 | const loadRoles = async () => {
|
|
0 commit comments