intranet.vue 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <template>
  2. <LayoutContainer>
  3. <UiLoadingPanel v-if="pending" />
  4. <UiForm v-else v-model="parameters">
  5. <v-row>
  6. <v-col cols="12">
  7. <h3>{{ $t('teachers') }}</h3>
  8. <UiInputCheckbox
  9. v-model="parameters.createCourse"
  10. field="createCourse"
  11. label="allow_teachers_to_create_courses"
  12. />
  13. <UiInputCheckbox
  14. v-model="parameters.consultTeacherListing"
  15. field="consultTeacherListing"
  16. label="allow_teachers_to_consult_colleagues_informations"
  17. />
  18. <UiInputCheckbox
  19. v-model="parameters.consultPedagogicResult"
  20. field="showAdherentList"
  21. label="allow_students_to_consult_their_pedagogical_followup"
  22. />
  23. <UiInputCheckbox
  24. v-model="parameters.generateAttendanceReport"
  25. field="generateAttendanceReport"
  26. label="allow_teachers_to_generate_attendance_reports"
  27. />
  28. <h3>{{ $t('pupils-members') }}</h3>
  29. <UiInputCheckbox
  30. v-model="parameters.administrationCc"
  31. field="administrationCc"
  32. label="send_teachers_mail_reports_copy_to_administration"
  33. />
  34. <UiInputCheckbox
  35. v-model="parameters.allowMembersToChangeGivenNameAndName"
  36. field="allowMembersToChangeGivenNameAndName"
  37. label="allow_members_to_change_their_names_and_firstnames"
  38. />
  39. </v-col>
  40. </v-row>
  41. </UiForm>
  42. </LayoutContainer>
  43. </template>
  44. <script setup lang="ts">
  45. import type { AsyncData } from '#app'
  46. import Parameters from '~/models/Organization/Parameters'
  47. import { useEntityFetch } from '~/composables/data/useEntityFetch'
  48. import { useOrganizationProfileStore } from '~/stores/organizationProfile'
  49. definePageMeta({
  50. name: 'parameters_intranet_page',
  51. })
  52. const { fetch } = useEntityFetch()
  53. const organizationProfile = useOrganizationProfileStore()
  54. if (organizationProfile.parametersId === null) {
  55. throw new Error('Missing organization parameters id')
  56. }
  57. const { data: parameters, pending } = fetch(
  58. Parameters,
  59. organizationProfile.parametersId,
  60. ) as AsyncData<Parameters, Parameters | true>
  61. </script>
  62. <style scoped lang="scss"></style>