attendances.vue 2.6 KB

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