intranet.vue 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <template>
  2. <NuxtLayout name="parameters">
  3. <LayoutContainer>
  4. <UiLoadingPanel v-if="pending" />
  5. <UiForm
  6. v-else
  7. :model="Parameters"
  8. :entity="parameters"
  9. >
  10. <v-row>
  11. <v-col cols="6">
  12. <UiInputCheckbox
  13. v-model="parameters.generateAttendanceReport"
  14. field="generateAttendanceReport"
  15. label="allow_teachers_to_generate_attendance_reports"
  16. />
  17. <UiInputCheckbox
  18. v-model="parameters.administrationCc"
  19. field="administrationCc"
  20. label="send_teachers_mail_reports_copy_to_administration"
  21. />
  22. <UiInputCheckbox
  23. v-model="parameters.allowMembersToChangeGivenNameAndName"
  24. field="allowMembersToChangeGivenNameAndName"
  25. label="allow_members_to_change_their_names_and_firstnames"
  26. />
  27. </v-col>
  28. <v-col cols="6">
  29. <UiInputCheckbox
  30. v-model="parameters.createCourse"
  31. field="createCourse"
  32. label="allow_teachers_to_create_courses"
  33. />
  34. <UiInputCheckbox
  35. v-model="parameters.consultTeacherListing"
  36. field="consultTeacherListing"
  37. label="allow_teachers_to_consult_colleagues_informations"
  38. />
  39. <UiInputCheckbox
  40. v-model="parameters.showAdherentList"
  41. field="showAdherentList"
  42. label="allow_students_to_consult_their_pedagogical_followup"
  43. />
  44. </v-col>
  45. </v-row>
  46. </UiForm>
  47. </LayoutContainer>
  48. </NuxtLayout>
  49. </template>
  50. <script setup lang="ts">
  51. import Parameters from "~/models/Organization/Parameters";
  52. import {useEntityFetch} from "~/composables/data/useEntityFetch";
  53. import {useOrganizationProfileStore} from "~/stores/organizationProfile";
  54. import {AsyncData} from "#app";
  55. /**
  56. * Disable the default layout, the page will use the layout defined with <NuxtLayout />
  57. * @see https://nuxt.com/docs/guide/directory-structure/layouts#overriding-a-layout-on-a-per-page-basis
  58. */
  59. definePageMeta({
  60. layout: false,
  61. });
  62. const { fetch } = useEntityFetch()
  63. const organizationProfile = useOrganizationProfileStore()
  64. if (organizationProfile.parametersId === null) {
  65. throw new Error('Missing organization parameters id')
  66. }
  67. const { data: parameters, pending } = fetch(Parameters, organizationProfile.parametersId) as AsyncData<Parameters, Parameters | true>
  68. </script>
  69. <style scoped lang="scss">
  70. </style>