|
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