| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <template>
- <div>
- <v-container>
- <v-row>
- <v-col cols="1">
- </v-col>
- <v-col cols="4">
- <div class="explanation">
- <div class="px-6 d-flex flex-row align-center">
- <v-icon class="theme-primary">fa fa-info</v-icon>
- </div>
- <div class="px-2">
- {{ $t('super_admin_explanation_text')}}
- </div>
- </div>
- </v-col>
- <v-col cols="1" />
- <v-col cols="6">
- <v-row>
- </v-row>
- <v-row v-if="pending">
- <UiLoadingPanel/>
- </v-row>
- <v-row v-else>
- <UiForm
- ref="form"
- :model="AdminAccess"
- :entity="adminAccess"
- class="w-100"
- action-position="bottom"
- >
- <div class="d-flex flex-row mx-4 my-6">
- <span>{{ $t('username') }} :</span> <pre> {{ adminAccess.username }}</pre>
- </div>
- <UiInputText
- field="email"
- v-model="adminAccess.email"
- :rules="rules()"
- />
- </UiForm>
- </v-row>
- </v-col>
- </v-row>
- </v-container>
- </div>
- </template>
- <script setup lang="ts">
- import { useEntityFetch } from '~/composables/data/useEntityFetch'
- import { useAccessProfileStore } from '~/stores/accessProfile'
- import AdminAccess from '~/models/Access/AdminAccess'
- import {useValidationUtils} from "~/composables/utils/useValidationUtils";
- const { fetch } = useEntityFetch()
- const accessProfile = useAccessProfileStore()
- if (accessProfile.id === null) {
- throw new Error('Missing access profile id')
- }
- const { data: adminAccess, pending } = fetch(AdminAccess, accessProfile.id)
- const i18n = useI18n()
- const validationUtils = useValidationUtils()
- const rules = () => [
- (email: string | null) =>
- (email && validationUtils.validEmail(email)) || i18n.t('email_error')
- ]
- </script>
- <style scoped lang="scss">
- .explanation {
- display: flex;
- flex-direction: row;
- padding: 60px 26px;
- text-align: justify;
- color: rgb(var(--v-theme-neutral-strong));
- .v-icon {
- background-color: rgb(var(--v-theme-primary));
- font-size: 22px;
- border-radius: 16px;
- margin: 3px;
- padding: 3px;
- height: 28px;
- width: 28px;
- }
- div:first-child {
- border-right: solid 1px rgb(var(--v-theme-primary));
- }
- }
- </style>
|