|
|
@@ -1,25 +1,48 @@
|
|
|
<template>
|
|
|
- <div>superadmin email</div>
|
|
|
-
|
|
|
<div>
|
|
|
- <LayoutContainer>
|
|
|
- <UiLoadingPanel v-if="pending" />
|
|
|
-
|
|
|
- <div v-else>
|
|
|
- <UiForm
|
|
|
- ref="form"
|
|
|
- :model="AdminAccess"
|
|
|
- :entity="adminAccess"
|
|
|
- :submitActions="submitActions"
|
|
|
- >
|
|
|
- <UiInputText
|
|
|
- field="label"
|
|
|
- v-model="adminAccess.email"
|
|
|
- :rules="rules()"
|
|
|
- />
|
|
|
- </UiForm>
|
|
|
- </div>
|
|
|
- </LayoutContainer>
|
|
|
+ <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"
|
|
|
+ >
|
|
|
+ <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>
|
|
|
|
|
|
@@ -27,6 +50,7 @@
|
|
|
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()
|
|
|
|
|
|
@@ -39,8 +63,35 @@ const { data: adminAccess, pending } = fetch(AdminAccess, accessProfile.id)
|
|
|
|
|
|
const i18n = useI18n()
|
|
|
|
|
|
+const validationUtils = useValidationUtils()
|
|
|
+
|
|
|
+
|
|
|
const rules = () => [
|
|
|
- (timing: number) =>
|
|
|
- (timing !== null && timing > 0) || i18n.t('value_need_to_be_bigger_than_0'),
|
|
|
+ (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>
|