attendances.vue 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <template>
  2. <LayoutContainer>
  3. <UiLoadingPanel v-if="pending" />
  4. <UiForm
  5. v-else
  6. :model="Parameters"
  7. :entity="parameters"
  8. action-position="bottom"
  9. >
  10. <v-row>
  11. <v-col cols="12">
  12. <UiInputCheckbox
  13. v-model="parameters.sendAttendanceEmail"
  14. field="sendAttendanceEmail"
  15. label="sendAttendanceEmail"
  16. />
  17. <UiInputCheckbox
  18. v-model="parameters.sendAttendanceSms"
  19. field="sendAttendanceSms"
  20. />
  21. <UiInputCheckbox
  22. v-model="parameters.notifyAdministrationAbsence"
  23. field="notifyAdministrationAbsence"
  24. />
  25. </v-col>
  26. </v-row>
  27. </UiForm>
  28. </LayoutContainer>
  29. </template>
  30. <script setup lang="ts">
  31. import Parameters from '~/models/Organization/Parameters'
  32. import { useEntityFetch } from '~/composables/data/useEntityFetch'
  33. import { useOrganizationProfileStore } from '~/stores/organizationProfile'
  34. import type { AsyncData } from '#app'
  35. const { fetch } = useEntityFetch()
  36. const organizationProfile = useOrganizationProfileStore()
  37. if (organizationProfile.parametersId === null) {
  38. throw new Error('Missing organization parameters id')
  39. }
  40. const { data: parameters, pending } = fetch(
  41. Parameters,
  42. organizationProfile.parametersId
  43. ) as AsyncData<Parameters, Parameters | true>
  44. </script>