attendances.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div>
  3. <LayoutCommonSection v-if="organizationProfile.isSchool">
  4. <h4>{{ $t('alert_configuration') }}</h4>
  5. <UiFormEdition :model="Parameters" :id="organizationProfile.parametersId">
  6. <template #default="{ entity : parameters }">
  7. <div v-if="parameters">
  8. <v-row>
  9. <v-col cols="12">
  10. <UiInputCheckbox
  11. v-model="parameters.sendAttendanceEmail"
  12. field="sendAttendanceEmail"
  13. label="sendAttendanceEmail"
  14. />
  15. <UiInputCheckbox
  16. v-model="parameters.sendAttendanceSms"
  17. field="sendAttendanceSms"
  18. />
  19. <UiInputCheckbox
  20. v-model="parameters.notifyAdministrationAbsence"
  21. field="notifyAdministrationAbsence"
  22. />
  23. <UiInputNumber
  24. v-if="parameters.notifyAdministrationAbsence"
  25. v-model="parameters.numberConsecutiveAbsences"
  26. field="numberConsecutiveAbsences"
  27. :rules="getAsserts('numberConsecutiveAbsences')"
  28. />
  29. </v-col>
  30. </v-row>
  31. </div>
  32. </template>
  33. </UiFormEdition>
  34. </LayoutCommonSection>
  35. <LayoutCommonSection>
  36. <LayoutParametersEntityTable
  37. :model="AttendanceBookingReason"
  38. :title="$t('attendanceBookingReasons')"
  39. :columns-definitions="[{ property: 'reason' }]"
  40. />
  41. </LayoutCommonSection>
  42. </div>
  43. </template>
  44. <script setup lang="ts">
  45. import Parameters from '~/models/Organization/Parameters'
  46. import { useOrganizationProfileStore } from '~/stores/organizationProfile'
  47. import AttendanceBookingReason from '~/models/Booking/AttendanceBookingReason'
  48. import {getAssertUtils} from "~/services/asserts/getAssertUtils";
  49. definePageMeta({
  50. name: 'parameters_attendances_page',
  51. })
  52. const organizationProfile = useOrganizationProfileStore()
  53. if (organizationProfile.parametersId === null) {
  54. throw new Error('Missing organization parameters id')
  55. }
  56. const getAsserts = (key) => getAssertUtils(Parameters.getAsserts(), key)
  57. </script>